SONUB
ZH English 한국어 日本語 中文 हिन्दी বাংলা اردو Español Português Français Deutsch Русский العربية Bahasa Indonesia Tiếng Việt ไทย Türkçe

如何开启通知

此浏览器或网址无法使用通知。请使用支持通知的浏览器,通过安全连接访问SONUB。

如果通知被屏蔽,请在浏览器设置中允许通知。

  1. 打开地址栏旁的站点设置或浏览器的站点设置,将此网站的通知设为允许。
  2. 在设备设置中允许浏览器发送通知,并检查勿扰模式或专注模式。
  3. 返回SONUB并刷新页面。通知开启后,铃铛将不再显示。

在iPhone或iPad上,将SONUB添加到主屏幕,从主屏幕打开后允许通知。

管理员 登录 显示主题 默认主题 深色主题 粉色主题 聊天 1:1 聊天 群聊 论坛 公告 新闻区 建议区 自我介绍 主菜单 退出登录

Codex — OpenAI 的编程智能体

用和让 适合你的工作方式,用 把它放进脚本,用 连接外部工具,用技能教它重复的工作,再用强制执行必须遵守的规则。

config.toml 和配置档 — 让它适合你的工作方式

)

的设置保存在 ~/.codex/ 里。以前每次都要加的选项,写在这里就成了默认值。因工作而异的设置放进文件。

  • · model_reasoning_effort — 使用的模型和思考的深度
  • · sandbox_mode — 和(进阶里讲过的值)
  • 配置档是一个 ~/.codex/<名称>.config.toml 文件。用 codex -p <名称> 选择,它的值会叠加在基础设置之上(旧的 [profiles.x] 表已不再读取)。不要把它和配置档混淆:权限配置档是设置文件和权限的 Beta 方式,不能和 sandbox_mode 混用。
  • -c key=value 只在这次运行中更改某项设置(比如 -c sandbox_workspace_write.network_access=true)。
  • 同一个设置出现在多个地方时,最强的那个生效。从强到弱:参数和 --config、项目的 .codex/config.toml(最近的文件夹优先,仅限受信任的项目)、--profile 文件、~/.codex/config.toml、端管理的默认值、/etc/codex/config.toml,最后是内置默认值。
  • web_search 选择 Codex 如何搜索:cached、indexed、live(和 --search 相同)或 disabled。
  • shell_environment_policy 设置哪些会传给 Codex 运行的(inherit = "none" 或 "core" 传得更少)。[features] 打开或关闭可选功能。CODEX_HOME 把设置文件夹从 ~/.codex 移到别处,而且该文件夹必须已经存在。
  • 在 上,mxc 是兼容设备上推荐的沙箱;elevated 和 unelevated 是旧的备用方案。独立的 CLI 请在 [features] 下设置 prefer_mxc = true。
~/.codex/config.toml
model_reasoning_effort = "high"
approval_policy = "on-request"
sandbox_mode = "workspace-write"
web_search = "cached"
~/.codex/review.config.toml
# a profile: codex -p review
model_reasoning_effort = "xhigh"
sandbox_mode = "read-only"
codex -p review
codex -c sandbox_workspace_write.network_access=true

项目里的 .codex/config.toml 只保存该项目的设置 — 只有在你标记为受信任的项目里才会被读取。

codex exec — 不用聊天界面的自动化

)

"…" 不打开聊天界面完成一次工作后退出。进度输出到 ,最终回答输出到 stdout,所以很适合放进、 和 。

  • 默认是 。加上 --sandbox workspace-write 才能让它编辑文件。
  • --json 以 (JSONL)发送进度,-o <文件> 把最终回答保存到文件,--output-schema <文件> 得到符合 的回答。
  • 不带提示运行时,标准输入就成为提示;带着提示再用管道传入输入时,输入会附加在后面。
  • 在 之外需要 --skip-git-repo-check。codex exec resume --last 继续上一次运行。
  • schema.json 决定最终答案的格式。加上 --output-schema schema.json,答案就会以带有 summary 和 files 的 返回。如果缺少 "additionalProperties": false,运行会以 1 和 "Invalid " 错误停止,所以补上它再运行一次。
Terminal
# Ask once, print the answer (read-only by default)
codex exec "Summarize what changed in the last 5 commits"

# Allow edits inside this folder
codex exec --sandbox workspace-write "Fix the failing test in tests/cart.test.ts"

# Pipe input in
cat error.log | codex exec "Find the cause"

# For scripts: JSON events, the final answer in a file, a JSON Schema answer
codex exec --json "List the TODOs in src/" > events.jsonl
codex exec -o notes.md "Write release notes for this week"
codex exec --output-schema schema.json "Rate the test coverage of each file"

# Continue the last run
codex exec resume --last "Now add tests for it"
schema.json
{
  "type": "object",
  "properties": {
    "summary": { "type": "string" },
    "files": { "type": "array", "items": { "type": "string" } }
  },
  "required": ["summary", "files"],
  "additionalProperties": false
}

在 CI 里,只把 CODEX_API_KEY 传给运行 Codex 的那一步,这样其他步骤的脚本就看不到。

MCP — 连接外部工具

)

(Model Context Protocol)是让 工具使用外部服务(问题跟踪、、、文档工具)的。给 Codex 添加一个 ,它就能使用该的工具 — 用的服务器也可以直接使用。

  • codex mcp add <名称> -- <命令> — 添加在你电脑上运行的服务器(stdio)。
  • codex mcp add <名称> --url <> — 添加远程服务器()。
  • 添加的服务器保存在 config.toml 的 [mcp_servers.<名称>] 表里。对话中,/mcp 会显示它们的状态。
Terminal
# A server that runs on your computer (stdio)
codex mcp add playwright -- npx @playwright/mcp@latest

# A remote server (streamable HTTP)
codex mcp add notion --url https://mcp.notion.com/mcp

codex mcp list
~/.codex/config.toml
[mcp_servers.playwright]
command = "npx"
args = ["@playwright/mcp@latest"]
tool_timeout_sec = 60

智能体技能 — 教它你重复做的工作

)

技能就是一个装有 的文件夹 — 和 Claude Code 是同样的开放格式。平时 Codex 只知道每个技能的名称和说明;当工作符合说明时,它才会读取正文并照着做。以前的自定义提示(~/.codex/)现在应该改成技能。

  • .agents/skills/<名称>/SKILL.md 用于这个仓库,~/.agents/skills/ 用于你的所有项目。
  • 用 $<技能名称> 直接,或用 /skills 从列表中选择。当说明符合时,它也会自己使用。
  • 写好 name 和 description,把脚本和参考文档放在 scripts/ 和 references/ 里。
  • 向内置的 提出请求,它会帮你做一个新技能。
.agents/skills/release-notes/SKILL.md
---
name: release-notes
description: Write release notes from the git log. Use when the user asks for release notes or a changelog.
---

1. Find the last tag: `git describe --tags --abbrev=0`
2. Read the commits since then: `git log <tag>..HEAD --oneline`
3. Group them under Added / Fixed / Changed, in plain sentences.

钩子 — 在设定的时机必定运行的命令

)

是 Codex 在设定的时机运行的命令。 里的请求可能会被忘记,但钩子每次到那个时机都会运行。可以用钩子运行、挡住危险命令,以及在工作完成时收到通知。请把它们当作有用的护栏,而不是完整的强制边界:网页搜索等工具不经过钩子,其他一些工具也可能跳过它们。

  • 放在 ~/.codex/hooks.json(你自己)或仓库里的 .codex/hooks.json(项目),也可以在 config.toml 里写内联的 [hooks] 表。每个地方只用一种形式。
  • 把它们挂到这些时机上: 和 (使用工具前后)、(你发送请求时)、Stop(它回答完毕时)和 SessionStart(会话开始时)。
  • 选择工具。退出码 2 的效果取决于时机:在 PreToolUse 上,它会在工具运行之前阻止工具;在 PostToolUse 上,工具已经运行过了,所以 stderr 里的原因只会作为反馈传给 Codex,改动依然保留。
  • 如果只需要通知,在 config.toml 的 notify 里放一个 — 每轮结束时它都会带着一个 JSON 参数运行。
  • Codex 用 apply_patch 编辑文件(匹配为 Write 或 Edit),但也可能用 命令写文件,所以格式化工具钩子的 matcher 里也要加上 。钩子的输入以 JSON 形式从 stdin 传入。
.codex/hooks.json
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Bash|Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "sh .codex/hooks/format.sh",
            "statusMessage": "Formatting changed files"
          }
        ]
      }
    ]
  }
}
.codex/hooks/format.sh
#!/bin/sh
# Codex sends the hook input as JSON on stdin; this formatter does not need it.
cat > /dev/null
git status --porcelain --untracked-files=all | cut -c4- \
  | grep -E '\.(js|ts|css|html|json|md)$' | grep -v '^\.codex/' \
  | xargs -r npx --yes prettier --write >&2

新的钩子要在 /hooks 里标记为受信任后才会运行。别人写的钩子,要先读懂它的命令再信任。

各部分如何配合

)

Codex 给你几个地方来存放规则和重复的工作。每个地方做的事不同,所以把每样东西放进为它准备的地方。

  • AGENTS.md — 长期有效的指令,决定 Codex 在这个项目里怎么工作。
  • — 之前工作中有用的,Codex 会带着继续往前。
  • 技能 — 打包好的可重复流程,遇到那类工作时 Codex 就能照着做。
  • 插件 — 可安装的形式。先写一个技能,想分享时再把它打包成插件。
  • 钩子和 MCP — 钩子在设定的时机运行你的命令,MCP 把 Codex 连接到本地工作区之外的系统。
  • — 接手委派工作(比如一次审查)的帮手,让主对话保持专注。
  • 组合起来的例子:AGENTS.md 规定完成前运行 test,记忆会想起你正在修改哪个文件,技能负责写,MCP 从你的任务跟踪工具读取问题,reviewer 子智能体检查改动。

必须遵守的规则放在 AGENTS.md 或已提交的文档里。记忆是有帮助的回想层,但不是必须遵守的规则的唯一来源。

高级练习

)
  1. 在 ~/.codex/config.toml 里写上默认的审批和沙箱,做一个只读的审查配置档(review.config.toml),并用 codex -p review 使用它。
  2. 写一个脚本,用 codex exec -o 把这周的提交总结到一个文件里。
  3. 添加一个 MCP 服务器,用 /mcp 检查。
  4. 把一件常做的工作做成 .agents/skills/ 里的技能,并用 $name 调用。它应该会出现在 /skills 里。如果没有,检查文件夹和 SKILL.md 里的 name,然后重启 Codex。
  5. 把钩子那一段里的两个文件照着建好( 需要 ),在 /hooks 里把钩子标记为受信任,然后让 Codex 创建一个空格乱七八糟的 demo.js。文件出来时应该已经被整理好。如果格式化工具失败,钩子会显示为失败,而 Codex 会继续工作,所以要查看钩子状态,不要假定它运行过了。

五项都做完了?进入 [大师] 标签。

官方文档

已于 2026-11-02 对照官方文档核实。这些工具变化很快 — 如果命令不起作用,请查看官方文档。

术语词典

选一个你不认识的词吧,可以看到简单的解释和相关术语。

还没有匹配的术语。

选择一个术语即可查看解释。

阅读窗口