AIOS Prompts 归档目录
为什么有这个目录
DASHBOARD.md 是人类入口控制台 · 每轮 stop/start 都会重写 §🔥 段 · 旧 prompt 会被吞掉。 为了让人机协同维护、保留派发历史、方便检索,把 prompt 全文从 DASHBOARD 抽离 · 落入本目录。
DASHBOARD §🔥 只放派发清单表:UID · 状态 · 部门 · CPU · prompt 文件链接 · 1 句摘要。
真正的完整 prompt(7-8 段)存在 active/<UID>-<short-name>.md 文件中 · 用户复制粘贴 worker 终端时打开此文件即可。
目录结构
prompts/
├── README.md 本文件
├── active/ ⚪ 派发中(worker 正在跑)
│ ├── P0.U9-rename-preset-by-name.md
│ ├── P4.U2-test-runner-finalize.md
│ ├── P2.U3-widget-registry.md
│ ├── P2.U4-module-mode-simplify.md
│ └── P_contracts.B3-protocol-v1-§7-§9.md
└── done/ ✅ 已完成归档(state: zombie)
├── P_contracts.B1-rush--f54619e+947c454.md
├── P_contracts.B2--08b1fb8+e6f03fb.md
├── P3.U4-test-aux-extract--00353f.md
├── P4.U1-shell-inject--9e59230.md
├── P5.U-load-7-suffix--e8fce21.md
├── P0.U6-update-legacy-file-map--24bc3a1.md
└── P0.U8-rename-bin-to-xi--e8fce21.md
命名规则
active/ 中的 prompt
格式:<UID>-<short-name>.md
<UID>:U-thread 完整 UID(如P_contracts.U-protocol-v1-§4-§6)<short-name>:简短描述名(如B2-§4-§6)- 例:
P_contracts.B2-protocol-v1-§4-§6.md
为方便文件名 · UID 中的 . 保留 · § 字符可保留(macOS/Linux/Windows NTFS 都支持 UTF-8 文件名)。
若担心兼容性可改用 s 替代 §(如 P_contracts.B2-s4-s6.md)· 但本仓库默认保留 §。
done/ 中的归档 prompt
格式:<UID>-<short-name>--<commit-hash>.md
- 在
active/文件名基础上 · 末尾追加--<commit-hash> - 多 commit 用
+分隔:--<docs-hash>+<code-hash>或--<commit1>+<commit2>+... - 例:
P_contracts.B1-rush--f54619e+947c454.md(docs + code 双 commit) - 例:
P3.U4-test-aux-extract--00353f.md(单 commit)
生命周期
1. 派发(start)
AIOS 调度内核做:
① 在 active/ 新建 <UID>-<short-name>.md(完整 7-8 段 prompt)
② DASHBOARD §🔥 段加 1 行派发清单(状态 ⚪ ready / UID / 部门 / CPU / 链接 active/<UID>.md / 摘要)
③ 同步 PCB(processes/<pid>/PROCESS.md U-thread state: ready)+ STEP.md(可选)
用户做:
① 打开 active/<UID>-<short-name>.md 复制全文
② 粘贴到对应 worker 终端 → 派给 worker 跑
2. 完成(stop)
用户回告:"任务完成 · commit hash = abc1234"
AIOS 调度内核做:
① git mv prompts/active/<UID>-<short-name>.md → prompts/done/<UID>-<short-name>--<hash>.md
② DASHBOARD §🔥 段从派发清单移除该行(进 §📋 zombie 区)
③ 同步 PCB(state: zombie · last_commit · 释放 K-thread)
④ 同步 P_arch/PROCESS.md(若有 ADR 子事件)
3. 中止(abort · worker 跑歪了)
用户:"abort <UID>"
AIOS 做:
① git mv prompts/active/<UID>-<short-name>.md → prompts/active/<UID>-<short-name>.aborted-<timestamp>.md
(留在 active/ 下加 .aborted-<timestamp> 后缀 · 不进 done/)
② 起新版 prompts/active/<UID>-<short-name>.md(改 prompt 重派)
③ DASHBOARD 同步 + PCB 重置 state: ready
prompt 全文必含的段(7-8 段强制)
每份 active/*.md 必须按此结构编写:
---
uid: <UID>
name: <short-name>
state: ready | running | zombie | aborted
priority: P-1 | P0 | P1 | P2
worker: <ClaudeA|B|C|D|Cline-Worker|Copilot-Worker|...>
worker_cwd: <绝对路径>
department: <前端|后端|dspalgo|pysidecar|契约>
recommended_skill: <skill 名 · 可选>
occupies: [<K-thread 列表>]
adr: <ADR 路径>
created: <YYYY-MM-DD HH:mm>
last_modified: <YYYY-MM-DD HH:mm>
estimated: <0.4d>
---
# <UID> · <短描述>
**目标 worker**:<ClaudeA / Cline-Worker / ...>(主仓库 / worktree 路径)
**[涉及部门]**:<部门>(推荐 skill: <skill>)
**预计**:<0.4d> · **优先级**:<P0> · **状态**:⚪ ready / 🟢 running / ✅ zombie
---
## 完整 prompt(直接复制粘贴 worker 终端)
\`\`\`
[U-thread] <UID>
[部门] <部门 · 推荐 skill: ...>
[Worker CWD] <绝对路径>
[Occupies] <K-thread 列表>
[ADR] <ADR 绝对路径>
[参考文档]
- <绝对路径 1>
- <绝对路径 2>
【背景】
...
【执行步骤】
1. ...
2. ...
【验收】
- ...
【commit】
<commit message 模板 · 含三元组 [step=][pid=][uid=][occupies=]>
【禁止】
- ❌ ...
\`\`\`
---
## 历史
| 时间 | 事件 | hash |
|---|---|---|
| <派发时间> | 派发到 worker | - |
| <完成时间> | zombie | <commit-hash> |
DASHBOARD §🔥 段的新形态(派发清单)
DASHBOARD §🔥 段从 v2.7 开始 · 不再放完整 prompt · 改为表格:
## 🔥 本轮派发(N 路并发 · 详见 prompts/active/)
| # | 状态 | UID | 部门 | CPU | prompt 文件 | 1 句摘要 |
|---|:---:|---|:---:|---|---|---|
| 🚨1 | 🟢 running | `P_contracts.B3` | 契约 | ClaudeB(主仓) | [active/P_contracts.B3-...md](prompts/active/P_contracts.B3-protocol-v1-§7-§9.md) | source-sink-api + test-runner + py-subprocess |
| ⭐2 | ⚪ ready | `P0.U9` | 前端 | ClaudeA(主仓) | [active/P0.U9-...md](prompts/active/P0.U9-rename-preset-by-name.md) | preset 文件用原始名 |
| ... |
用户点击链接 → 打开对应 prompt 文件 → 复制完整 prompt 派发。
与 PROCESS.md 的关系
- PROCESS.md(
processes/<pid>/PROCESS.md):机器可读 PCB · YAML frontmatter 中user_threads:列出该进程的所有 U-thread state · 是进程内部视角 - prompts/:人机协同视角 · 完整派发文本档案 · 是调度内核视角(谁派给谁 · 什么时候派 · 完成后 hash 是什么)
- 两者关键字段双向同步:
state:PCB 中state: zombie↔ prompt 文件名后缀--<hash>+done/路径last_commit:PCB 中last_commit: abc1234↔ prompt 文件名 hash 部分
维护铁律
- DASHBOARD §🔥 永远不放完整 prompt 全文 · 只放派发清单表
- 新派发必须先建 prompts/active/
.md · 再写 DASHBOARD §🔥 行 - stop 时必须同步 git mv active/ → done/ · 加 hash 后缀
- prompt 文件不允许直接覆盖 · 改 prompt 用 abort 流程(加 .aborted-
后缀 · 不删旧的) - commit hash 必须出现在 done/ 文件名中 · 否则后续 standup 抓不回来