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:
@@ -13,7 +13,7 @@
|
||||
**排查步骤**:
|
||||
|
||||
```bash
|
||||
# 1. 检查 OpenFang 是否运行
|
||||
# 1. 检查 ZCLAW 是否运行
|
||||
curl http://127.0.0.1:50051/api/health
|
||||
|
||||
# 2. 检查端口是否正确
|
||||
@@ -27,8 +27,8 @@ curl http://127.0.0.1:50051/api/agents
|
||||
|
||||
| 原因 | 解决方案 |
|
||||
|------|----------|
|
||||
| OpenFang 未启动 | `./openfang.exe start` |
|
||||
| 端口错误 | OpenFang 使用 50051,不是 4200 |
|
||||
| ZCLAW 未启动 | `./zclaw.exe start` |
|
||||
| 端口错误 | ZCLAW 使用 50051,不是 4200 |
|
||||
| Agent ID 无效 | 使用 `/api/agents` 获取真实 UUID |
|
||||
|
||||
### 1.2 端口被占用
|
||||
@@ -80,15 +80,15 @@ curl -s http://127.0.0.1:50051/api/status | jq '.agents[] | {name, model_provide
|
||||
|
||||
2. 配置对应的 API Key:
|
||||
```bash
|
||||
# 编辑 ~/.openfang/.env
|
||||
echo "ZHIPU_API_KEY=your_key" >> ~/.openfang/.env
|
||||
echo "BAILIAN_API_KEY=your_key" >> ~/.openfang/.env
|
||||
echo "GEMINI_API_KEY=your_key" >> ~/.openfang/.env
|
||||
# 编辑 ~/.zclaw/.env
|
||||
echo "ZHIPU_API_KEY=your_key" >> ~/.zclaw/.env
|
||||
echo "BAILIAN_API_KEY=your_key" >> ~/.zclaw/.env
|
||||
echo "GEMINI_API_KEY=your_key" >> ~/.zclaw/.env
|
||||
```
|
||||
|
||||
3. 重启 OpenFang:
|
||||
3. 重启 ZCLAW:
|
||||
```bash
|
||||
./openfang.exe restart
|
||||
./zclaw.exe restart
|
||||
```
|
||||
|
||||
**快速解决**: 使用已配置的 Agent
|
||||
@@ -101,12 +101,12 @@ echo "GEMINI_API_KEY=your_key" >> ~/.openfang/.env
|
||||
|
||||
**症状**: 修改 `config.toml` 后,`/api/config` 和 `/api/status` 仍然返回旧配置
|
||||
|
||||
**根本原因**: OpenFang 将配置持久化在 SQLite 数据库中,`config.toml` 只在启动时读取
|
||||
**根本原因**: ZCLAW 将配置持久化在 SQLite 数据库中,`config.toml` 只在启动时读取
|
||||
|
||||
**验证问题**:
|
||||
```bash
|
||||
# 检查 config.toml 内容
|
||||
cat ~/.openfang/config.toml
|
||||
cat ~/.zclaw/config.toml
|
||||
# 输出: provider = "zhipu"
|
||||
|
||||
# 检查 API 返回的配置
|
||||
@@ -115,14 +115,14 @@ curl -s http://127.0.0.1:50051/api/config
|
||||
```
|
||||
|
||||
**解决方案**:
|
||||
1. **必须完全重启 OpenFang**(热重载 `/api/config/reload` 不会更新持久化配置)
|
||||
1. **必须完全重启 ZCLAW**(热重载 `/api/config/reload` 不会更新持久化配置)
|
||||
```bash
|
||||
# 方法 1: 通过 API 关闭(然后手动重启)
|
||||
curl -X POST http://127.0.0.1:50051/api/shutdown
|
||||
|
||||
# 方法 2: 使用 CLI
|
||||
./openfang.exe stop
|
||||
./openfang.exe start
|
||||
./zclaw.exe stop
|
||||
./zclaw.exe start
|
||||
```
|
||||
|
||||
2. **验证配置已生效**:
|
||||
@@ -134,10 +134,10 @@ curl -s http://127.0.0.1:50051/api/status | grep -E "default_provider|default_mo
|
||||
**配置文件位置**:
|
||||
| 文件 | 用途 |
|
||||
|------|------|
|
||||
| `~/.openfang/config.toml` | 主配置(启动时读取) |
|
||||
| `~/.openfang/.env` | API Key 环境变量 |
|
||||
| `~/.openfang/secrets.env` | 敏感信息 |
|
||||
| `~/.openfang/data/openfang.db` | SQLite 数据库(持久化配置) |
|
||||
| `~/.zclaw/config.toml` | 主配置(启动时读取) |
|
||||
| `~/.zclaw/.env` | API Key 环境变量 |
|
||||
| `~/.zclaw/secrets.env` | 敏感信息 |
|
||||
| `~/.zclaw/data/zclaw.db` | SQLite 数据库(持久化配置) |
|
||||
|
||||
**支持的 Provider**:
|
||||
| Provider | 环境变量 | 模型示例 |
|
||||
@@ -171,9 +171,9 @@ if (agents && agents.length > 0) {
|
||||
}
|
||||
```
|
||||
|
||||
**历史背景**: 这个问题与 OpenClaw 的握手认证问题类似,但根因不同:
|
||||
- OpenClaw: 需要 `cli/cli/operator` 身份 + Ed25519 配对
|
||||
- OpenFang: 不需要认证握手,但需要正确的 Agent UUID
|
||||
**历史背景**: 这个问题与 ZCLAW 的握手认证问题类似,但根因不同:
|
||||
- ZCLAW: 需要 `cli/cli/operator` 身份 + Ed25519 配对
|
||||
- ZCLAW: 不需要认证握手,但需要正确的 Agent UUID
|
||||
|
||||
**验证修复**:
|
||||
```bash
|
||||
@@ -414,7 +414,7 @@ npm install -g wscat
|
||||
wscat -c ws://127.0.0.1:50051/api/agents/{agentId}/ws
|
||||
```
|
||||
|
||||
### 5.3 检查 OpenFang 状态
|
||||
### 5.3 检查 ZCLAW 状态
|
||||
|
||||
```bash
|
||||
# 完整状态
|
||||
@@ -436,7 +436,7 @@ curl -s http://127.0.0.1:50051/api/hands | jq '.[] | {id, name, requirements_met
|
||||
| `Port 1420 is already in use` | Vite 服务器已运行 | 终止现有进程 |
|
||||
| `Unexpected server response: 400` | Agent ID 无效 | 使用真实 UUID |
|
||||
| `Missing API key` | LLM 提供商未配置 | 配置 API Key |
|
||||
| `Connection refused` | OpenFang 未运行 | 启动服务 |
|
||||
| `Connection refused` | ZCLAW 未运行 | 启动服务 |
|
||||
| `CORS error` | 代理未配置 | 检查 vite.config.ts |
|
||||
|
||||
---
|
||||
@@ -667,7 +667,7 @@ return (
|
||||
1. **LLM 提取默认禁用**: `useLLM: false` 导致只使用规则提取
|
||||
2. **提取阈值过高**: `minMessagesForExtraction: 4` 短对话不会触发
|
||||
3. **agentId 不一致**: `MemoryPanel` 用 `'zclaw-main'`,`MemoryGraph` 用 `'default'`
|
||||
4. **Gateway 端点不存在**: `GatewayLLMAdapter` 调用 `/api/llm/complete`,OpenFang 无此端点
|
||||
4. **Gateway 端点不存在**: `GatewayLLMAdapter` 调用 `/api/llm/complete`,ZCLAW 无此端点
|
||||
|
||||
**修复方案**:
|
||||
|
||||
@@ -683,7 +683,7 @@ export const DEFAULT_EXTRACTION_CONFIG: ExtractionConfig = {
|
||||
const agentId = currentAgent?.id || 'zclaw-main'; // 从 'default' 改为 'zclaw-main'
|
||||
|
||||
// 3. 修复 Gateway 适配器端点 (llm-service.ts)
|
||||
// 使用 OpenFang 的 /api/agents/{id}/message 端点
|
||||
// 使用 ZCLAW 的 /api/agents/{id}/message 端点
|
||||
const response = await fetch(`/api/agents/${agentId}/message`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ message: fullPrompt, ... }),
|
||||
@@ -731,11 +731,11 @@ ctx.fillStyle = '#f9fafb'; // gray-50 (浅色)
|
||||
|
||||
## 8. 端口配置问题
|
||||
|
||||
### 8.1 OpenFang 端口不匹配导致 Network Error
|
||||
### 8.1 ZCLAW 端口不匹配导致 Network Error
|
||||
|
||||
**症状**: 创建 Agent 或其他 API 操作时报错 `Failed to create agent: Network Error`,控制台显示 `POST http://localhost:1420/api/agents net::ERR_CONNECTION_REFUSED`
|
||||
|
||||
**根本原因**: `runtime-manifest.json` 声明端口 4200,但实际 OpenFang 运行在 **50051** 端口
|
||||
**根本原因**: `runtime-manifest.json` 声明端口 4200,但实际 ZCLAW 运行在 **50051** 端口
|
||||
|
||||
**正确配置**:
|
||||
|
||||
@@ -1463,7 +1463,7 @@ fn default_skills_dir() -> Option<PathBuf> {
|
||||
**症状**:
|
||||
- 技能市场显示 "暂无技能" 和 "0 技能"
|
||||
- 控制台日志显示 `[skill_list] Found 0 skills`
|
||||
- 技能目录 `G:\ZClaw_openfang\skills` 存在且包含 70+ 个 SKILL.md 文件
|
||||
- 技能目录 `G:\ZClaw_zclaw\skills` 存在且包含 70+ 个 SKILL.md 文件
|
||||
|
||||
**根本原因**: 多层问题叠加
|
||||
|
||||
@@ -1537,9 +1537,9 @@ async fn load_skill_from_dir(&self, dir: &PathBuf) -> Result<()> {
|
||||
|
||||
**调试日志示例** (修复后):
|
||||
```
|
||||
[default_skills_dir] CARGO_MANIFEST_DIR: G:\ZClaw_openfang\crates\zclaw-kernel
|
||||
[default_skills_dir] Workspace skills: G:\ZClaw_openfang\skills (exists: true)
|
||||
[kernel_init] Skills directory: G:\ZClaw_openfang\skills (exists: true)
|
||||
[default_skills_dir] CARGO_MANIFEST_DIR: G:\ZClaw_zclaw\crates\zclaw-kernel
|
||||
[default_skills_dir] Workspace skills: G:\ZClaw_zclaw\skills (exists: true)
|
||||
[kernel_init] Skills directory: G:\ZClaw_zclaw\skills (exists: true)
|
||||
[skill_list] Found 77 skills
|
||||
```
|
||||
|
||||
@@ -1728,9 +1728,9 @@ curl http://localhost:50051/health
|
||||
|
||||
## 12. 相关文档
|
||||
|
||||
- [OpenFang 配置指南](./openfang-configuration.md) - 配置文件位置、格式和最佳实践
|
||||
- [ZCLAW 配置指南](./zclaw-configuration.md) - 配置文件位置、格式和最佳实践
|
||||
- [Agent 和 LLM 提供商配置](./agent-provider-config.md) - Agent 管理和 Provider 配置
|
||||
- [OpenFang WebSocket 协议](./openfang-websocket-protocol.md) - WebSocket 通信协议
|
||||
- [ZCLAW WebSocket 协议](./zclaw-websocket-protocol.md) - WebSocket 通信协议
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user