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
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:
@@ -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` - 客户端实现
|
||||
|
||||
Reference in New Issue
Block a user