refactor: 统一项目名称从OpenFang到ZCLAW
Some checks failed
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Rust Check (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled

重构所有代码和文档中的项目名称,将OpenFang统一更新为ZCLAW。包括:
- 配置文件中的项目名称
- 代码注释和文档引用
- 环境变量和路径
- 类型定义和接口名称
- 测试用例和模拟数据

同时优化部分代码结构,移除未使用的模块,并更新相关依赖项。
This commit is contained in:
iven
2026-03-27 07:36:03 +08:00
parent 4b08804aa9
commit 0d4fa96b82
226 changed files with 7288 additions and 5788 deletions

View File

@@ -1,8 +1,8 @@
# OpenClaw 线上知识库
# ZCLAW 线上知识库
**版本**: 1.0.0
**最后更新**: 2026-03-12
**目的**: 为 ZClaw 项目提供全面、结构化的 OpenClaw 抷术参考
**目的**: 为 ZClaw 项目提供全面、结构化的 ZCLAW 抷术参考
---
@@ -26,9 +26,9 @@
## 核心概念
### OpenClaw 是什么?
### ZCLAW 是什么?
OpenClaw 是一个 **自托管的 AI Agent 硴关**,不是简单的"聊天 UI + 模型接入器"。
ZCLAW 是一个 **自托管的 AI Agent 硴关**,不是简单的"聊天 UI + 模型接入器"。
**核心定位**
- **自托管**: 运行在你自己的硬件上,你的规则
@@ -36,14 +36,14 @@ OpenClaw 是一个 **自托管的 AI Agent 硴关**,不是简单的"聊天 UI
- **Agent 原生**: 为编码 Agent 构建,支持工具调用、会话、记忆、多 Agent 路由
- **开源**: MIT 许可,社区驱动
**关键洞察** OpenClaw 的核心价值是 **执行 + 持续性 + 可控性**
**关键洞察** ZCLAW 的核心价值是 **执行 + 持续性 + 可控性**
- **执行**: 能真正读写文件、跑命令、控浏览器、发消息
- **持续性**: 不只是一次性问答,而是可长期运转的 Agent
- **可控性**: 用户能看到配置、文本指令、工作区与约束,而不是黑盒
### Agent 的真正含义
OpenClaw 中,一个 Agent 包含:
ZCLAW 中,一个 Agent 包含:
- 一个 `agentId`
- 一个独立 workspace / agentDir
- 一组 bootstrap 文件 (`AGENTS.md``SOUL.md``USER.md``IDENTITY.md`)
@@ -106,7 +106,7 @@ OpenClaw 是一个 **自托管的 AI Agent 硴关**,不是简单的"聊天 UI
### Gateway 职责
Gateway 是 OpenClaw 的真正控制面板:
Gateway 是 ZCLAW 的真正控制面板:
- WebSocket 协议握手与会话维持
- Agent 运行时管理
@@ -119,8 +119,8 @@ Gateway 是 OpenClaw 的真正控制面板:
### Workspace 结构
```
~/.openclaw/
├── openclaw.json # 主配置文件
~/.zclaw/
├── zclaw.json # 主配置文件
├── .env # 环境变量
├── workspace/ # 默认工作区
│ ├── AGENTS.md
@@ -266,8 +266,8 @@ interface AgentStreamEvent {
### 配置文件位置
```
~/.openclaw/openclaw.json # 主配置
~/.openclaw/.env # 环境变量
~/.zclaw/zclaw.json # 主配置
~/.zclaw/.env # 环境变量
```
### 配置层级与优先级
@@ -297,19 +297,19 @@ channels.<channel>.accounts.<id>.* # 账号级覆盖
```bash
# 查看配置
openclaw config get agents.defaults.workspace
zclaw config get agents.defaults.workspace
# 设置配置
openclaw config set agents.defaults.heartbeat.every "2h"
zclaw config set agents.defaults.heartbeat.every "2h"
# 删除配置
openclaw config unset tools.web.search.apiKey
zclaw config unset tools.web.search.apiKey
# 配置向导
openclaw configure
zclaw configure
# 完整设置向导
openclaw onboard
zclaw onboard
```
### 环境变量引用
@@ -318,7 +318,7 @@ openclaw onboard
{
"gateway": {
"auth": {
"token": "${OPENCLAW_GATEWAY_TOKEN}"
"token": "${ZCLAW_GATEWAY_TOKEN}"
}
},
"models": {
@@ -338,7 +338,7 @@ openclaw onboard
### Skills 加载位置与优先级
1. **Bundled skills**: 安装包自带
2. **Managed/local skills**: `~/.openclaw/skills`
2. **Managed/local skills**: `~/.zclaw/skills`
3. **Workspace skills**: `<workspace>/skills`
4. **Extra dirs**: `skills.load.extraDirs` 配置
@@ -388,7 +388,7 @@ Use {baseDir} to reference skill folder path.
### MCP 支持
OpenClaw 原生支持 MCP (Model Context Protocol):
ZCLAW 原生支持 MCP (Model Context Protocol):
- 给 Agent 扩展新的上下文来源与工具面
- 让技能可以调用标准化外部能力
- 让模型在不写死工具的情况下复用第三方协议能力
@@ -401,13 +401,13 @@ OpenClaw 原生支持 MCP (Model Context Protocol):
```
my-plugin/
├── openclaw.plugin.json # 必需: 插件清单
├── zclaw.plugin.json # 必需: 插件清单
├── index.ts # 入口文件
├── package.json
└── dist/
```
### openclaw.plugin.json
### zclaw.plugin.json
```json
{
@@ -515,11 +515,11 @@ export default function register(api: PluginAPI) {
{
"id": "home",
"default": true,
"workspace": "~/.openclaw/workspace-home"
"workspace": "~/.zclaw/workspace-home"
},
{
"id": "work",
"workspace": "~/.openclaw/workspace-work",
"workspace": "~/.zclaw/workspace-work",
"model": "anthropic/claude-opus-4-6"
}
]
@@ -640,10 +640,10 @@ Heartbeat 不是简单的 cron而是 **定期触发一个完整 Agent turn**
"allowFrom": ["+15555550123"],
"accounts": {
"personal": {
"authDir": "~/.openclaw/credentials/whatsapp/personal"
"authDir": "~/.zclaw/credentials/whatsapp/personal"
},
"biz": {
"authDir": "~/.openclaw/credentials/whatsapp/biz"
"authDir": "~/.zclaw/credentials/whatsapp/biz"
}
}
}
@@ -666,7 +666,7 @@ Heartbeat 不是简单的 cron而是 **定期触发一个完整 Agent turn**
},
"messages": {
"groupChat": {
"mentionPatterns": ["@openclaw", "小龙虾"]
"mentionPatterns": ["@zclaw", "小龙虾"]
}
}
}
@@ -680,13 +680,13 @@ Heartbeat 不是简单的 cron而是 **定期触发一个完整 Agent turn**
```bash
# 使用 CLI 而非直接编辑 JSON
openclaw config set agents.defaults.model "anthropic/claude-sonnet-4-6"
zclaw config set agents.defaults.model "anthropic/claude-sonnet-4-6"
# 验证配置
openclaw doctor
zclaw doctor
# 查看日志
openclaw logs --follow
zclaw logs --follow
```
### 2. Agent 隔离
@@ -722,7 +722,7 @@ openclaw logs --follow
### 设置页面对应关系
| ZClaw 页面 | OpenClaw 子系统 | 真实目标 |
| ZClaw 页面 | ZCLAW 子系统 | 真实目标 |
|-----------|-----------------|----------|
| 通用 | 系统级设置 | 控制连接状态、系统级行为开关 |
| 模型与 API | providers / model defaults | 管理 provider 配置、主模型与 fallback |
@@ -772,7 +772,7 @@ interface CloneConfig {
### 判断标准
> 如果一个页面改动之后,没有改变 OpenClaw Runtime 的真实行为、真实配置、真实路由、真实工作区或真实 Agent 上下文,那它大概率还只是"演示 UI",不是系统能力。
> 如果一个页面改动之后,没有改变 ZCLAW Runtime 的真实行为、真实配置、真实路由、真实工作区或真实 Agent 上下文,那它大概率还只是"演示 UI",不是系统能力。
---
@@ -787,8 +787,8 @@ interface CloneConfig {
### 已确认的排查结论
- `gateway.auth.token` 已正确从 `openclaw.json` 读取并注入桌面端连接
- Tauri 调试版实际运行的是 `target/debug/resources/openclaw-runtime`
- `gateway.auth.token` 已正确从 `zclaw.json` 读取并注入桌面端连接
- Tauri 调试版实际运行的是 `target/debug/resources/zclaw-runtime`
- Gateway WebSocket 握手客户端身份需满足当前 schema
- `client.id=cli`
- `client.mode=cli`
@@ -826,7 +826,7 @@ ZCLAW 的处理方式是:
可用命令:
```powershell
openclaw devices list --json
zclaw devices list --json
```
本案例中,`pairing required` 发生时,`devices list` 已能看到当前桌面端的 pending 请求,说明:
@@ -854,8 +854,8 @@ openclaw devices list --json
- Tauri 侧调用:
```powershell
openclaw devices list --json
openclaw devices approve <requestId> --json --token <token> --url <url>
zclaw devices list --json
zclaw devices approve <requestId> --json --token <token> --url <url>
```
- 只批准同时匹配以下条件的 pending request
@@ -866,13 +866,13 @@ openclaw devices approve <requestId> --json --token <token> --url <url>
### 后续遇到同类问题时的最短排障顺序
1. 确认当前运行的是目标 `desktop.exe`
2. 确认 `openclaw.json` 中有 `gateway.auth.token`
2. 确认 `zclaw.json` 中有 `gateway.auth.token`
3. 确认 WebView localStorage 已持久化 `zclaw_gateway_url` / `zclaw_gateway_token`
4. 把握手错误原样暴露,不要让 fallback 覆盖
5. 若报 `origin not allowed`
- 检查 `gateway.controlUi.allowedOrigins`
6. 若报 `pairing required`
- 检查 `openclaw devices list --json`
- 检查 `zclaw devices list --json`
- 看当前桌面设备是否进入 `pending`
7. 如果 pending 存在,优先做“只批准本机当前设备”的自动化,而不是直接放宽所有设备
@@ -893,7 +893,7 @@ openclaw devices approve <requestId> --json --token <token> --url <url>
- ZCLAW 桌面端此前仍按旧协议调用 `agent`
- 发送了顶层 `model`
- 没有发送必填 `idempotencyKey`
- 当前 OpenClaw runtime 的 `agent` schema 已变更为:
- 当前 ZCLAW runtime 的 `agent` schema 已变更为:
- `message` 必填
- `idempotencyKey` 必填
- `model` 不是允许的顶层字段
@@ -902,7 +902,7 @@ openclaw devices approve <requestId> --json --token <token> --url <url>
### 有效排查方法
1. 不要只看仓库里的旧 client 封装,要直接核对当前实际 runtime 的 schema
2. 如果仓库源码里搜不到新字段(如 `idempotencyKey`),优先检查打包后的 `openclaw-runtime`
2. 如果仓库源码里搜不到新字段(如 `idempotencyKey`),优先检查打包后的 `zclaw-runtime`
3. 在本案例中,真实约束来自 runtime 中的 `AgentParamsSchema`
- `message: NonEmptyString`
- `idempotencyKey: NonEmptyString`
@@ -938,21 +938,21 @@ openclaw devices approve <requestId> --json --token <token> --url <url>
### 官方文档
- [OpenClaw 官方文档](https://docs.openclaw.ai/)
- [Gateway 配置参考](https://docs.openclaw.ai/gateway/configuration)
- [Multi-Agent 路由](https://docs.openclaw.ai/concepts/multi-agent)
- [Skills 文档](https://docs.openclaw.ai/tools/skills)
- [Heartbeat 文档](https://docs.openclaw.ai/gateway/heartbeat)
- [ZCLAW 官方文档](https://docs.zclaw.ai/)
- [Gateway 配置参考](https://docs.zclaw.ai/gateway/configuration)
- [Multi-Agent 路由](https://docs.zclaw.ai/concepts/multi-agent)
- [Skills 文档](https://docs.zclaw.ai/tools/skills)
- [Heartbeat 文档](https://docs.zclaw.ai/gateway/heartbeat)
### 社区资源
- [OpenClaw 中文指南](https://yeasy.gitbook.io/openclaw_guide/)
- [awesome-openclaw-skills](https://github.com/VoltAgent/awesome-openclaw-skills)
- [OpenClaw 源码解析](https://www.ququ123.top/2026/03/openclaw-gateway-startup/)
- [ZCLAW 中文指南](https://yeasy.gitbook.io/zclaw_guide/)
- [awesome-zclaw-skills](https://github.com/VoltAgent/awesome-zclaw-skills)
- [ZCLAW 源码解析](https://www.ququ123.top/2026/03/zclaw-gateway-startup/)
### ZClaw 内部参考
- `docs/openclaw-deep-dive.md` - 深度分析
- `config/openclaw.default.json` - 默认配置
- `docs/zclaw-deep-dive.md` - 深度分析
- `config/zclaw.default.json` - 默认配置
- `plugins/zclaw-ui/index.ts` - 插件实现
- `desktop/src/lib/gateway-client.ts` - 客户端实现