Setup Proxy 是一个 Agent 接入配置向导,用于帮助用户将 AI Agent 客户端接入 Memory Proxy。
用途 Memory Proxy 是一个 LLM 请求代理,在请求转发到上游 LLM 之前注入团队记忆、技能与知识。本向导负责引导用户完成代理配置的全流程,并确保每一步验证通过后再进入下一步。
支持的客户端与协议 不同 agent 客户端有不同的配置文件与协议:
- claude-code:配置文件 ~/.claude/settings.json,Anthropic Messages 协议,需在 env 字段里写 5 个模型变量。
- codebuddy:配置文件 ~/.codebuddy/models.json,OpenAI Chat 协议,向 models 数组追加条目。
- codex:配置文件 ~/.codex/config.toml,OpenAI Responses 协议,TOML 格式,必须 wire_api = "responses"。
- workbuddy:配置文件 ~/.workbuddy/models.json,OpenAI Chat / Responses 协议,顶层数组。
- dsh:配置文件 ~/.dsh/settings.yaml 与 ~/.dsh/.credentials.yaml,OpenAI Chat 协议,URL 不带 /v1,需要两个文件加 chmod 700/600。
- hermes:配置文件 ~/.hermes/config.yaml,OpenAI Chat 协议,需要 header 预选(x-team-id / agent-id / task-id)。
- openclaw:配置文件 ~/.openclaw/openclaw.json,OpenAI Chat 协议,需要 header 预选加 allowPrivateNetwork。
执行流程
- 扫描现有配置:检查用户是否已有 proxy 配置,若检测到含 proxy 路径的 URL,提取 Proxy 地址、Instance ID、User Key(脱敏显示首尾 4 字符)与 Model ID,询问用户是否复用。
- 收集基础信息:依次获取 Proxy 地址(含协议+端口)、Instance ID(默认 default)、User Key(从面板 API Key 页获取),每次只问一个。
- 选择 Agent:从 7 个客户端中选择一个。
- 填写模型 ID:必须是 Proxy 上游支持的模型,例如 claude-sonnet-4-20250514、claude-opus-4.7、gpt-5.5、deepseek-r1。
- 健康探测:按所选 agent 协议构造对应 curl 请求进行验证。HTTP 000 表示 proxy 不可达需检查地址/端口/服务;2xx 完全正常;4xx 表示可达但业务错误,展示响应体;5xx 表示 proxy 有问题,展示完整错误并询问是否继续。
- Header 预选(仅 Hermes / OpenClaw):通过面板 API 拉取 Team / Agent / Task 列表让用户选择(默认面板地址 http://127.0.0.1:8125),若面板不可达则手动填写 team_id / agent_id / task_id,并提供 x-conversation-id。
- 确认配置文件路径:告知默认路径并询问是否使用。
- 调用脚本写入配置:使用 agents/skills/setup-proxy/setup-proxy.sh 的非交互模式,传入 proxy-host、instance-id、user-key、agent、model、config-path 等参数。
- 验证写入结果:读取配置文件确认关键字段。 9.5. 提醒用户切换模型:不同客户端切换方式不同,若不切换,请求不会经过 Proxy,记忆/技能注入不会生效。
- 资产导入(可选):可将该 Agent 的本地资产(skill 与对话历史)导入团队记忆,调用 tsx agents/asset-import.ts。
适用场景 适用于需要将上述 7 种 AI Agent 客户端接入 Memory Proxy,以实现团队记忆/技能/知识注入的场景。
限制与注意事项
- 一次只配一个 agent,配完后可再次运行配置其他 agent。
- 脚本会自动备份原配置文件为 .bak.<timestamp>。
- Claude Code 的所有模型环境变量(HAIKU/SONNET/OPUS/SUBAGENT)会统一设置为用户选的模型。
- Codex 首次对话前必须切换 Plan 模式(Shift+Tab),这是客户端限制。
- dsh 的 URL 不带 /v1,这是客户端硬编码的。
- Hermes/OpenClaw 的 x-conversation-id 每次新对话需要手动更换。
- 若 tsx 不可用,需提示用户手动运行命令。
- 错误处理原则:连接失败需明确指出失败步骤并给出排查建议;4xx 展示完整响应体;写入前检查目录是否存在/可写,dsh 需要 chmod;信息不足时询问而非假设。