- cloud/mcp_server.py:stdio MCP 服务,把云端任务 REST 翻成 tools/list / tools/call(health、list_projects、list_tasks、 get_task、create_task、cancel_task、get_task_cost、 get_task_trace),底层只走已有 REST,不另开任务逻辑; 鉴权只认调用方自己的 CODEX_CLOUD_API_KEY(缺了启动失败, 绝不打印),服务端权限 403 原样透传;create_task 只传已知 字段,未知字段丢弃;REST 报错时 isError=true。 单测 test_mcp_server 9 项(假 transport,不联网、不碰真 key)。 - 上游对齐 #80 的可合部分:config.example.toml 加 [features] daemon_auto_start = false(防 managed daemon 绕过 版本 pin)+ docs/upstream-164-alignment.md 对齐表;换稳定版 二进制是另一次主机侧部署动作,本批不做、不谎称已升级。
42 lines
2.1 KiB
TOML
42 lines
2.1 KiB
TOML
# Codex app-server 配置示例 —— 复制到 ~/.codex/config.toml 再按需改。
|
||
# 这里只放开源侧通用的项;你自己的登录/provider/密钥不要写进仓库。
|
||
# 完整字段以 `codex app-server generate-json-schema` 导出的协议为准。
|
||
|
||
# 模型:不填则用 codex 默认推荐模型;想换模型改这一行。
|
||
# model = "gpt-5.x"
|
||
|
||
# 沙箱 + 审批:自动化默认收紧,交互使用时再放宽。
|
||
# sandbox_mode 可选 read-only / workspace-write / danger-full-access
|
||
# approval_policy 可选 untrusted / on-request / never
|
||
sandbox_mode = "workspace-write"
|
||
approval_policy = "on-request"
|
||
|
||
# 子代理:本版里 multi_agent 已是 stable,默认开启。
|
||
# 想要主 agent 派生 worker/explorer 并行跑,不用额外开关,
|
||
# 在 prompt 里明确说“用 N 个子代理并行做 …,最后汇总”即可。
|
||
# [features]
|
||
# multi_agent = true
|
||
|
||
# 宿主托管的 app-server 必须关掉上游的常驻后台服务自更新:
|
||
# 自 0.157 起交互式 codex 默认启动 managed daemon(daemon_auto_start
|
||
# 默认 true),它会把整包拷到 ~/.codex/packages/app-server-daemon/、
|
||
# 5 分钟后首次检查、之后每小时检查更新并重启服务——这会绕过宿主
|
||
# 对 codex 二进制版本的显式 pin,甚至在回合进行中中断任务。
|
||
# 本项目由 start.sh / worker 显式拉起 app-server,不走 managed daemon,
|
||
# 所以这里必须显式关掉;只在你手动想用交互式 daemon 时再打开。
|
||
[features]
|
||
daemon_auto_start = false
|
||
|
||
# MCP:给 agent 接外部工具(数据库、内部 API 等),按需取消注释。
|
||
# [mcp_servers.my-tool]
|
||
# command = "npx"
|
||
# args = ["-y", "my-mcp-server"]
|
||
# startup_timeout_sec = 30
|
||
# 注意:MCP 工具同样走上面同一套沙箱/审批,不会绕过。
|
||
|
||
# Skills / 插件:放 ~/.codex/skills 或用 `codex plugin` 管理,
|
||
# app-server 会在 thread 里按需加载,不用在代码里硬编码。
|
||
|
||
# 项目指令:每个仓库根放 AGENTS.md,thread 启动时自动合并读取,
|
||
# 依次是 ~/.codex/AGENTS.md、仓库根、当前子目录,越往下优先级越高。
|