/config 中关掉 “Dynamic workflows” 开关。agent() 调用,每次调用都派出一个独立的子代理工作;脚本拿到中间结果后,可以分支、可以并行、可以再投递给下一批子代理。/deep-research | 子代理 | Skills | Agent Teams | Workflows |
本质 | CodeBuddy 派出去的工人 | CodeBuddy 遵循的指令 | 一个领导监管一组同侪会话 | 运行时执行的一段脚本 |
谁决定下一步做什么 | CodeBuddy,逐轮决策 | CodeBuddy,按提示执行 | 领导代理,逐轮决策 | 脚本 |
中间结果存在哪 | CodeBuddy 的上下文窗口 | CodeBuddy 的上下文窗口 | 共享任务列表 | 脚本变量 |
可重复的是什么 | 工人定义 | 指令本身 | 团队定义 | 编排过程本身 |
规模 | 每轮少量委派 | 同子代理 | 几位长任务的同侪 | 单次运行数十到数百个代理 |
中断 | 重新开一轮 | 重新开一轮 | 队友继续跑 | 在同一会话内可恢复 |
/deep-research,这是 CodeBuddy Code 内置的“多源交叉印证研究”工作流。会话里您会看到代理在后台分阶段推进,跑完后只拿到一份合成报告,而不是一长串逐轮对话。/deep-research。它会从多个角度并行搜索、抓取并交叉印证来源,最终合成一份带引用的报告。/deep-research 主流前端 monorepo 工具(Turborepo / Nx / Lerna)近一年在远端缓存与任务图上的演进对比
/workflows 打开 Workflows 视图,方向键选中本次 run,回车进入进度页:/workflows
命令 | 作用 |
/deep-research <问题> | 多角度并行搜索、抓取并交叉印证来源,对每条主张投票,剔除未通过印证的部分,输出一份带引用的报告。需要 WebSearch 工具 可用。 |
/ 自动补全里与内置 Workflow 一同出现。/workflows 都能列出活跃 / 已完成的 run,选中后进入进度视图。/workflows
按键 | 作用 |
↑ / ↓ | 选中阶段或代理 |
Enter 或 → | 下钻到所选阶段,再下钻到代理可读其提示、最近的工具调用与最终结果 |
Esc | 回退一级 |
j / k | 在代理详情溢出时滚动 |
p | 暂停或恢复运行 |
x | 中止所选代理;焦点在 run 上时中止整个 Workflow |
r | 重启所选的运行中代理 |
s | 把当前 run 的脚本保存为命令 |
ultracode,CodeBuddy 会为这个任务写一份。/effort ultracode 把 effort 等级设到 ultracode,会话里的每一个有分量的任务 CodeBuddy 都会先规划成 Workflow。/deep-research,或您保存过的。ultracode。用自然语言说“用一个 workflow 跑这个”或者 “use a workflow”,效果一样:CodeBuddy 把直接请求当作同等的显式 opt-in。ultracode:扫描 packages/ 下所有 domain,找出哪些 Facade / CloudRepo 方法缺单测,按风险排序
Option+W、Windows / Linux 的 Alt+W 取消本次提示的高亮;或者光标停在关键词后面按 Backspace 删掉它即可。要彻底关闭关键词触发,到 /config 关掉 “Ultracode keyword trigger”。xhigh,并叠加自动 Workflow 编排。开启后,CodeBuddy 会主动判断哪些任务值得走 Workflow,不必您每次提醒。/effort ultracode
/effort high 回退即可。它仅在支持 xhigh 推理强度 的模型上可用;不支持的模型上 /effort 菜单不会展示该选项。Esc)权限模式 | 何时询问 |
Default、Accept edits、Auto | 每次都询问;除非您在当前会话里选过 Yes, and don't ask again this session。ultracode 开启时整个询问被跳过 |
Bypass permissions、 codebuddy -p、Agent SDK | 永不询问,运行直接开始 |
codebuddy -p 与 Agent SDK 没有人机交互入口,工具调用按您配置的权限规则执行,没有交互式确认。/workflows 选中要保留的 run,按 s,在保存对话里 Tab 切换两个保存位置:.codebuddy/workflows/:随仓库分发,团队所有人都看得到~/.codebuddy/workflows/:在所有项目都可用,仅您可见/<name> 调用。args 接收输入。脚本里它是一个名为 args 的全局变量。这样不必每次改脚本就能传研究问题、目标路径列表、配置对象等。用 /review-branch 把 feat/skills-center 最近 20 条 commit 各自跑一遍架构评审
args 用数组 / 对象方法,无需自己解析。如果调用方没传 args,脚本里 args 是 undefined。~/.codebuddy/projects/<session>/)下的一个文件里。CodeBuddy 在 run 启动时拿到该路径,所以您可以问它“脚本在哪”。打开它可以读 CodeBuddy 写的编排逻辑、和上一次 run 做 diff、或者编辑后让 CodeBuddy 用编辑后的版本重新启动。约束 | 原因 |
运行中不接受用户输入 | 唯一能让 run 暂停的是代理的权限询问。若需要阶段间签字确认,把每个阶段拆成独立 Workflow |
Workflow 自身没有直接的文件系统 / Shell 访问能力 | 文件读写、执行命令一律由代理完成;脚本只负责协调代理 |
同时最多 16 个并发代理(CPU 核数少的机器上更少) | 限制本地资源消耗 |
单次 run 最多 1000 个代理 | 防止脚本失控的循环 |
Date.now()、new Date()、performance.now()Math.random()codeGeneration.strings)require / process / __dirname / Bufferagent() 让子代理拉取真实信息(搜索、读文件、调 API),把不确定性“装进”代理的结果里。全局 | 作用 |
agent(prompt, options?) | 派一个子代理执行 prompt;返回它的结果。options 可指定 tools / maxTurns / schema(结构化输出)/ model 等 |
parallel(items, options?) | 对 items 并行 fan-out,等同于 Promise.all,但受 16 个并发上限约束 |
pipeline(items, options?) | 顺序串联,前一段的结果传给下一段;任一段失败时其余段返回 null |
phase(name, body) | 把一段编排标注成一个阶段,进度视图里会按阶段聚合显示。 body 可以是同步或异步函数 |
log(...) | 写一条带时间戳的日志,会出现在进度视图的 Run log 里 |
args | 调用方传入的参数(见 给已保存的 Workflow 传参) |
workflow(name, args?) | 嵌套调用一个已保存的 Workflow(仅父级可调用,子级不再暴露此 hook,禁止深度嵌套) |
/workflows 视图管理;也可以展开输入框下方任务面板里的进度行。/workflows 选中已暂停的 run 按 p 恢复;也可以让 CodeBuddy 用同一脚本重启 run。/workflows 视图里每个代理的 Token 用量实时可见,随时可以 x 中止 run 而不丢已完成的结果。运行时的代理上限也限制了一次 run 能消耗的最大代价,避免脚本写错时跑飞。/model 检查一遍当前模型,如果您平时切到便宜模型,注意切回来或维持/config 里把 “Dynamic workflows” 关掉。会持久化到设置~/.codebuddy/settings.json 设 "disableWorkflows": true,会持久化CODEBUDDY_DISABLE_WORKFLOWS=1,启动时读取,在哪儿设就在哪儿生效ultracode 不再触发,/effort 菜单也不再展示 ultracode 选项。文档反馈