跳转至
ACTIVE

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 部分

维护铁律

  1. DASHBOARD §🔥 永远不放完整 prompt 全文 · 只放派发清单表
  2. 新派发必须先建 prompts/active/.md · 再写 DASHBOARD §🔥 行
  3. stop 时必须同步 git mv active/ → done/ · 加 hash 后缀
  4. prompt 文件不允许直接覆盖 · 改 prompt 用 abort 流程(加 .aborted- 后缀 · 不删旧的)
  5. commit hash 必须出现在 done/ 文件名中 · 否则后续 standup 抓不回来