@fanchao8609/agent_brain_sync 1.17.1 → 1.18.0
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/README.md +16 -8
- package/bin/abs.js +3 -3
- package/hooks/abs.omp.ts +828 -0
- package/hooks/abs.pi.ts +5 -2
- package/package.json +1 -1
- package/skill/abs-agent-brain-sync/SKILL.md +54 -89
- package/src/hosts.js +10 -0
- package/src/install.js +53 -0
- package/src/store.js +3 -3
- package/src/todo/archive.js +9 -4
- package/src/todo/common.js +12 -3
- package/src/todo/structure.js +16 -8
- package/src/todo/tasks.js +9 -5
- package/src/todo.js +1 -1
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ abs install
|
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
23
|
abs install --agent pi # 只装 pi
|
|
24
|
-
abs install # 全部: claude-code / codex / opencode / pi
|
|
24
|
+
abs install # 全部: claude-code / codex / opencode / pi / omp
|
|
25
25
|
abs install --agent pi --no-mcp # 只装 hook + skill,不要 MCP
|
|
26
26
|
```
|
|
27
27
|
|
|
@@ -33,6 +33,7 @@ abs install --agent pi --no-mcp # 只装 hook + skill,不要 MCP
|
|
|
33
33
|
| codex | `~/.codex/hooks.json` | config.toml `[mcp_servers.abs]` | `~/.codex/skills/` |
|
|
34
34
|
| opencode | `~/.config/opencode/plugins/abs.ts` | opencode.json mcp.abs | skills/ |
|
|
35
35
|
| pi | `~/.pi/agent/extensions/abs.ts` | `~/.pi/agent/mcp-adapter.json` `mcpServers.abs` | `~/.pi/agent/skills/` |
|
|
36
|
+
| omp | `~/.omp/agent/extensions/abs.ts` | `~/.omp/agent/mcp.json` `mcpServers.abs` | `~/.omp/agent/skills/` |
|
|
36
37
|
|
|
37
38
|
> **skill 规则**:`skill/` 下每个含 `SKILL.md` 的子目录 = 一个 skill,
|
|
38
39
|
> **目录名即安装名**(须与 frontmatter `name` 一致,否则 pi 会告警)。
|
|
@@ -53,9 +54,9 @@ npm install && npm link # 之后全局就有 abs
|
|
|
53
54
|
|
|
54
55
|
## 怎么用
|
|
55
56
|
|
|
56
|
-
### pi:编辑器上的 todo 面板
|
|
57
|
+
### pi / omp:编辑器上的 todo 面板
|
|
57
58
|
|
|
58
|
-
pi 宿主额外多一层 UI(其它宿主没有):**编辑器上方常驻一块 todo 面板**,直接读当前项目 `.brain/todo.md`。
|
|
59
|
+
pi 与 omp 宿主额外多一层 UI(其它宿主没有):**编辑器上方常驻一块 todo 面板**,直接读当前项目 `.brain/todo.md`。
|
|
59
60
|
|
|
60
61
|
```
|
|
61
62
|
─────────────────────────────────────────────────
|
|
@@ -69,6 +70,8 @@ pi 宿主额外多一层 UI(其它宿主没有):**编辑器上方常驻一
|
|
|
69
70
|
- **只显示未完成**,Done 归计数不占位(数量在标题里)
|
|
70
71
|
- **按当前使用者过滤**:显示 `[[我]]` 的 + 没标作者的(老任务/手写),别人的不显示
|
|
71
72
|
- **断点行 `↳` 挂在父任务下**;`├─` / `└─` 表结构
|
|
73
|
+
- **断点也可以是任务**:` ↳ [ ] <id> — 说明` 与普通任务同等对待(上看板、可 `done` / `note` / `state`);
|
|
74
|
+
单独的 `↳ 断点: 一句话` 仍是纯附属行、不算任务
|
|
72
75
|
- **「进行中」带三点动画**`○○○ → ●●○ → ●●●`(250ms/帧)—— 一眼看出哪条在跑
|
|
73
76
|
- **实时刷新**:我调 `abs_task` / `abs_board` 后立即重画,不用等我讲完话
|
|
74
77
|
- **上描边与输入框同色满宽**(主题色 `thinkingOff`,跟 pi 输入框的边框一致)
|
|
@@ -147,7 +150,7 @@ abs update # 升级到最新版并刷新四宿主
|
|
|
147
150
|
abs update
|
|
148
151
|
```
|
|
149
152
|
|
|
150
|
-
查 npm 最新版 → 升级 →
|
|
153
|
+
查 npm 最新版 → 升级 → 自动重刷五个宿主的 hook/skill(hook 里烧的是绝对路径,升级后必须重装,`abs update` 帮你做了)。完事重启宿主。
|
|
151
154
|
|
|
152
155
|
手动方式:
|
|
153
156
|
|
|
@@ -164,7 +167,7 @@ abs install # 重新刷 hook/skill
|
|
|
164
167
|
|
|
165
168
|
```bash
|
|
166
169
|
abs uninstall # 全部宿主
|
|
167
|
-
abs uninstall --agent pi # 只卸 pi
|
|
170
|
+
abs uninstall --agent pi # 只卸 pi(omp 同理:--agent omp)
|
|
168
171
|
npm uninstall -g @fanchao8609/agent_brain_sync
|
|
169
172
|
```
|
|
170
173
|
|
|
@@ -189,20 +192,25 @@ agent_brain_sync/
|
|
|
189
192
|
├── bin/mcp.js MCP server (stdio)
|
|
190
193
|
├── src/index.js 图谱定位(只认当前目录的 .brain/)+ 全局技术日志目录
|
|
191
194
|
├── src/lock.js 并发写保护(原子锁 + 排队 + SKIP)
|
|
192
|
-
├── src/todo.js todo
|
|
195
|
+
├── src/todo.js todo 对外入口(re-export,实现见 src/todo/)
|
|
196
|
+
├── src/todo/ todo.md 分区读写 + 格式闸门(common/spec/structure/validate/archive/tasks)
|
|
193
197
|
├── src/store.js CLI 命令实现
|
|
194
198
|
├── src/lint.js 图谱体检(死链/孤岛/超尺寸/堆积;同类问题折叠计数)
|
|
195
199
|
├── src/query.js 检索知识页(多词 OR)
|
|
196
200
|
├── src/relevant.js 相关页推荐(按"当前在干什么"挑该读的页)
|
|
197
201
|
├── src/codegraph.js 借本机 CodeGraph 取"代码影响面",写回图谱
|
|
198
|
-
├── src/hosts.js
|
|
202
|
+
├── src/hosts.js 五宿主接入定义
|
|
199
203
|
├── src/install.js 安装/卸载(分区共存合并)
|
|
200
204
|
├── src/userconfig.js 使用者姓名配置(作者标记;占位名如 tester/foo 会被拒)
|
|
201
205
|
├── src/wrapup.js Stop 收尾快照/归档
|
|
202
206
|
├── hooks/event.sh hook 模板
|
|
203
207
|
├── hooks/abs.pi.ts pi 扩展模板(含 todo 面板 / 随机昵称 / 常驻指引)
|
|
208
|
+
├── hooks/abs.omp.ts omp 扩展模板(同上;omp 的 before_agent_start 是 systemPrompt 整体替换)
|
|
204
209
|
├── skill/<名称>/SKILL.md 技能(每个子目录 = 一个 skill,装到各智能体)
|
|
205
|
-
|
|
210
|
+
├── scripts/ 构建期脚本(语法检查等,不进 npm 包)
|
|
211
|
+
├── docs/plans/ 方案文件(YYYYMMDD-<名>.md,不进 npm 包)
|
|
212
|
+
├── .githooks/ pre-commit(语法+图谱 lint)/ pre-push(全量测试)
|
|
213
|
+
└── test/ 单测(node:test,零外测试依赖)
|
|
206
214
|
```
|
|
207
215
|
|
|
208
216
|
MIT
|
package/bin/abs.js
CHANGED
|
@@ -82,7 +82,7 @@ async function cmdUpdate({ yes }) {
|
|
|
82
82
|
console.log(r);
|
|
83
83
|
console.log('\n刷新四宿主 hook/skill(hook 脚本烧的是绝对路径 + 模板快照,升级后必须重装)…');
|
|
84
84
|
await runInstall({ agent: undefined, mcp: true, skill: true, yes: yes !== false });
|
|
85
|
-
console.log(`\n完成。重启宿主(pi / opencode / claude-code / codex)后新 hook 生效。`);
|
|
85
|
+
console.log(`\n完成。重启宿主(pi / omp / opencode / claude-code / codex)后新 hook 生效。`);
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
const [,, cmd, ...rest] = process.argv;
|
|
@@ -272,7 +272,7 @@ const subUsage = {
|
|
|
272
272
|
' abs install [--agent <宿主>] [--yes] [--no-mcp] [--no-skill]',
|
|
273
273
|
'',
|
|
274
274
|
'参数:',
|
|
275
|
-
' --agent <宿主> 只装一个宿主: claude-code | codex | opencode | pi',
|
|
275
|
+
' --agent <宿主> 只装一个宿主: claude-code | codex | opencode | pi | omp',
|
|
276
276
|
' (不传则在 TTY 下交互多选; 非 TTY / --yes 时为全部)',
|
|
277
277
|
' --yes 不交互,直接装全部宿主(自动化用)',
|
|
278
278
|
' --no-mcp 不注册 MCP server',
|
|
@@ -295,7 +295,7 @@ const subUsage = {
|
|
|
295
295
|
' abs uninstall [--agent <宿主>] [--yes]',
|
|
296
296
|
'',
|
|
297
297
|
'参数:',
|
|
298
|
-
' --agent <宿主> 只卸一个宿主: claude-code | codex | opencode | pi(不传=全部)',
|
|
298
|
+
' --agent <宿主> 只卸一个宿主: claude-code | codex | opencode | pi | omp(不传=全部)',
|
|
299
299
|
' --yes 不交互',
|
|
300
300
|
'',
|
|
301
301
|
'说明:',
|