team-anya-cli 0.1.8 → 1.0.1

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.
Files changed (168) hide show
  1. package/README.md +1 -37
  2. package/package.json +6 -37
  3. package/anya/prompts/execution-guides/git-delivery.md +0 -38
  4. package/anya/prompts/execution-guides/testing-and-self-heal.md +0 -28
  5. package/anya/prompts/protocols/brief-assembly.md +0 -55
  6. package/anya/prompts/protocols/report.md +0 -175
  7. package/anya/prompts/protocols/review.md +0 -90
  8. package/anya/prompts/task-claude-md.template.md +0 -32
  9. package/apps/server/dist/broker/cc-broker.js +0 -261
  10. package/apps/server/dist/cli.js +0 -296
  11. package/apps/server/dist/config.js +0 -76
  12. package/apps/server/dist/daemon.js +0 -51
  13. package/apps/server/dist/franky/context-builder.js +0 -160
  14. package/apps/server/dist/franky/franky-mcp-server.js +0 -107
  15. package/apps/server/dist/franky/franky-orchestrator.js +0 -450
  16. package/apps/server/dist/franky/index.js +0 -5
  17. package/apps/server/dist/franky/topic-router.js +0 -16
  18. package/apps/server/dist/gateway/chat-sync.js +0 -135
  19. package/apps/server/dist/gateway/command-router.js +0 -114
  20. package/apps/server/dist/gateway/commands/cancel.js +0 -32
  21. package/apps/server/dist/gateway/commands/help.js +0 -16
  22. package/apps/server/dist/gateway/commands/index.js +0 -26
  23. package/apps/server/dist/gateway/commands/restart.js +0 -34
  24. package/apps/server/dist/gateway/commands/status.js +0 -34
  25. package/apps/server/dist/gateway/commands/tasks.js +0 -33
  26. package/apps/server/dist/gateway/feishu-sender.js +0 -410
  27. package/apps/server/dist/gateway/feishu-ws.js +0 -256
  28. package/apps/server/dist/gateway/http.js +0 -1019
  29. package/apps/server/dist/gateway/media-downloader.js +0 -149
  30. package/apps/server/dist/gateway/message-events.js +0 -10
  31. package/apps/server/dist/gateway/message-intake.js +0 -67
  32. package/apps/server/dist/gateway/message-queue.js +0 -118
  33. package/apps/server/dist/gateway/session-reader.js +0 -142
  34. package/apps/server/dist/gateway/ws-push.js +0 -115
  35. package/apps/server/dist/loid/brain.js +0 -105
  36. package/apps/server/dist/loid/clarifier.js +0 -162
  37. package/apps/server/dist/loid/context-builder.js +0 -413
  38. package/apps/server/dist/loid/mcp-server.js +0 -106
  39. package/apps/server/dist/loid/memory-settler.js +0 -189
  40. package/apps/server/dist/loid/opportunity-manager.js +0 -148
  41. package/apps/server/dist/loid/profile-updater.js +0 -179
  42. package/apps/server/dist/loid/reporter.js +0 -148
  43. package/apps/server/dist/loid/schemas.js +0 -117
  44. package/apps/server/dist/loid/self-calibrator.js +0 -314
  45. package/apps/server/dist/loid/session-manager.js +0 -301
  46. package/apps/server/dist/loid/session.js +0 -271
  47. package/apps/server/dist/loid/worktree-manager.js +0 -191
  48. package/apps/server/dist/main.js +0 -393
  49. package/apps/server/dist/tracing/index.js +0 -2
  50. package/apps/server/dist/tracing/trace-context.js +0 -92
  51. package/apps/server/dist/types/message.js +0 -2
  52. package/apps/server/dist/yor/yor-mcp-server.js +0 -104
  53. package/apps/server/dist/yor/yor-orchestrator.js +0 -233
  54. package/apps/web/dist/assets/index-BiiEB0qZ.css +0 -1
  55. package/apps/web/dist/assets/index-D1AK5ZEE.js +0 -798
  56. package/apps/web/dist/index.html +0 -13
  57. package/packages/cc-client/dist/claude-code-backend.js +0 -664
  58. package/packages/cc-client/dist/index.js +0 -2
  59. package/packages/cc-client/package.json +0 -11
  60. package/packages/core/dist/constants.js +0 -59
  61. package/packages/core/dist/errors.js +0 -35
  62. package/packages/core/dist/index.js +0 -7
  63. package/packages/core/dist/office-init.js +0 -101
  64. package/packages/core/dist/scope/checker.js +0 -114
  65. package/packages/core/dist/scope/defaults.js +0 -55
  66. package/packages/core/dist/scope/index.js +0 -3
  67. package/packages/core/dist/state-machine.js +0 -85
  68. package/packages/core/dist/types/audit.js +0 -12
  69. package/packages/core/dist/types/backend.js +0 -2
  70. package/packages/core/dist/types/commitment.js +0 -17
  71. package/packages/core/dist/types/communication.js +0 -18
  72. package/packages/core/dist/types/index.js +0 -8
  73. package/packages/core/dist/types/opportunity.js +0 -27
  74. package/packages/core/dist/types/org.js +0 -26
  75. package/packages/core/dist/types/task.js +0 -46
  76. package/packages/core/package.json +0 -10
  77. package/packages/db/dist/client.js +0 -69
  78. package/packages/db/dist/index.js +0 -691
  79. package/packages/db/dist/schema/audit-events.js +0 -13
  80. package/packages/db/dist/schema/cc-sessions.js +0 -14
  81. package/packages/db/dist/schema/chats.js +0 -33
  82. package/packages/db/dist/schema/commitments.js +0 -18
  83. package/packages/db/dist/schema/communication-events.js +0 -14
  84. package/packages/db/dist/schema/index.js +0 -13
  85. package/packages/db/dist/schema/message-log.js +0 -20
  86. package/packages/db/dist/schema/opportunities.js +0 -23
  87. package/packages/db/dist/schema/org.js +0 -36
  88. package/packages/db/dist/schema/projects.js +0 -23
  89. package/packages/db/dist/schema/tasks.js +0 -48
  90. package/packages/db/dist/schema/topics.js +0 -20
  91. package/packages/db/dist/schema/trace-spans.js +0 -19
  92. package/packages/db/package.json +0 -12
  93. package/packages/db/src/migrations/0000_baseline.sql +0 -251
  94. package/packages/db/src/migrations/meta/_journal.json +0 -13
  95. package/packages/mcp-tools/dist/index.js +0 -41
  96. package/packages/mcp-tools/dist/layer1/audit-append.js +0 -38
  97. package/packages/mcp-tools/dist/layer1/audit-query.js +0 -51
  98. package/packages/mcp-tools/dist/layer1/memory-brief.js +0 -168
  99. package/packages/mcp-tools/dist/layer1/memory-context.js +0 -124
  100. package/packages/mcp-tools/dist/layer1/memory-digest.js +0 -126
  101. package/packages/mcp-tools/dist/layer1/memory-forget.js +0 -108
  102. package/packages/mcp-tools/dist/layer1/memory-learn.js +0 -63
  103. package/packages/mcp-tools/dist/layer1/memory-recall.js +0 -287
  104. package/packages/mcp-tools/dist/layer1/memory-reflect.js +0 -80
  105. package/packages/mcp-tools/dist/layer1/memory-remember.js +0 -119
  106. package/packages/mcp-tools/dist/layer1/memory-search.js +0 -263
  107. package/packages/mcp-tools/dist/layer1/memory-write.js +0 -21
  108. package/packages/mcp-tools/dist/layer1/org-lookup.js +0 -47
  109. package/packages/mcp-tools/dist/layer1/project-get.js +0 -28
  110. package/packages/mcp-tools/dist/layer1/project-list.js +0 -20
  111. package/packages/mcp-tools/dist/layer1/report-daily.js +0 -68
  112. package/packages/mcp-tools/dist/layer1/task-get.js +0 -29
  113. package/packages/mcp-tools/dist/layer1/task-update.js +0 -34
  114. package/packages/mcp-tools/dist/layer2/franky/topic-checkpoint.js +0 -43
  115. package/packages/mcp-tools/dist/layer2/franky/topic-escalate.js +0 -19
  116. package/packages/mcp-tools/dist/layer2/loid/decision-log.js +0 -15
  117. package/packages/mcp-tools/dist/layer2/loid/decision-no-action.js +0 -15
  118. package/packages/mcp-tools/dist/layer2/loid/delivery-create-pr.js +0 -30
  119. package/packages/mcp-tools/dist/layer2/loid/delivery-share.js +0 -12
  120. package/packages/mcp-tools/dist/layer2/loid/delivery-submit.js +0 -77
  121. package/packages/mcp-tools/dist/layer2/loid/delivery-upload.js +0 -18
  122. package/packages/mcp-tools/dist/layer2/loid/project-remove.js +0 -16
  123. package/packages/mcp-tools/dist/layer2/loid/project-upsert.js +0 -33
  124. package/packages/mcp-tools/dist/layer2/loid/task-dispatch.js +0 -196
  125. package/packages/mcp-tools/dist/layer2/loid/task-lookup.js +0 -38
  126. package/packages/mcp-tools/dist/layer2/loid/topic-close.js +0 -22
  127. package/packages/mcp-tools/dist/layer2/loid/topic-create.js +0 -56
  128. package/packages/mcp-tools/dist/layer2/loid/yor-approve.js +0 -8
  129. package/packages/mcp-tools/dist/layer2/loid/yor-kill.js +0 -7
  130. package/packages/mcp-tools/dist/layer2/loid/yor-rework.js +0 -7
  131. package/packages/mcp-tools/dist/layer2/loid/yor-spawn.js +0 -15
  132. package/packages/mcp-tools/dist/layer2/loid/yor-status.js +0 -8
  133. package/packages/mcp-tools/dist/layer2/yor/task-block.js +0 -11
  134. package/packages/mcp-tools/dist/layer2/yor/task-deliver.js +0 -35
  135. package/packages/mcp-tools/dist/layer2/yor/task-progress.js +0 -21
  136. package/packages/mcp-tools/dist/layer3/adapters/feishu-adapter.js +0 -192
  137. package/packages/mcp-tools/dist/layer3/adapters/types.js +0 -28
  138. package/packages/mcp-tools/dist/layer3/channel-receive.js +0 -11
  139. package/packages/mcp-tools/dist/layer3/channel-send.js +0 -91
  140. package/packages/mcp-tools/dist/layer3/file-upload.js +0 -44
  141. package/packages/mcp-tools/dist/registry.js +0 -871
  142. package/packages/mcp-tools/package.json +0 -13
  143. package/workspace/.claude/settings.local.json +0 -9
  144. package/workspace/.mcp.json +0 -12
  145. package/workspace/CHARTER.md +0 -76
  146. package/workspace/CLAUDE.md +0 -58
  147. package/workspace/PROTOCOL.md +0 -160
  148. package/workspace/TOOLS.md +0 -470
  149. package/workspace/audit/.gitkeep +0 -0
  150. package/workspace/franky/CLAUDE.md +0 -37
  151. package/workspace/franky/PLAYBOOK.md +0 -215
  152. package/workspace/franky/PROFILE.md +0 -80
  153. package/workspace/loid/CLAUDE.md +0 -12
  154. package/workspace/loid/PLAYBOOK.md +0 -198
  155. package/workspace/loid/PROFILE.md +0 -78
  156. package/workspace/memory/commitments/.gitkeep +0 -0
  157. package/workspace/memory/execution/.gitkeep +0 -0
  158. package/workspace/memory/people/.gitkeep +0 -0
  159. package/workspace/memory/projects/.gitkeep +0 -0
  160. package/workspace/memory/self/.gitkeep +0 -0
  161. package/workspace/reference/identity/.gitkeep +0 -0
  162. package/workspace/reference/org/escalation.yaml +0 -24
  163. package/workspace/reference/org/ownership.yaml +0 -28
  164. package/workspace/reports/.gitkeep +0 -0
  165. package/workspace/yor/CLAUDE.md +0 -22
  166. package/workspace/yor/PLAYBOOK.md +0 -73
  167. package/workspace/yor/PROFILE.md +0 -52
  168. package/workspace/yor/SELF-HEAL.md +0 -39
@@ -1,470 +0,0 @@
1
- # MCP 工具参考手册
2
-
3
- > 本文件定义 Team Anya 所有 MCP 工具的参数和使用约束。工作流中何时调用哪些工具,参见各角色的 PLAYBOOK.md。
4
-
5
- ## 角色权限说明
6
-
7
- - **共享**:Loid 和 Yor 均可使用
8
- - **Loid 专属**:仅 Loid 可用
9
- - **Yor 专属**:仅 Yor 可用
10
-
11
- ---
12
-
13
- ## Layer 1: 共享基础
14
-
15
- ### memory.recall
16
-
17
- 召回记忆。支持按人/项目直读,或自然语言搜索所有记忆目录。
18
-
19
- | 参数 | 类型 | 必填 | 说明 |
20
- |------|------|------|------|
21
- | query | string | 是 | 自然语言查询 |
22
- | scope | string[] | 否 | 限定范围(如 `["people/wang_lei", "execution"]`) |
23
- | person | string | 否 | 快捷方式:等价于 `scope: ["people/{person}"]` |
24
- | project | string | 否 | 快捷方式:等价于 `scope: ["projects/{project}"]` |
25
- | depth | enum | 否 | `summary`(默认)/ `full` |
26
- | limit | number | 否 | 返回条数(默认 5) |
27
-
28
- **角色**: 共享
29
- **约束**: 优先用 person/project 快捷方式做精确召回,query 做模糊搜索兜底
30
-
31
- ### memory.remember
32
-
33
- 写入记忆。按类别 + 目标写入对应 YAML 文件。
34
-
35
- | 参数 | 类型 | 必填 | 说明 |
36
- |------|------|------|------|
37
- | category | enum | 是 | `people` / `project` / `execution` / `commitment` / `self` |
38
- | target | string | 否 | people 时填 sender_id,project 时填 project_id |
39
- | content | string | 是 | 记忆内容 |
40
- | sub_type | string | 否 | 子类型(project: pitfall/convention/decision,execution: pattern/failure/tool,self: boundary/mistake/correction) |
41
- | importance | number | 否 | 重要度 0-1,默认 0.5 |
42
- | source | string | 否 | 来源 task_id |
43
- | expires_at | string | 否 | 过期时间(commitment 用) |
44
-
45
- **角色**: 共享
46
- **约束**: people/project 类型必须提供 target
47
-
48
- ### memory.digest
49
-
50
- 消化对话/日志,自动提取并写入记忆。从文本中识别失败/决策/承诺/经验。
51
-
52
- | 参数 | 类型 | 必填 | 说明 |
53
- |------|------|------|------|
54
- | conversation | string | 是 | 对话内容或执行日志 |
55
- | sender_id | string | 否 | 对话对象 ID |
56
- | task_id | string | 否 | 关联任务 ID |
57
- | project_id | string | 否 | 关联项目 ID |
58
-
59
- **角色**: 共享
60
-
61
- ### memory.brief
62
-
63
- 组装记忆摘要。按优先级在 token 预算内拼装 markdown,可直接注入 prompt。
64
-
65
- | 参数 | 类型 | 必填 | 说明 |
66
- |------|------|------|------|
67
- | sender_id | string | 否 | 正在跟谁沟通 |
68
- | project_id | string | 否 | 涉及哪个项目 |
69
- | task_type | string | 否 | 任务类型关键词 |
70
- | token_budget | number | 否 | Token 预算(默认 1500) |
71
-
72
- **角色**: 共享
73
- **优先级**: 人的记忆 → 项目注意事项 → 执行经验 → 承诺 → 自我提醒
74
-
75
- ### memory.forget
76
-
77
- 遗忘/失效记忆。将指定范围内匹配的记忆条目标记为无效(heat=0)。
78
-
79
- | 参数 | 类型 | 必填 | 说明 |
80
- |------|------|------|------|
81
- | mode | enum | 是 | `invalidate`(主动失效) |
82
- | scope | string | 否 | 失效范围(如 `"projects/my-app/pitfalls"`) |
83
- | target | string | 否 | 失效的具体条目内容关键词 |
84
- | reason | string | 否 | 失效原因 |
85
-
86
- **角色**: 共享
87
-
88
- ### project.list
89
-
90
- 列出所有已注册项目,返回概览信息(不含 claude_md 等大字段)。
91
-
92
- | 参数 | 类型 | 必填 | 说明 |
93
- |------|------|------|------|
94
- | platform | enum | 否 | 按平台过滤:`github` / `gitlab` / `local` |
95
- | include_deleted | boolean | 否 | 是否包含已归档项目(默认 false) |
96
-
97
- **角色**: 共享
98
-
99
- ### project.get
100
-
101
- 查询单个项目的完整配置,包括平台、仓库列表、CLAUDE.md 内容。
102
-
103
- | 参数 | 类型 | 必填 | 说明 |
104
- |------|------|------|------|
105
- | project_id | string | 是 | 项目 ID |
106
-
107
- **角色**: 共享
108
- **返回**: `{ found, project: { project_id, name, description, platform, claude_md, repos[], deleted_at, ... } }`
109
-
110
- ### org.lookup
111
-
112
- 查人员归属、权限、升级路径。
113
-
114
- | 参数 | 类型 | 必填 | 说明 |
115
- |------|------|------|------|
116
- | member_id | string | 否 | 成员 ID |
117
- | scope | enum | 否 | `repo` / `module` |
118
- | target | string | 否 | 目标(仓库名或模块名) |
119
-
120
- **角色**: 共享
121
-
122
- ### task.get
123
-
124
- 获取任务完整状态,包含任务记录、澄清、承诺、审计事件和文件内容。
125
-
126
- | 参数 | 类型 | 必填 | 说明 |
127
- |------|------|------|------|
128
- | task_id | string | 是 | 任务 ID |
129
-
130
- **角色**: 共享
131
-
132
- ### task.update
133
-
134
- 原子级任务状态更新,校验状态转换合法性(state machine),同时写 audit log。
135
-
136
- | 参数 | 类型 | 必填 | 说明 |
137
- |------|------|------|------|
138
- | task_id | string | 是 | 任务 ID |
139
- | status | string | 是 | 目标状态(NEW/NEED_CLARIFICATION/READY/IN_PROGRESS/DELIVERING/DONE/BLOCKED/CANCELLED) |
140
- | reason | string | 否 | 状态变更原因 |
141
-
142
- **角色**: 共享
143
- **约束**: 状态变更必须符合状态机,不可跳跃(参见 PROTOCOL.md 状态机定义)
144
-
145
- ### audit.append
146
-
147
- 写审计事件,双写 DB + JSONL 文件,保障可回放。
148
-
149
- | 参数 | 类型 | 必填 | 说明 |
150
- |------|------|------|------|
151
- | event_type | string | 是 | 事件类型 |
152
- | actor | string | 是 | 操作者 |
153
- | task_id | string | 否 | 关联任务 ID |
154
- | summary | string | 是 | 事件摘要 |
155
- | detail | Record | 否 | 详细信息 |
156
-
157
- **角色**: 共享
158
-
159
- ### audit.query
160
-
161
- 查询审计事件,按任务、类型、操作者、时间范围过滤。
162
-
163
- | 参数 | 类型 | 必填 | 说明 |
164
- |------|------|------|------|
165
- | task_id | string | 否 | 按任务 ID 过滤 |
166
- | event_type | string | 否 | 按事件类型过滤 |
167
- | actor | string | 否 | 按操作者过滤 |
168
- | since | string | 否 | 起始时间(ISO 时间戳) |
169
- | limit | number | 否 | 返回条数限制(默认 20) |
170
-
171
- **角色**: 共享
172
-
173
- ### report.daily
174
-
175
- 生成日报,汇总今日完成/进行中/阻塞/承诺/机会。
176
-
177
- | 参数 | 类型 | 必填 | 说明 |
178
- |------|------|------|------|
179
- | date | string | 是 | 日期(YYYY-MM-DD) |
180
-
181
- **角色**: Loid 专属
182
-
183
- ---
184
-
185
- ## Layer 2: Loid 专属
186
-
187
- ### project.upsert
188
-
189
- 创建或更新项目配置。同步仓库列表,写审计日志。
190
-
191
- | 参数 | 类型 | 必填 | 说明 |
192
- |------|------|------|------|
193
- | project_id | string | 是 | 项目 ID(如 `my-app`) |
194
- | name | string | 是 | 项目显示名称 |
195
- | description | string | 否 | 项目简介 |
196
- | platform | enum | 否 | `github`(默认)/ `gitlab` / `local` |
197
- | repos | array | 否 | 仓库列表(见下方) |
198
- | claude_md | string | 否 | 项目级 CLAUDE.md 内容 |
199
-
200
- **repos 数组元素**:
201
-
202
- | 字段 | 类型 | 必填 | 说明 |
203
- |------|------|------|------|
204
- | name | string | 是 | 仓库名或子目录名 |
205
- | git_url | string | 否 | git 克隆地址 |
206
- | repo_path | string | 否 | 本地绝对路径 |
207
- | default_branch | string | 否 | 默认分支(默认 `main`) |
208
-
209
- **返回**: `{ project_id, action: "created" | "updated" }`
210
-
211
- ### project.remove
212
-
213
- 归档项目(软删除),数据不会真正删除。
214
-
215
- | 参数 | 类型 | 必填 | 说明 |
216
- |------|------|------|------|
217
- | project_id | string | 是 | 要归档的项目 ID |
218
- | reason | string | 是 | 归档原因(审计用) |
219
-
220
- **返回**: `{ removed: boolean, message: string }`
221
-
222
- ### decision.log
223
-
224
- 记录决策理由到审计日志。每个重要决策都应记录。
225
-
226
- | 参数 | 类型 | 必填 | 说明 |
227
- |------|------|------|------|
228
- | decision | string | 是 | 决策内容 |
229
- | reasoning | string | 是 | 决策理由 |
230
- | task_id | string | 否 | 关联任务 ID |
231
-
232
- ### task.dispatch
233
-
234
- 创建任务、写入 brief、标记 READY。返回 task_id、brief_path 和项目配置。
235
-
236
- | 参数 | 类型 | 必填 | 说明 |
237
- |------|------|------|------|
238
- | title | string | 是 | 任务标题 |
239
- | brief | string | 是 | 执行 brief(Markdown 格式,只写做什么和标准,不写怎么做) |
240
- | project_id | string | 否 | 目标项目/仓库 ID |
241
- | objective | string | 否 | 任务目标 |
242
- | acceptance_criteria | string[] | 否 | 验收标准列表 |
243
- | context | string | 否 | 背景信息 |
244
- | conversation_id | string | 否 | 关联的对话 ID |
245
- | source_message_id | string | 否 | 触发消息 ID |
246
-
247
- **返回值**:
248
-
249
- | 字段 | 类型 | 说明 |
250
- |------|------|------|
251
- | task_id | string | 任务 ID |
252
- | brief_path | string | brief 文件路径 |
253
- | project.mode | string | `project` / `adhoc` |
254
- | project.repos | array | 仓库列表(project 模式,单仓库也是数组) |
255
-
256
- **约束**: Brief 只写做什么和标准,不写怎么做。派工三步走:`task.dispatch`(MCP) → bash 准备工作区 → `yor.spawn`(MCP),三步缺一不可。
257
-
258
- ### task.lookup
259
-
260
- 查询任务列表。可按 task_id 或 status 过滤,不传参数返回所有活跃任务。
261
-
262
- | 参数 | 类型 | 必填 | 说明 |
263
- |------|------|------|------|
264
- | task_id | string | 否 | 指定任务 ID |
265
- | status | string | 否 | 按状态过滤 |
266
-
267
- ### yor.spawn
268
-
269
- 启动 Yor 执行器进程。
270
-
271
- | 参数 | 类型 | 必填 | 说明 |
272
- |------|------|------|------|
273
- | task_id | string | 是 | 任务 ID |
274
- | working_dir | string | 是 | Yor 工作目录 |
275
- | brief_path | string | 是 | brief 文件路径 |
276
- | env | Record<string, string> | 否 | 额外环境变量 |
277
-
278
- ### yor.kill
279
-
280
- 终止 Yor 执行器。
281
-
282
- | 参数 | 类型 | 必填 | 说明 |
283
- |------|------|------|------|
284
- | task_id | string | 是 | 任务 ID |
285
-
286
- ### yor.status
287
-
288
- 查询所有 Yor 执行器状态,返回实例列表及运行状态。无参数。
289
-
290
- ### yor.rework
291
-
292
- 向 Yor 发送返工指令。Loid 审核 Yor 交付后发现问题时使用,向保持存活的 Yor CC 实例注入返工 prompt。
293
-
294
- | 参数 | 类型 | 必填 | 说明 |
295
- |------|------|------|------|
296
- | task_id | string | 是 | 任务 ID |
297
- | feedback | string | 是 | 返工反馈(具体修改要求) |
298
-
299
- **约束**: 仅在 Yor 调用 `task.deliver` 后、实例仍存活时可用
300
-
301
- ### yor.approve
302
-
303
- 批准 Yor 交付并关闭实例。Loid 审核通过后使用。
304
-
305
- | 参数 | 类型 | 必填 | 说明 |
306
- |------|------|------|------|
307
- | task_id | string | 是 | 任务 ID |
308
- | message | string | 否 | 批准消息 |
309
-
310
- ### delivery.submit
311
-
312
- 提交交付产物。根据项目平台自动选择:GitHub → PR(gh CLI),GitLab → MR(glab CLI),本地任务 → 记录 commit hash。
313
-
314
- | 参数 | 类型 | 必填 | 说明 |
315
- |------|------|------|------|
316
- | task_id | string | 是 | 任务 ID |
317
- | title | string | 是 | PR/MR 标题 |
318
- | description | string | 是 | PR/MR 描述 |
319
- | base_branch | string | 否 | 目标分支(默认由项目配置决定) |
320
- | working_dir | string | 是 | 执行命令的工作目录 |
321
-
322
- ### delivery.upload
323
-
324
- 上传文件产物。
325
-
326
- | 参数 | 类型 | 必填 | 说明 |
327
- |------|------|------|------|
328
- | file_path | string | 是 | 要上传的文件路径 |
329
- | target | string | 是 | 上传目标 |
330
-
331
- ### delivery.share
332
-
333
- 分享链接/产物。
334
-
335
- | 参数 | 类型 | 必填 | 说明 |
336
- |------|------|------|------|
337
- | url | string | 是 | 要分享的链接 |
338
- | target | string | 是 | 分享目标 |
339
- | message | string | 是 | 分享消息 |
340
-
341
- ### channel.send
342
-
343
- 向飞书群发消息。
344
-
345
- | 参数 | 类型 | 必填 | 说明 |
346
- |------|------|------|------|
347
- | target | string | 是 | 飞书群聊 ID(如 `oc_xxx`) |
348
- | message | string | 是 | 消息内容 |
349
- | task_id | string | 否 | 关联任务 ID(审计追溯用) |
350
- | file | object | 否 | 发送文件(见下方) |
351
- | mentions | string[] | 否 | @的用户 ID 列表(如 `["ou_xxx"]`) |
352
- | reply_to | string | 否 | 回复的消息 ID(如 `om_xxx`) |
353
-
354
- > **Franky 话题内发消息**:Franky 从 `context.md` 获取群聊 ID 和话题根消息 ID,填入 `target` 和 `reply_to`,并设置 `reply_in_thread: true`。注意 `reply_to` 必须是 `om_` 开头的消息 ID,不能用 `omt_` 开头的话题 ID。
355
-
356
- **file 对象**:
357
-
358
- | 参数 | 类型 | 必填 | 说明 |
359
- |------|------|------|------|
360
- | file_path | string | 是 | 文件路径 |
361
- | file_name | string | 否 | 自定义文件名 |
362
- | file_type | string | 否 | 文件类型(opus/mp4/pdf/doc/xls/ppt/stream) |
363
- | duration | number | 否 | 音视频时长 ms |
364
-
365
- ### file.upload
366
-
367
- 通用文件上传(与通道无关),上传文件到项目存储,返回 URL。
368
-
369
- | 参数 | 类型 | 必填 | 说明 |
370
- |------|------|------|------|
371
- | file_path | string | 是 | 要上传的文件路径 |
372
- | file_name | string | 否 | 自定义文件名(默认使用原始文件名) |
373
-
374
- ### channel.receive
375
-
376
- 拉取新消息(暂不实现,消息通过 gateway 推送)。
377
-
378
- | 参数 | 类型 | 必填 | 说明 |
379
- |------|------|------|------|
380
- | since | string | 否 | 起始时间(ISO 时间戳) |
381
- | source | string | 否 | 消息来源过滤 |
382
- | limit | number | 否 | 返回条数限制 |
383
-
384
- ---
385
-
386
- ## Layer 2: Yor 专属
387
-
388
- > Yor 的代码、测试、Git 操作直接使用 bash(Claude Code 原生能力),不通过 MCP 工具。
389
- > 以下仅列出 Yor 需要的 MCP 工具(状态回报类)。
390
-
391
- ### task.deliver
392
-
393
- 提交执行成果。完成任务后调用,报告变更文件、测试结果、PR 链接。
394
-
395
- | 参数 | 类型 | 必填 | 说明 |
396
- |------|------|------|------|
397
- | outcome | string | 是 | 执行结果摘要 |
398
- | changed_files | string[] | 是 | 变更的文件列表 |
399
- | test_passed | boolean | 是 | 测试是否全部通过 |
400
- | test_output | string | 否 | 测试输出摘要 |
401
- | pr_link | string | 否 | PR 链接 |
402
-
403
- ### task.block
404
-
405
- 报告阻塞。遇到无法解决的问题时调用。
406
-
407
- | 参数 | 类型 | 必填 | 说明 |
408
- |------|------|------|------|
409
- | reason | string | 是 | 阻塞原因 |
410
- | category | enum | 是 | `brief_unclear` / `scope_exceeded` / `heal_failed` / `permission` / `refactor_needed` |
411
- | attempted_solutions | string[] | 是 | 已尝试的解决方案 |
412
- | logs | string | 否 | 相关日志 |
413
-
414
- ### task.progress
415
-
416
- 中间进度汇报。长任务中报告里程碑,不改变任务状态。
417
-
418
- | 参数 | 类型 | 必填 | 说明 |
419
- |------|------|------|------|
420
- | milestone | string | 是 | 里程碑描述 |
421
- | detail | string | 否 | 详细说明 |
422
- | next_step | string | 否 | 下一步计划 |
423
-
424
- ---
425
-
426
- ## Layer 3: 外部桥梁
427
-
428
- Layer 3 工具已在 Layer 2 各角色章节中列出(`channel.send`、`file.upload`、`channel.receive` 归属 Loid 专属)。
429
-
430
- ---
431
-
432
- ## 工具速查表
433
-
434
- | 工具 | 角色 | 一句话用途 |
435
- |------|------|-----------|
436
- | `memory.recall` | 共享 | 召回记忆(按人/项目/关键词) |
437
- | `memory.remember` | 共享 | 写入记忆(5 类分类存储) |
438
- | `memory.digest` | 共享 | 消化对话,自动提取记忆 |
439
- | `memory.brief` | 共享 | 组装记忆摘要,注入 prompt |
440
- | `memory.forget` | 共享 | 失效/遗忘过期记忆 |
441
- | `project.list` | 共享 | 列出所有项目概览 |
442
- | `project.get` | 共享 | 查询项目完整配置 |
443
- | `org.lookup` | 共享 | 查人员归属和升级路径 |
444
- | `task.get` | 共享 | 获取任务完整状态 |
445
- | `task.update` | 共享 | 原子级任务状态更新 |
446
- | `audit.append` | 共享 | 写审计事件 |
447
- | `audit.query` | 共享 | 查询审计事件 |
448
- | `report.daily` | Loid | 生成日报 |
449
- | `project.upsert` | Loid | 创建或更新项目配置 |
450
- | `project.remove` | Loid | 归档项目(软删除) |
451
- | `decision.log` | Loid | 记录决策理由 |
452
- | `task.dispatch` | Loid | 创建任务 + 写 brief + 返回项目配置 |
453
- | `task.lookup` | Loid | 查询任务列表 |
454
- | `yor.spawn` | Loid | 启动 Yor 执行器 |
455
- | `yor.kill` | Loid | 终止 Yor 实例 |
456
- | `yor.status` | Loid | 查看 Yor 实例状态 |
457
- | `yor.rework` | Loid | 向 Yor 发送返工指令 |
458
- | `yor.approve` | Loid | 批准 Yor 交付并关闭实例 |
459
- | `delivery.submit` | Loid | 提交交付(PR/MR/本地) |
460
- | `channel.send` | Loid | 向飞书群发消息 |
461
- | `file.upload` | Loid | 通用文件上传 |
462
- | `channel.receive` | Loid | 拉取新消息(暂未实现) |
463
- | `task.deliver` | Yor | 声明完成交付 |
464
- | `task.block` | Yor | 报告阻塞 |
465
- | `task.progress` | Yor | 中间进度汇报 |
466
- | `channel.send` | Yor | 升级时直接通知人类 |
467
- | `channel.send` | Franky | 在专项话题内发消息(target/reply_to 自动填充) |
468
- | `topic.checkpoint` | Franky | 保存阶段性成果 |
469
- | `topic.escalate` | Franky | 升级问题给 Loid |
470
- | `topic.close` | Franky | 关闭专项 |
File without changes
@@ -1,37 +0,0 @@
1
- # Franky's Workshop
2
-
3
- 当前终端用户:**Franky Franklin (驻场工程师)**
4
- 所属:雷石 Anya 团队
5
-
6
- ## !! 强制启动序列 !!
7
-
8
- **在执行任何操作之前,必须先依次读取以下文件。未完成全部读取之前,禁止执行任何操作。**
9
-
10
- 1. **`../CHARTER.md`** — 团队宪章
11
- 2. **`../PROTOCOL.md`** — 协作契约
12
- 3. **`../TOOLS.md`** — 工具手册
13
- 4. **`PROFILE.md`** — 你的个人档案
14
- 5. **`PLAYBOOK.md`** — 你的打法库
15
-
16
- 读完后:
17
- - 如果是**新建专项**:输出 `[Franky] 启动完成,专项「{title}」已就位,随时可以开始。`
18
- - 如果是**重建恢复**:先读取 `context.md`,输出 `[Franky] 已恢复,上次做到 {last_checkpoint},继续。`
19
-
20
- ## !! 强制沟通规则 !!
21
-
22
- **所有回复必须通过 `channel.send` 发出。纯文本输出用户看不到。**
23
-
24
- **默认在专项话题内发消息。** 从 `context.md` 中获取通讯信息,标准调用方式:
25
-
26
- ```
27
- channel.send({
28
- target: "<群聊 ID>",
29
- message: "你要说的话",
30
- reply_to: "<话题根消息 ID>",
31
- reply_in_thread: true
32
- })
33
- ```
34
-
35
- - `target`:填 context.md 中的群聊 ID
36
- - `reply_to`:填话题根消息 ID(`om_` 开头),**不要用话题 ID(`omt_` 开头)**
37
- - `reply_in_thread: true`:确保消息发到话题内而非群聊主线