@fanchao8609/agent_brain_sync 1.9.3 → 1.9.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/hooks/abs.opencode.ts
CHANGED
|
@@ -57,8 +57,9 @@ const server = async ({ client, directory }) => {
|
|
|
57
57
|
|
|
58
58
|
const TEARDOWN_MSG =
|
|
59
59
|
"[abs] 本会话改过文件,.brain/ 今日无记录。\n" +
|
|
60
|
-
"
|
|
61
|
-
"
|
|
60
|
+
"这条是信息不是命令:该登记/沉淀就登记,没有可沉淀的直接回一句「无可沉淀」,不用凑。\n" +
|
|
61
|
+
"先看任务:本会话做完的事有没有进看板?(abs todo / abs todo done <id>;干到一半 abs todo note <id> --note 断点)\n" +
|
|
62
|
+
"再看沉淀:经验/坑 → abs note \"...\";成果流水 → abs log \"...\""
|
|
62
63
|
|
|
63
64
|
// bash 里只跑查询类命令不算改文件 (与 pi 侧 READONLY_CMD 同义, 但生成代码里要写进模板串)
|
|
64
65
|
const READONLY_CMD = /^\s*(ls|cat|grep|rg|find|head|tail|wc|git\s+(status|log|diff|show|branch)|pwd|which|echo|node\s+-v|npm\s+(ls|view)|curl)\b/
|
package/hooks/abs.pi.ts
CHANGED
|
@@ -210,8 +210,9 @@ export default function absPiHook(pi: ExtensionAPI): void {
|
|
|
210
210
|
try {
|
|
211
211
|
pi.sendUserMessage(
|
|
212
212
|
"[abs] 本会话改过文件,.brain/ 今日无记录。\n" +
|
|
213
|
-
"
|
|
214
|
-
"
|
|
213
|
+
"这条是信息不是命令:该登记/沉淀就登记,没有可沉淀的直接回一句「无可沉淀」,不用凑。\n" +
|
|
214
|
+
"先看任务:本会话做完的事有没有进看板?(abs todo / abs todo done <id>;干到一半 abs todo note <id> --note 断点)\n" +
|
|
215
|
+
"再看沉淀:经验/坑 → abs note \"...\";成果流水 → abs log \"...\"" +
|
|
215
216
|
notesBlock(notes),
|
|
216
217
|
{ deliverAs: "followUp" },
|
|
217
218
|
)
|
package/package.json
CHANGED
|
@@ -269,6 +269,26 @@ abs todo archive # 一条命令搞定,无需手工搬
|
|
|
269
269
|
|
|
270
270
|
**核心:事件发生的那一刻就落,别攒到收尾。** 动作一变,扫一眼属于哪行,调对应工具。
|
|
271
271
|
|
|
272
|
+
### 唯一会让看板失灵的动作:先动手、后登记(2026-09-18 实测)
|
|
273
|
+
|
|
274
|
+
上面那张表是**状态变化**驱动的,缺一个**开工前**的触发器 —— 实测的失效路径是:接到任务
|
|
275
|
+
→ 立刻去读代码/改文件(因为觉得「还没开始做,没什么可登的」)→ 一口气做完 → 只在收尾
|
|
276
|
+
补一条 done。结果:**看板在被看的时候(会话下半场、别的会话接手)永远是空的**,
|
|
277
|
+
跨会话续接丢锚点。用户原话:「todo 登记不及时,总是空的」。
|
|
278
|
+
|
|
279
|
+
**硬规则(与 git commit 同反射,不是收尾仪式):**
|
|
280
|
+
|
|
281
|
+
1. **开工前先登记** —— 认领任何需要动文件/跑命令的任务,**第一步是 `abs_task {action:start}`
|
|
282
|
+
(或 `abs todo add <id> --note 做什么`)**,然后才去读第一个文件。任务名想不到就先起个
|
|
283
|
+
粗糙的(`fix-hook-nudge`、`T-DEPLOY`)—— 名字可以事后改,**未登记的开工补不回来**。
|
|
284
|
+
2. **一段活儿干完立刻 done** —— 不是等整个需求收尾。子任务做完就 `abs_task {action:done, id, note:"结语"}`,
|
|
285
|
+
下一个子任务开工前再 start。**宁可拆成 5 条小的,别攒成 1 条大的。**
|
|
286
|
+
3. **动手超过两三轮还没登记 = 已经在失控的路上** —— 立刻补 `start`,别等下一轮。
|
|
287
|
+
|
|
288
|
+
> 反面样本(本次实测全过程):整个会话改了 4 个文件、跑了 10 次 bash,
|
|
289
|
+
> `.brain/` 今日**零 todo 记录**,直到收尾注入才补。用户看板全程是空的。
|
|
290
|
+
> 代价不是「记录少了」,而是**用户中途想看进度时看不到** —— 活看板的价值就在中途。
|
|
291
|
+
|
|
272
292
|
**经验刚冒出来就落**:`abs note "一句话经验" --tags 坑,docker` → 暂存 `sources/`(幂等去重)。宁少勿滥。
|
|
273
293
|
|
|
274
294
|
> **写操作走 MCP(`abs_task`/`abs_note`),别用 bash 跑 CLI** —— MCP 常驻 ~2ms,
|