提示词管线
CLI-JAW 通过多层管线组装系统提示词:静态模板(A1/A2)、动态注入(记忆、编排、技能)、磁盘缓存(B.md/AGENTS.md),以及各 CLI 的生成适配器。
组装顺序
src/prompt/builder.ts 中的 getSystemPrompt() 函数按以下顺序组装提示词:
- A-1.md -- 系统规则(浏览器控制、记忆、心跳、委派)
- A-2.md -- 用户设置(身份、风格、工作目录)
- 记忆注入 -- 高级模式(档案 + 灵魂 + 任务快照)或旧版回退
- 编排部分 -- 员工调度规则 + PABCD 指南
- 心跳任务 -- 来自
heartbeat.json的计划任务描述 - 技能部分 -- 已激活技能内联 + 可用技能列表
- Vision-click 提示 -- 仅限 Codex 的桌面自动化旧版回退
- 委派规则 -- CLI 子代理与 jaw 员工的区分
静态模板
A-1.md(系统规则)
路径:~/.cli-jaw/prompts/A-1.md。回退至 src/prompt/templates/a1-system.md(305 行)。包含核心系统行为:浏览器控制规则、记忆/心跳指令、jaw 员工与 CLI 子代理的区分,以及频道发送规则。
A-2.md(用户设置)
路径:~/.cli-jaw/prompts/A-2.md。模板:a2-default.md(25 行)。包含身份、用户偏好、风格和工作目录提示。仅在缺失时创建,不会被覆盖。
动态注入
记忆注入
根据索引就绪状态分为两条路径:
- 高级路径(
src/memory/injection.ts):档案上下文(800 字符)+ 灵魂与身份(1000 字符)+ 任务快照(2800 字符,最多 4 条命中) - 旧版回退:会话记忆(10000 字符预算)+ 来自
MEMORY.md的核心记忆(1500 字符)
注入具有角色感知能力:boss 获取完整快照,employee/subagent 获取精简档案,flush 角色不进行记忆注入。
编排
如果至少注册了一个员工,orchestration.md 模板会被注入,并附带 cli-jaw dispatch 使用示例。如果 skills/dev-pabcd/SKILL.md 存在,还会追加 PABCD 编排指南。
心跳
来自 ~/.cli-jaw/heartbeat.json 的活跃心跳任务会以其启用状态、人类可读的调度计划和提示词预览进行渲染。
技能
已激活的技能(~/.cli-jaw/skills/*/SKILL.md)会内联渲染。参考技能(~/.cli-jaw/skills_ref/registry.json)作为可发现的列表展示。
磁盘缓存(B.md)
regenerateB() 创建系统提示词的磁盘缓存版本:
| 输出 | 用途 |
|---|---|
~/.cli-jaw/prompts/B.md | 调试和缓存文件 |
{workDir}/AGENTS.md | 由 Codex、Copilot、OpenCode 自动读取 |
系统会检查内容哈希值——仅在提示词实际发生变化时才重写文件,以保持恢复连续性。
各 CLI 的生成输入
每个 CLI 运行时接收提示词的方式不同:
| CLI | 系统提示词 | 用户输入 |
|---|---|---|
| Claude | buildArgs(..., sysPrompt) | stdin:withHistoryPrompt(prompt, historyBlock) |
| Codex | AGENTS.md 自动加载 | stdin:[User Message] 块 |
| Gemini | GEMINI_SYSTEM_MD 临时文件 | 参数级提示词 |
| AGY | 无系统提示词标志 | agy -p <prompt> |
| Cursor | AGENTS.md / CLAUDE.md 自动加载 | 参数级提示词 |
| Grok | CWD 指令文件 | -p <prompt> |
| Copilot | ACP + CWD 指令文件 | session/prompt() |
历史块
在新会话(非恢复)时,buildHistoryBlock() 会在前面插入最近的对话上下文:
- 来源:
messages数据库,限定为workingDir范围 - 限制:8000 字符,最多 10 个会话
- 压缩标记会停止历史扫描并插入追踪摘要
[Recent Context]
assistant: Previous response summary...
user: Previous question...
---
[Current Message]
Your new prompt here
自定义提示词
编辑 ~/.cli-jaw/prompts/A-2.md 可自定义身份、偏好和工作目录。使用 /prompt 预览当前 A2 内容。Web UI 设置面板也提供了提示词模板编辑器。