DSCC
主页 / extending / agents

编写 Agent

Agent 是一个具名的 prompt + 模型预设,主模型可以通过 Agent 工具把它作为子进程式的 worker 拉起。DSCC 从磁盘的 TOML 文件里发现 agent 定义。

发现路径

crates/commands/src/lib.rs:1265–1304discover_definition_roots 解析。按顺序搜索;同一小写名字,先命中的源胜出。

# 来源 路径
1 项目祖先目录 .codex/agents/.dscc/agents/
2 $CODEX_HOME $CODEX_HOME/agents/
3 用户 home ~/.codex/agents/~/.dscc/agents/

加载器:commands/lib.rs:1418–1459load_agents_from_roots。用 parse_toml_string 解析;文件名的 stem 作为默认 name。

文件格式

TOML,一文件一 agent。

字段 必填 类型 用途
name 否(默认取文件名 stem) string 显示名
description string 一行描述
model string 模型 id
model_reasoning_effort string 推理预算提示

最小示例

.dscc/agents/verify-branch.toml

name = "verify-the-branch"
description = "Verify that the current branch builds, tests, and lints cleanly"
model = "claude-sonnet-4-6"

列出与覆盖

方式 内容
/agents(斜杠) 列出全部已发现 agent
dscc agents(CLI) CLI 中的同一列表

同一小写名字两源冲突时,先命中者胜出;后者记录在胜出条目的 shadowed_by 中。

子 agent 类型

来自 tools.rs:1687–1766。模型调用 Agent 工具时用 subagent_type 指定。每种类型自带工具白名单。

类型 典型用途
Explore 只读的代码库侦查
Plan 起草执行计划
Verification 完成后运行检查
dscc-guide 回答 DSCC 自身的问题
statusline-setup 配置状态栏
general-purpose(默认) 通用任务

调用

模型调用 Agent 工具(tools.rs:394–406),传 subagent_typeprompt。后台线程在 DangerFullAccess 权限下执行子 agent。

运行产物

每次运行都会在 .dscc-agents/agent-<timestamp>.json / .md 写入一对 JSON + Markdown(tools.rs:408–423)。JSON 含 agentIdnamesubagentTypemodelstatuscreatedAtcompletedAtoutputFilemanifestFileerror。由运行时写入,不要手改。

添加一个新 agent

  1. .dscc/agents/myagent.toml 至少填 description(参考上面示例)。
  2. DSCC 里运行 /agents 确认已出现。# [交互](REPL 斜杠命令;等价的 dscc agents CLI 子命令可脚本化、无需标记。)
  3. 模型即可通过 Agent 工具请求它。

另见