配置与扩展:有效设置和能力装配
分析配置来源、指南指令与外部工具怎样进入当前步骤。
学完你能做到
- 区分设置、任务指南与外部服务
- 理解配置层与项目指令的作用范围
- 沿源码核对指南元数据和连接入口
本课目录 · 3 节
配置:先解析,再合并与约束
config.toml 使用 。load_config_layers_state 接收工作目录、命令行覆盖和加载选项,构造配置层。这个版本还存在打包默认值、用户与项目设置以及托管要求等来源。
不要简单套用“最后一个文件永远获胜”:项目是否受信任、哪些层被忽略、管理要求是否约束某字段,都可能影响有效值。排查时需要同时看来源、合并过程和要求层,而不是只看一个键写了什么。
项目约定与按需指南
用于项目工作约定。本版本的发现逻辑从项目根走到当前目录,按顺序组合;默认根标记包括 .git,也支持配置。源码明确不会越过项目根,且包含信任和字节预算检查。
则是按需应用的任务指南。SKILL.md 顶部包含 元数据;解析器检查名称和说明,说明缺失会返回错误。内嵌系统指南有缓存安装逻辑,但发现与载入指南并不自动执行其中的每条脚本。
---
name: explain-test-entry
description: 解释当前项目的测试入口,给出文件定位和最小验证命令。
---
先读取项目约定与构建配置。
列出实际找到的入口,说明证据与尚未确认的部分。
只在用户要求执行时运行对应检查。上面是本课程原创的指南内容示例,不是自动安装脚本。你可以先在临时项目里观察它的发现与选择流程,再对照源码确认当前版本的加载位置。
外部能力的连接
提供工具和资源交互的协议。codex-mcp 库导出连接管理、目录、绑定与运行状态等能力,核心再把可用工具纳入本步工具计划。外部服务已配置,不代表已认证、连接成功、工具可见或本次操作获准。
与 可以协作:指南解释工作方法,外部工具提供实际数据或操作。二者都不应被当作本身的内置知识。插件还可以组合这些资源;特定来源的认证与权限仍要独立核对。
沿着源码读
以下定位均锁定本课程版本。先读注释与分支,再深入类型定义。
- 配置层加载入口
codex-rs/config/src/loader/mod.rs:146–205 - 合并与要求层模块
codex-rs/config/src/lib.rs:1–48 - 项目约定发现范围
codex-rs/core/src/agents_md.rs:1–19 - 指南元数据解析与校验
codex-rs/skills/src/parser.rs:22–95 - 内嵌系统指南缓存
codex-rs/skills/src/lib.rs:60–100 - MCP 的真实库入口
codex-rs/codex-mcp/src/lib.rs:1–56 - 本步工具计划读取 MCP 工具
codex-rs/core/src/session/turn.rs:1790–1810
实现推演
把“选择”“项目测试规范”“查询外部问题追踪器”分别归入运行设置、任务指南或连接能力。再说明哪一项需要真实执行实现。
阅读练习无需模型账号。示例命令请先确认目录与环境。
自测与边界检查
在 SKILL.md 写“允许访问任何目录”,是否就能扩大权限?
展开自测答案
不能。指南是输入指令,不改变执行器的文件系统策略或授权规则。
配置了 服务但没有工具出现,检查什么?
展开自测答案
分别检查配置是否有效、服务身份和认证、连接启动、工具目录与暴露计划、要求与权限。不能跳过这些环节直接认为没有学会工具。