后端与接口
启动/调试 Agentica Server 与本地…
在需要搭建或排障 Agentica SDK + 本地 Claude proxy + Claude CLI 的完整链路时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
启动/调试 Agentica Serve特定
解决思路
- 按架构连接链路配置:Agentica SDK(客户端代码) 通过 S_M_BASE_URL=http://localhost:2345 连接 ClientSessionManager;ClientSessionManager 连接 Agentica Server(agentica-server);Agentica Server 通过 INFERENCE_ENDPOINT_URL=http://localhost:8080/v1/chat/completions 连接 Claude Proxy(claude_proxy.py);Claude Proxy 再调用 Claude CLI(claude -p)。
- 设置环境变量 INFERENCE_ENDPOINT_URL:由人工设置,供 agentica-server 使用,指定服务器把 LLM 推理请求发送到哪里。
- 设置环境变量 S_M_BASE_URL:由人工设置,供 Agentica SDK 客户端使用,指定 SDK 连接 session manager 的位置。
- 记住两个 endpoint 不同:SDK 连接 server 的 2345 端口;server 连接 proxy 的 8080 端口。
- 必须按顺序启动,且每个组件在单独终端中运行。
- 终端 1 启动 Claude Proxy:运行 `uv run python scripts/agentica/claude_proxy.py --port 8080`。
- 终端 2 启动 Agentica Server:必须先进入其目录,运行 `cd workspace/agentica-research/agentica-server`。
- 在终端 2 继续启动 server:运行 `INFERENCE_ENDPOINT_URL=http://localhost:8080/v1/chat/completions uv run agentica-server --port 2345`。
- 终端 3 启动 Agent 脚本:运行 `S_M_BASE_URL=http://localhost:2345 uv run python scripts/agentica/your_script.py`。
- 做 Claude proxy 健康检查:运行 `curl http://localhost:8080/health`。
- 做 Agentica server 健康检查:运行 `curl http://localhost:2345/health`。
- 修复 APIConnectionError after agent spawn:如果 agent 成功 spawn 但首次调用出现连接错误,原因是 Claude proxy 返回普通 JSON 而不是 SSE 格式;修复为让 proxy 返回 Server-Sent Events 格式,即 `data: {"choices": [...]}\n\n`。
- 修复 ModuleNotFoundError for agentica-server:如果出现 `ModuleNotFoundError: No module named 'agentica_server'`,原因是从错误目录运行 `uv run agentica-server`;修复为先 `cd workspace/agentica-research/agentica-server`。
- 修复 agent 不能用 Read/Write/Edit 工具:如果 agent 要求文件内容而不是读取它们,原因是 `claude_proxy.py` 的 CLI 调用缺少 `--allowedTools`;修复为在 proxy 中传入工具权限:`claude -p ... --allowedTools Read Write Edit Bash`。
- 修复 agent 声称成功但没做任务:如果 agent 说已创建文件但文件不存在,原因是 hallucination,agent 只描述意图而未执行;修复为在 REPL_BASELINE 中添加强调的反幻觉提示:`CRITICAL: Use ACTUAL tools. Never DESCRIBE using tools.`。
- 修复 agent.call() 超时:如果调用挂起 30+ 秒后超时,原因是 Claude CLI 耗时过长或卡在循环中;修复为检查 proxy logs 中实际的 CLI 输出,必要时简化 prompt。
- 关键文件参考:`scripts/agentica/claude_proxy.py` 是带 SSE streaming 的 OpenAI 兼容 proxy;`workspace/agentica-research/agentica-server/` 是本地 agentica-server 安装;`scripts/agentica/PATTERNS.md` 是多 agent 模式文档。
- 快速验证完整栈:先 `curl http://localhost:8080/health` 验证 proxy 响应。
- 继续快速验证:`curl http://localhost:2345/health` 验证 server 响应。
- 继续快速验证:通过 proxy 测试推理:`curl http://localhost:8080/v1/chat/completions -H "Content-Type: application/json" -d '{"model":"claude","messages":[{"role":"user","content":"Say hello"}]}'`。
- 运行 agents 前检查清单:Claude proxy 正在 8080 端口运行。
- 运行 agents 前检查清单:Agentica server 正在 2345 端口运行,且是从其目录启动。
- 运行 agents 前检查清单:为客户端脚本设置 `S_M_BASE_URL`。
- 运行 agents 前检查清单:为 server 设置 `INFERENCE_ENDPOINT_URL`。
- 运行 agents 前检查清单:两个健康检查都返回 200。
适用边界 · 注意事项
- 没有 Agentica SDK、claude_proxy.py、Claude CLI 或 uv 的环境不要使用。
- 不是以本地 Claude CLI 作为推理后端的 Agentica 部署,例如直接调用 OpenAI API 或其他推理服务时不要套用。
- 未做端口/认证防护时不要在暴露到公网或生产环境直接使用本地 8080/2345 服务。