weflow-cli 1.8.2 → 1.10.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.
Files changed (185) hide show
  1. package/ARCHITECTURE.md +62 -26
  2. package/CHANGELOG.md +1290 -0
  3. package/OPERATIONS.md +144 -11
  4. package/README.en.md +20 -4
  5. package/README.md +30 -5
  6. package/bin/weflow-cli-electron.cjs +2 -0
  7. package/bin/weflow-cli.ts +996 -118
  8. package/dist/bin/weflow-cli.js +1038 -146
  9. package/dist/bin/weflow-cli.js.map +1 -1
  10. package/dist/mcp-server/http.d.ts +14 -0
  11. package/dist/mcp-server/http.d.ts.map +1 -0
  12. package/dist/mcp-server/http.js +84 -0
  13. package/dist/mcp-server/http.js.map +1 -0
  14. package/dist/mcp-server/httpConfig.d.ts +50 -0
  15. package/dist/mcp-server/httpConfig.d.ts.map +1 -0
  16. package/dist/mcp-server/httpConfig.js +104 -0
  17. package/dist/mcp-server/httpConfig.js.map +1 -0
  18. package/dist/mcp-server/index.d.ts +13 -1
  19. package/dist/mcp-server/index.d.ts.map +1 -1
  20. package/dist/mcp-server/index.js +58 -374
  21. package/dist/mcp-server/index.js.map +1 -1
  22. package/dist/src/core/dbPathService.d.ts +12 -0
  23. package/dist/src/core/dbPathService.d.ts.map +1 -1
  24. package/dist/src/core/dbPathService.js +20 -3
  25. package/dist/src/core/dbPathService.js.map +1 -1
  26. package/dist/src/panel/server.d.ts.map +1 -1
  27. package/dist/src/panel/server.js +61 -1
  28. package/dist/src/panel/server.js.map +1 -1
  29. package/dist/src/services/assistantEval.d.ts +69 -0
  30. package/dist/src/services/assistantEval.d.ts.map +1 -1
  31. package/dist/src/services/assistantEval.js +270 -8
  32. package/dist/src/services/assistantEval.js.map +1 -1
  33. package/dist/src/services/assistantScenes.d.ts +81 -0
  34. package/dist/src/services/assistantScenes.d.ts.map +1 -0
  35. package/dist/src/services/assistantScenes.js +322 -0
  36. package/dist/src/services/assistantScenes.js.map +1 -0
  37. package/dist/src/services/assistantService.d.ts +33 -4
  38. package/dist/src/services/assistantService.d.ts.map +1 -1
  39. package/dist/src/services/assistantService.js +102 -6
  40. package/dist/src/services/assistantService.js.map +1 -1
  41. package/dist/src/services/assistantSkills.d.ts +94 -0
  42. package/dist/src/services/assistantSkills.d.ts.map +1 -0
  43. package/dist/src/services/assistantSkills.js +330 -0
  44. package/dist/src/services/assistantSkills.js.map +1 -0
  45. package/dist/src/services/assistantTools.d.ts +34 -1
  46. package/dist/src/services/assistantTools.d.ts.map +1 -1
  47. package/dist/src/services/assistantTools.js +931 -88
  48. package/dist/src/services/assistantTools.js.map +1 -1
  49. package/dist/src/services/assistantTrace.d.ts +4 -0
  50. package/dist/src/services/assistantTrace.d.ts.map +1 -1
  51. package/dist/src/services/assistantTrace.js +9 -0
  52. package/dist/src/services/assistantTrace.js.map +1 -1
  53. package/dist/src/services/configService.d.ts +9 -0
  54. package/dist/src/services/configService.d.ts.map +1 -1
  55. package/dist/src/services/configService.js +5 -2
  56. package/dist/src/services/configService.js.map +1 -1
  57. package/dist/src/services/messageQuery.d.ts +18 -0
  58. package/dist/src/services/messageQuery.d.ts.map +1 -1
  59. package/dist/src/services/messageQuery.js +29 -0
  60. package/dist/src/services/messageQuery.js.map +1 -1
  61. package/dist/src/services/outboundSend.d.ts +53 -0
  62. package/dist/src/services/outboundSend.d.ts.map +1 -0
  63. package/dist/src/services/outboundSend.js +90 -0
  64. package/dist/src/services/outboundSend.js.map +1 -0
  65. package/dist/src/services/pythonBridge.d.ts.map +1 -1
  66. package/dist/src/services/pythonBridge.js +1 -0
  67. package/dist/src/services/pythonBridge.js.map +1 -1
  68. package/dist/src/services/wechatClient.d.ts +125 -0
  69. package/dist/src/services/wechatClient.d.ts.map +1 -0
  70. package/dist/src/services/wechatClient.js +344 -0
  71. package/dist/src/services/wechatClient.js.map +1 -0
  72. package/dist/src/services/wechatMedia.d.ts +44 -0
  73. package/dist/src/services/wechatMedia.d.ts.map +1 -0
  74. package/dist/src/services/wechatMedia.js +155 -0
  75. package/dist/src/services/wechatMedia.js.map +1 -0
  76. package/dist/src/services/wechatMessageService.d.ts +11 -0
  77. package/dist/src/services/wechatMessageService.d.ts.map +1 -1
  78. package/dist/src/services/wechatMessageService.js +55 -11
  79. package/dist/src/services/wechatMessageService.js.map +1 -1
  80. package/dist/src/types.d.ts +4 -0
  81. package/dist/src/types.d.ts.map +1 -1
  82. package/dist/src/utils/python.js +2 -2
  83. package/dist/src/utils/python.js.map +1 -1
  84. package/docs/BRANCHES.md +37 -0
  85. package/docs/CONTACT_DB_SCHEMA.md +1085 -0
  86. package/docs/DECISIONS.md +1624 -0
  87. package/docs/EXTENDING.md +98 -10
  88. package/docs/FUNCTIONAL-IMPROVEMENT-SPEC.md +6 -0
  89. package/docs/HEALTH-CHECK.md +12 -7
  90. package/docs/JEV/345/272/224/347/224/250/346/226/275/345/267/245/346/226/207/346/241/243.md +2 -2
  91. package/docs/MCP.md +58 -4
  92. package/docs/PROJECT_STATE.md +180 -11
  93. package/docs/RELEASING.md +115 -1
  94. package/docs/images/weflow-architecture-gpt-image-2.png +0 -0
  95. package/logo.png +0 -0
  96. package/mcp-server/http.ts +108 -0
  97. package/mcp-server/httpConfig.ts +126 -0
  98. package/mcp-server/index.ts +359 -681
  99. package/package.json +5 -3
  100. package/resources/js/graph3d/NOTICE.txt +35 -0
  101. package/resources/js/graph3d/d3-binarytree.min.js +2 -0
  102. package/resources/js/graph3d/d3-dispatch.min.js +2 -0
  103. package/resources/js/graph3d/d3-force-3d.min.js +2 -0
  104. package/resources/js/graph3d/d3-octree.min.js +2 -0
  105. package/resources/js/graph3d/d3-quadtree.min.js +2 -0
  106. package/resources/js/graph3d/d3-timer.min.js +2 -0
  107. package/resources/js/graph3d/layout.mjs +63 -0
  108. package/resources/js/graph3d/three.min.js +6 -0
  109. package/resources/js/graph3d/viewer2d.js +448 -0
  110. package/resources/panel/ball-position.cjs +48 -2
  111. package/resources/panel/index.html +18 -4
  112. package/resources/panel/main.cjs +137 -5
  113. package/resources/panel/mascot-base.png +0 -0
  114. package/resources/panel/mascot-blink-1.png +0 -0
  115. package/resources/panel/mascot-blink-2.png +0 -0
  116. package/resources/panel/mascot-iris.png +0 -0
  117. package/resources/panel/mascot-lift-down-1.png +0 -0
  118. package/resources/panel/mascot-lift-down-2.png +0 -0
  119. package/resources/panel/mascot-lift-down-3.png +0 -0
  120. package/resources/panel/mascot-lift-down-4.png +0 -0
  121. package/resources/panel/mascot-lift-down-5.png +0 -0
  122. package/resources/panel/mascot-lift-down-6.png +0 -0
  123. package/resources/panel/mascot-lift-up-1.png +0 -0
  124. package/resources/panel/mascot-lift-up-2.png +0 -0
  125. package/resources/panel/mascot-lift-up-3.png +0 -0
  126. package/resources/panel/mascot-lift-up-4.png +0 -0
  127. package/resources/panel/mascot-lift-up-5.png +0 -0
  128. package/resources/panel/mascot-lift-up-6.png +0 -0
  129. package/resources/panel/mascot-peek.png +0 -0
  130. package/resources/panel/mascot-tickle-1.png +0 -0
  131. package/resources/panel/mascot-tickle-2.png +0 -0
  132. package/resources/panel/mascot-tickle-3.png +0 -0
  133. package/resources/panel/mascot-tickle-4.png +0 -0
  134. package/resources/panel/panel.css +205 -59
  135. package/resources/panel/preload.cjs +26 -0
  136. package/resources/panel/renderer.js +646 -17
  137. package/scripts/_utils.py +1203 -931
  138. package/scripts/backfill_articles.py +202 -21
  139. package/scripts/biz_daily.py +26 -34
  140. package/scripts/bonds.py +331 -0
  141. package/scripts/chat_notes.py +561 -470
  142. package/scripts/chat_stats.py +8 -7
  143. package/scripts/check_readme_commands.py +426 -0
  144. package/scripts/compile_wiki.py +187 -59
  145. package/scripts/contact_schema.py +339 -0
  146. package/scripts/data/wechat_emoji.json +225 -0
  147. package/scripts/export_chat_html.py +3 -1
  148. package/scripts/fav_notes.py +4 -1
  149. package/scripts/graph_2d.py +151 -0
  150. package/scripts/graph_3d.py +646 -0
  151. package/scripts/health_check.py +163 -26
  152. package/scripts/mcp_bridge.py +6 -7
  153. package/scripts/nt_decrypt.py +3 -3
  154. package/scripts/panel_frames.py +683 -0
  155. package/scripts/pipeline.py +21 -10
  156. package/scripts/quality_eval.py +5 -0
  157. package/scripts/rag_chat.py +33 -16
  158. package/scripts/reply_debt.py +26 -6
  159. package/scripts/semantic_search.py +130 -22
  160. package/scripts/vault_rag.py +42 -16
  161. package/scripts/vault_search.py +44 -8
  162. package/scripts/wechat_emoticon.py +6 -0
  163. package/scripts/wechat_voice.py +9 -0
  164. package/scripts/wiki_lint.py +124 -24
  165. package/src/core/dbPathService.ts +22 -4
  166. package/src/panel/server.ts +58 -1
  167. package/src/services/assistantEval.ts +323 -12
  168. package/src/services/assistantScenes.ts +342 -0
  169. package/src/services/assistantService.ts +107 -6
  170. package/src/services/assistantSkills.ts +364 -0
  171. package/src/services/assistantTools.ts +2452 -1640
  172. package/src/services/assistantTrace.ts +9 -0
  173. package/src/services/configService.ts +415 -403
  174. package/src/services/messageQuery.ts +29 -0
  175. package/src/services/outboundSend.ts +126 -0
  176. package/src/services/pythonBridge.ts +1 -0
  177. package/src/services/wechatClient.ts +380 -0
  178. package/src/services/wechatMedia.ts +166 -0
  179. package/src/services/wechatMessageService.ts +62 -11
  180. package/src/types.ts +4 -0
  181. package/src/utils/python.ts +2 -2
  182. package/dist/src/utils/wechatEmoji.d.ts +0 -5
  183. package/dist/src/utils/wechatEmoji.d.ts.map +0 -1
  184. package/dist/src/utils/wechatEmoji.js +0 -35
  185. package/dist/src/utils/wechatEmoji.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"assistantService.js","sourceRoot":"","sources":["../../../src/services/assistantService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assistantService.js","sourceRoot":"","sources":["../../../src/services/assistantService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ /** 技能正文一次最多交给模型多少字(`read_skill`):足够长,又不至于把上下文吃掉 */
2
+ export declare const SKILL_BODY_LIMIT = 8192;
3
+ export interface SkillInfo {
4
+ /** 目录名,也是引用时用的 id */
5
+ id: string;
6
+ /** 显示名:frontmatter 的 `name`,缺了就用目录名 */
7
+ name: string;
8
+ description: string;
9
+ version: string;
10
+ /** `SKILL.md` 的绝对路径 —— 交给模型的就是它 */
11
+ file: string;
12
+ /** 来自哪个根目录(同 id 冲突时靠前的胜出) */
13
+ root: string;
14
+ /** 技能自己声明的 `enabled: false` */
15
+ selfDisabled: boolean;
16
+ /** `triggers:` 列表,`list_skills --query` 会匹配它 */
17
+ triggers: string[];
18
+ /** 不合规 / 缺字段之类的提醒,只报不改 */
19
+ notes: string[];
20
+ }
21
+ export interface SkillScan {
22
+ skills: SkillInfo[];
23
+ /** 读不出 frontmatter 的 `SKILL.md`:路径 + 原因。**不静默跳过** */
24
+ unreadable: Array<{
25
+ file: string;
26
+ reason: string;
27
+ }>;
28
+ /** 同 id 出现在多个根:只报冲突,不覆盖 */
29
+ conflicts: Array<{
30
+ id: string;
31
+ winner: string;
32
+ loser: string;
33
+ }>;
34
+ /** 根本没读到的根目录(配错了会表现为"一个技能都没有") */
35
+ missingRoots: string[];
36
+ }
37
+ export type SkillState = 'ready' | 'disabled' | 'missing' | 'unknown';
38
+ /**
39
+ * 技能根目录清单。优先级:环境变量 > 配置键 > 默认两个根。
40
+ *
41
+ * 默认两个根是有意的:`~/.claude/skills` 让用户**已有的**技能立刻可用,
42
+ * `~/.weflow-cli/skills` 是本项目自己的落脚点(现在多半是空的)。
43
+ *
44
+ * 注意 `configService.get()` 只展开**开头**那个 `~`,逗号分隔的清单里第二个 `~` 它不管,
45
+ * 所以这里逐段自己调 `expandHomePath`(踩过:不展开会让第二个根静默不存在)。
46
+ */
47
+ export declare function skillRoots(): string[];
48
+ /** 配置键 `skillDisabled`:用户侧的禁用名单(技能自己也能声明 `enabled: false`) */
49
+ export declare function disabledIds(): string[];
50
+ interface ParsedFrontmatter {
51
+ fields: Record<string, string>;
52
+ lists: Record<string, string[]>;
53
+ }
54
+ /**
55
+ * 只解析开头那一段 `---`。返回 null 表示**这一段不成立**(不是"没有字段")——
56
+ * 调用方要把这种情况报出来,不要当成"这个技能没写描述"。
57
+ */
58
+ export declare function parseFrontmatter(text: string): ParsedFrontmatter | null;
59
+ export declare function scanSkills(roots?: string[]): SkillScan;
60
+ export declare function findSkill(id: string, scan?: SkillScan): SkillInfo | undefined;
61
+ export declare function skillState(skill: SkillInfo, disabled?: string[]): SkillState;
62
+ /**
63
+ * 把技能渲染成给模型的一句话。四态,每一态都**说实话**:
64
+ * 缺文件不阻断(照 WeChatBridge 的做法:继续做,但要求模型在回答里说明这块没做)。
65
+ */
66
+ export declare function describeSkill(id: string, scan?: SkillScan): {
67
+ state: SkillState;
68
+ line: string;
69
+ };
70
+ /**
71
+ * 解析 `{{skill:<id>}}` 行内引用。**只认这一种形式**,别的 `{{...}}` 原样保留
72
+ * (本仓没有模板引擎,不要让人以为这是通用的)。
73
+ * 未知 id **不静默删掉** —— 显式告诉模型"你引用了不存在的技能"。
74
+ */
75
+ export declare function renderSkillRefs(text: string, scan?: SkillScan): string;
76
+ /** 一个场景/一段文本实际引用了哪些技能:行内引用 ∪ 显式声明(去重、保序) */
77
+ export declare function referencedSkillIds(text: string, declared?: string[]): string[];
78
+ export interface SkillBody {
79
+ ok: boolean;
80
+ text: string;
81
+ truncated?: boolean;
82
+ }
83
+ /**
84
+ * 读某个技能的 `SKILL.md` 正文。
85
+ *
86
+ * **路径限界**:只从扫描结果里取路径,绝不接受调用方拼出来的路径。也就是说
87
+ * `read_skill('../config.json')` 这类根本走不到文件系统 —— 因为 `../config.json`
88
+ * 不是任何一个扫描出来的技能 id。这条是 P4 验收标准的现场,有测试逐个盯着。
89
+ */
90
+ export declare function readSkillBody(id: string, scan?: SkillScan): SkillBody;
91
+ /** 只列名字 + 描述 + 状态。27 个技能的正文全塞进每轮提示词是浪费,正文按需 `read_skill`。 */
92
+ export declare function skillCatalogueLines(scan?: SkillScan, limit?: number): string[];
93
+ export {};
94
+ //# sourceMappingURL=assistantSkills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistantSkills.d.ts","sourceRoot":"","sources":["../../../src/services/assistantSkills.ts"],"names":[],"mappings":"AA0BA,mDAAmD;AACnD,eAAO,MAAM,gBAAgB,OAAO,CAAA;AAapC,MAAM,WAAW,SAAS;IACxB,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,+BAA+B;IAC/B,YAAY,EAAE,OAAO,CAAA;IACrB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,SAAS,EAAE,CAAA;IACnB,qDAAqD;IACrD,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACnD,2BAA2B;IAC3B,SAAS,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC/D,kCAAkC;IAClC,YAAY,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAA;AAIrE;;;;;;;;GAQG;AACH,wBAAgB,UAAU,IAAI,MAAM,EAAE,CASrC;AAED,8DAA8D;AAC9D,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAItC;AAID,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAChC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAmEvE;AAQD,wBAAgB,UAAU,CAAC,KAAK,WAAe,GAAG,SAAS,CAyE1D;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE,SAAwB,GAAG,SAAS,GAAG,SAAS,CAE3F;AAID,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,WAAgB,GAAG,UAAU,CAGjF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE,SAAwB,GAAG;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAgB7G;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,SAAwB,GAAG,MAAM,CAMpF;AAED,4CAA4C;AAC5C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAMlF;AAID,MAAM,WAAW,SAAS;IAAG,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE;AAE7E;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE,SAAwB,GAAG,SAAS,CAkBnF;AAID,6DAA6D;AAC7D,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,SAAwB,EAAE,KAAK,SAAK,GAAG,MAAM,EAAE,CAaxF"}
@@ -0,0 +1,330 @@
1
+ /**
2
+ * 助手能用的技能包(Skills)—— 发现、解析、四态降级、正文读取。
3
+ *
4
+ * **技能是内容,不是代码**:本模块只把 `SKILL.md` 当**资料**交给模型(给路径、给正文),
5
+ * 不执行其中任何东西、不给模型增加任何新工具。这是 P4「插件/适配器机制」验收标准的
6
+ * 保守落地:「第三方扩展无法直接读取配置、数据库或任意文件;扩展能被单独禁用」。
7
+ * 想给助手加能力要走 `docs/EXTENDING.md` 的 Recipe A(加工具),不是往技能里塞脚本。
8
+ *
9
+ * 口径来源:技能格式与 Anthropic Agent Skills 一致(`name` + `description` frontmatter),
10
+ * 我们只**读**它,不发明新格式 —— 这样用户已经装在 `~/.claude/skills` 下的技能直接可用。
11
+ *
12
+ * 三个实测得来的硬约束(别按直觉改):
13
+ * 1. **只解析文件开头那一段 `---`**。实测用户的技能正文里也有 `categories:`/`created:`/
14
+ * `tags:` 这些行(`memory-organizer`、`obsidian-wiki-workflow`),扫全文会把它们当字段读进来。
15
+ * 2. **必须处理 YAML 块标量**。真实技能里 `description: >-` / `description: |` 后面跟着缩进的
16
+ * 多行正文,不处理的话 description 就变成 `>-` 两个字。
17
+ * 3. **ID 规范要比 Anthropic 宽**。他们的 `^[a-z0-9]+(-[a-z0-9]+)*$` 会把用户自己的
18
+ * `clz_docx_to_mp`、`agent-dialog_management`、`ylx_onehub_usage_monitor` 判为不合规 ——
19
+ * 那些是真实在用的技能,所以不合规只**警告**,不丢弃。
20
+ */
21
+ import { existsSync, readdirSync, readFileSync, statSync } from 'fs';
22
+ import { join } from 'path';
23
+ import { homedir } from 'os';
24
+ import { configService } from './configService.js';
25
+ import { expandHomePath } from '../utils/pathUtils.js';
26
+ /** 技能正文一次最多交给模型多少字(`read_skill`):足够长,又不至于把上下文吃掉 */
27
+ export const SKILL_BODY_LIMIT = 8192;
28
+ /**
29
+ * 我们接受的 ID:小写字母、数字、点、下划线、连字符 —— 比 Anthropic 规范宽(见文件头第 3 条)。
30
+ */
31
+ const ID_RE = /^[a-z0-9][a-z0-9._-]*$/;
32
+ /**
33
+ * Anthropic Agent Skills 的严格规范。**只用来说话,不用来拒绝**:
34
+ * 不合规的 ID 照样能用(用户的 `clz_docx_to_mp` 就在用),但 `skill check` 要讲出来,
35
+ * 免得他以为这些能直接搬去别的 Agent 用。
36
+ */
37
+ const SPEC_ID_RE = /^[a-z0-9]+(-[a-z0-9]+)*$/;
38
+ // ---------- 根目录 ----------
39
+ /**
40
+ * 技能根目录清单。优先级:环境变量 > 配置键 > 默认两个根。
41
+ *
42
+ * 默认两个根是有意的:`~/.claude/skills` 让用户**已有的**技能立刻可用,
43
+ * `~/.weflow-cli/skills` 是本项目自己的落脚点(现在多半是空的)。
44
+ *
45
+ * 注意 `configService.get()` 只展开**开头**那个 `~`,逗号分隔的清单里第二个 `~` 它不管,
46
+ * 所以这里逐段自己调 `expandHomePath`(踩过:不展开会让第二个根静默不存在)。
47
+ */
48
+ export function skillRoots() {
49
+ const env = String(process.env.WEFLOW_ASSISTANT_SKILL_DIRS || '').trim();
50
+ const raw = env || String(configService.get('skillDirs') || '').trim();
51
+ if (raw) {
52
+ return raw.split(/[,;]/)
53
+ .map(part => expandHomePath(part.trim().replace(/^["']|["']$/g, '')))
54
+ .filter(Boolean);
55
+ }
56
+ return [join(homedir(), '.claude', 'skills'), join(homedir(), '.weflow-cli', 'skills')];
57
+ }
58
+ /** 配置键 `skillDisabled`:用户侧的禁用名单(技能自己也能声明 `enabled: false`) */
59
+ export function disabledIds() {
60
+ const raw = String(configService.get('skillDisabled') || '').trim();
61
+ if (!raw)
62
+ return [];
63
+ return raw.split(/[,;]/).map(part => part.trim()).filter(Boolean);
64
+ }
65
+ /**
66
+ * 只解析开头那一段 `---`。返回 null 表示**这一段不成立**(不是"没有字段")——
67
+ * 调用方要把这种情况报出来,不要当成"这个技能没写描述"。
68
+ */
69
+ export function parseFrontmatter(text) {
70
+ const t = String(text || '').replace(/^/, '');
71
+ const lines = t.split(/\r?\n/);
72
+ if (!/^---[ \t]*$/.test(lines[0] || ''))
73
+ return null;
74
+ let end = -1;
75
+ for (let i = 1; i < lines.length; i += 1) {
76
+ if (/^---[ \t]*$/.test(lines[i])) {
77
+ end = i;
78
+ break;
79
+ }
80
+ }
81
+ if (end === -1)
82
+ return null; // 开头有 --- 却没有收尾:残缺,宁可报错也不猜
83
+ const fields = {};
84
+ const lists = {};
85
+ let blockKey = null; // 正在收的块标量(`description: >-` 这类)
86
+ let blockMode = 'folded';
87
+ let blockLines = [];
88
+ let listKey = null; // 正在收的列表(`triggers:` 这类)
89
+ const closeBlock = () => {
90
+ if (!blockKey)
91
+ return;
92
+ // `>` 折行(空格连接),`|` 保留换行。`-` 后缀(`>-`/`|-`)表示去掉末尾换行,这里一并处理。
93
+ fields[blockKey] = (blockMode === 'literal' ? blockLines.join('\n') : blockLines.join(' ')).trim();
94
+ blockKey = null;
95
+ blockLines = [];
96
+ };
97
+ const closeList = () => {
98
+ if (listKey && lists[listKey]?.length === 0)
99
+ lists[listKey] = [];
100
+ listKey = null;
101
+ };
102
+ for (let i = 1; i < end; i += 1) {
103
+ const raw = lines[i];
104
+ const line = raw.replace(/\s+$/, '');
105
+ if (!line.trim() || /^\s*#/.test(line))
106
+ continue;
107
+ const indented = /^\s/.test(line);
108
+ if (indented) {
109
+ const item = /^\s+-\s*(.*)$/.exec(line);
110
+ if (item && listKey) {
111
+ lists[listKey].push(stripQuotes(item[1].trim()));
112
+ continue;
113
+ }
114
+ if (blockKey) {
115
+ blockLines.push(line.replace(/^\s+/, ''));
116
+ continue;
117
+ }
118
+ continue; // 嵌套映射(如 `metadata:` 下缩进的 `type: skill`)——只认扁平的,嵌套的忽略
119
+ }
120
+ closeBlock();
121
+ closeList();
122
+ const m = /^([A-Za-z][A-Za-z0-9_.-]*)\s*:\s*(.*)$/.exec(line);
123
+ if (!m)
124
+ continue;
125
+ const key = m[1];
126
+ const value = m[2].trim();
127
+ if (/^[|>][-+]?$/.test(value)) {
128
+ blockKey = key;
129
+ blockMode = value.startsWith('|') ? 'literal' : 'folded';
130
+ continue;
131
+ }
132
+ if (value === '') {
133
+ // 空值:后面若是缩进的 `- ` 就是列表,否则就是个空字段
134
+ lists[key] = lists[key] || [];
135
+ listKey = key;
136
+ fields[key] = '';
137
+ continue;
138
+ }
139
+ fields[key] = stripQuotes(value);
140
+ }
141
+ closeBlock();
142
+ closeList();
143
+ return { fields, lists };
144
+ }
145
+ function stripQuotes(value) {
146
+ return String(value || '').replace(/^["']|["']$/g, '');
147
+ }
148
+ // ---------- 扫描 ----------
149
+ export function scanSkills(roots = skillRoots()) {
150
+ const skills = [];
151
+ const unreadable = [];
152
+ const conflicts = [];
153
+ const missingRoots = [];
154
+ const seen = new Map();
155
+ for (const root of roots) {
156
+ let entries = [];
157
+ try {
158
+ if (!existsSync(root) || !statSync(root).isDirectory()) {
159
+ missingRoots.push(root);
160
+ continue;
161
+ }
162
+ entries = readdirSync(root);
163
+ }
164
+ catch {
165
+ missingRoots.push(root);
166
+ continue;
167
+ }
168
+ for (const entry of entries) {
169
+ const file = join(root, entry, 'SKILL.md');
170
+ const dir = join(root, entry);
171
+ // 只认 `<root>/<id>/SKILL.md`。**符号链接是跟的**(有意):在 git 仓库里开发技能、
172
+ // 再 `ln -s` 到技能根目录是常见做法,拒掉会让人觉得"我的技能怎么不见了"。
173
+ // 软链是用户自己放的(扩展造不出来),而 `read_skill` 只可能读到名字叫 `SKILL.md`
174
+ // 的文件,所以这条不是一个可被扩展利用的越界口子。
175
+ try {
176
+ if (!statSync(dir).isDirectory())
177
+ continue;
178
+ if (!existsSync(file) || !statSync(file).isFile())
179
+ continue;
180
+ }
181
+ catch {
182
+ continue;
183
+ }
184
+ let text = '';
185
+ try {
186
+ text = readFileSync(file, 'utf8');
187
+ }
188
+ catch (error) {
189
+ unreadable.push({ file, reason: `读不了:${error.message}` });
190
+ continue;
191
+ }
192
+ const fm = parseFrontmatter(text);
193
+ if (!fm) {
194
+ unreadable.push({ file, reason: '开头的 --- frontmatter 段缺失或不闭合' });
195
+ continue;
196
+ }
197
+ const notes = [];
198
+ const id = entry;
199
+ if (!ID_RE.test(id)) {
200
+ // 连我们这套宽规则都不满足(大写、空格、中文…):仍然保留,但要说出来
201
+ notes.push('ID 含非规范字符(不是小写字母/数字/点/下划线/连字符),本机可用,但别的 Agent 可能不认');
202
+ }
203
+ else if (!SPEC_ID_RE.test(id)) {
204
+ // 实测用户有 3 个这种 ID(clz_docx_to_mp 等)。可用,但搬去别的 Agent 会不合规。
205
+ notes.push('ID 不符合 Anthropic Agent Skills 规范(只允许小写字母/数字/单个连字符),本机可用,搬去别的 Agent 可能不认');
206
+ }
207
+ const description = String(fm.fields.description || '').trim();
208
+ if (!description)
209
+ notes.push('frontmatter 里没有 description —— 模型只能靠它判断这个技能是干什么的');
210
+ if (seen.has(id)) {
211
+ conflicts.push({ id, winner: seen.get(id), loser: file });
212
+ continue; // 靠前的根胜出;后一个只报冲突,不覆盖
213
+ }
214
+ seen.set(id, file);
215
+ skills.push({
216
+ id,
217
+ name: String(fm.fields.name || id).trim() || id,
218
+ description,
219
+ version: String(fm.fields.version || '').trim(),
220
+ file,
221
+ root,
222
+ selfDisabled: String(fm.fields.enabled || '').trim().toLowerCase() === 'false',
223
+ triggers: fm.lists.triggers || [],
224
+ notes,
225
+ });
226
+ }
227
+ }
228
+ skills.sort((a, b) => a.id.localeCompare(b.id));
229
+ return { skills, unreadable, conflicts, missingRoots };
230
+ }
231
+ export function findSkill(id, scan = scanSkills()) {
232
+ return scan.skills.find(s => s.id === id);
233
+ }
234
+ // ---------- 四态降级 ----------
235
+ export function skillState(skill, disabled = disabledIds()) {
236
+ if (skill.selfDisabled || disabled.includes(skill.id))
237
+ return 'disabled';
238
+ return 'ready';
239
+ }
240
+ /**
241
+ * 把技能渲染成给模型的一句话。四态,每一态都**说实话**:
242
+ * 缺文件不阻断(照 WeChatBridge 的做法:继续做,但要求模型在回答里说明这块没做)。
243
+ */
244
+ export function describeSkill(id, scan = scanSkills()) {
245
+ const skill = findSkill(id, scan);
246
+ if (!skill) {
247
+ return {
248
+ state: 'missing',
249
+ line: `技能「${id}」不可用(本机没有这个技能),请直接完成,并在回答里说明哪部分没做。`,
250
+ };
251
+ }
252
+ const state = skillState(skill);
253
+ if (state === 'disabled') {
254
+ return { state, line: `技能「${skill.name}」已被用户禁用,不要使用它。` };
255
+ }
256
+ return {
257
+ state,
258
+ line: `技能「${skill.name}」:说明文件在 \`${skill.file}\`,请先读它再严格按其执行。`,
259
+ };
260
+ }
261
+ /**
262
+ * 解析 `{{skill:<id>}}` 行内引用。**只认这一种形式**,别的 `{{...}}` 原样保留
263
+ * (本仓没有模板引擎,不要让人以为这是通用的)。
264
+ * 未知 id **不静默删掉** —— 显式告诉模型"你引用了不存在的技能"。
265
+ */
266
+ export function renderSkillRefs(text, scan = scanSkills()) {
267
+ return String(text || '').replace(/\{\{skill:([^}]+)\}\}/g, (_all, rawId) => {
268
+ const id = rawId.trim();
269
+ const { line } = describeSkill(id, scan);
270
+ return line;
271
+ });
272
+ }
273
+ /** 一个场景/一段文本实际引用了哪些技能:行内引用 ∪ 显式声明(去重、保序) */
274
+ export function referencedSkillIds(text, declared = []) {
275
+ const ids = [];
276
+ const push = (id) => { if (id && !ids.includes(id))
277
+ ids.push(id); };
278
+ for (const m of String(text || '').matchAll(/\{\{skill:([^}]+)\}\}/g))
279
+ push(m[1].trim());
280
+ for (const id of declared)
281
+ push(String(id || '').trim());
282
+ return ids;
283
+ }
284
+ /**
285
+ * 读某个技能的 `SKILL.md` 正文。
286
+ *
287
+ * **路径限界**:只从扫描结果里取路径,绝不接受调用方拼出来的路径。也就是说
288
+ * `read_skill('../config.json')` 这类根本走不到文件系统 —— 因为 `../config.json`
289
+ * 不是任何一个扫描出来的技能 id。这条是 P4 验收标准的现场,有测试逐个盯着。
290
+ */
291
+ export function readSkillBody(id, scan = scanSkills()) {
292
+ const skill = findSkill(id, scan);
293
+ if (!skill)
294
+ return { ok: false, text: `本机没有技能「${id}」。可以用 list_skills 看有哪些。` };
295
+ if (skillState(skill) === 'disabled') {
296
+ return { ok: false, text: `技能「${skill.id}」已被禁用,不读取它的内容。` };
297
+ }
298
+ let text = '';
299
+ try {
300
+ text = readFileSync(skill.file, 'utf8');
301
+ }
302
+ catch (error) {
303
+ return { ok: false, text: `技能「${skill.id}」的说明文件读不了:${error.message}` };
304
+ }
305
+ const truncated = text.length > SKILL_BODY_LIMIT;
306
+ return {
307
+ ok: true,
308
+ text: truncated ? `${text.slice(0, SKILL_BODY_LIMIT)}\n\n…(正文过长,已截断到 ${SKILL_BODY_LIMIT} 字)` : text,
309
+ truncated,
310
+ };
311
+ }
312
+ // ---------- 提示词目录 ----------
313
+ /** 只列名字 + 描述 + 状态。27 个技能的正文全塞进每轮提示词是浪费,正文按需 `read_skill`。 */
314
+ export function skillCatalogueLines(scan = scanSkills(), limit = 40) {
315
+ const disabled = disabledIds();
316
+ const usable = scan.skills.filter(s => skillState(s, disabled) === 'ready');
317
+ const lines = usable.slice(0, limit).map(s => {
318
+ const desc = s.description.length > 80 ? `${s.description.slice(0, 80)}…` : s.description;
319
+ return `· ${s.id}(${s.name}):${desc || '(无描述)'}`;
320
+ });
321
+ const hidden = usable.length - lines.length;
322
+ const off = scan.skills.length - usable.length;
323
+ const notes = [];
324
+ if (hidden > 0)
325
+ notes.push(`另有 ${hidden} 个技能未列出`);
326
+ if (off > 0)
327
+ notes.push(`${off} 个技能被禁用`);
328
+ return notes.length ? [...lines, `(${notes.join(';')})`] : lines;
329
+ }
330
+ //# sourceMappingURL=assistantSkills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistantSkills.js","sourceRoot":"","sources":["../../../src/services/assistantSkills.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,37 @@
1
1
  import type { AssistantMemory } from './assistantMemory.js';
2
+ /**
3
+ * 总览索引在哪:**在概念目录的上一层**——`Wiki/Concepts/` 的兄弟是 `Wiki/00-Overview.md`。
4
+ *
5
+ * 抽成函数是为了能直接测:这段路径写错过一次(写成 `join(dir, '00-Overview.md')`,于是一直读不到),
6
+ * 而当时那条测试只能断言「有内容或没有」这种形状——真实机器上有索引、CI 上没有,两条路都绿。
7
+ */
8
+ export declare function wikiIndexPath(conceptDir: string): string;
9
+ /**
10
+ * 线的展示名 —— **TS 侧只此一份**。原来有两处各自从路径里找 `Chat` 这个词猜
11
+ * (`wiki_health` 与 `get_vault_stats`),改词的那天只会改到一半。
12
+ *
13
+ * 与 Python 侧 `_utils.LINE_LABELS` 是同一份名单,靠 `test/concept-dirs-agreement.test.ts`
14
+ * 钉住一致(跨语言没法共享一个常量,这个仓库对这类常量的既有做法就是"各写各的、由测试钉住")。
15
+ *
16
+ * **两条线各自一个根之后这里要跟着改**:路径里不会再有 `Wiki`/`Chat` 这一段。
17
+ * 到那时 `wiki_health` 已经直接取 Python 给的 `report.lineLabel`(认得线的目录它都会给),
18
+ * 这里只剩"认不出的目录"这一支要兜底。
19
+ */
20
+ export declare const VAULT_LINE_LABELS: Record<string, string>;
21
+ /** 概念目录 → 线 id(`wiki`/`chat`)。按**路径段**认(`…/Wiki/Concepts`);认不出返回 null,不猜。 */
22
+ export declare function vaultLineId(dir: string): string | null;
23
+ /** 概念目录 → 线的展示名。**认不出线就返回目录名,不猜成某一条**。 */
24
+ export declare function vaultLineLabel(dir: string): string;
25
+ /**
26
+ * 工具参数里的 `line`:`wiki` / `chat` / `all`,不传就是 `wiki`(两条线分开之后,
27
+ * **默认只看文章线**,要合起来看显式给 `all`)。
28
+ *
29
+ * 认不出的值返回 `null` 让调用方**报错**,而不是当 `all`:`line: 'wiki '` 或 `'Wiki'`
30
+ * 悄悄变成"两条线都搜"的话,"我限定住了"就是句假话,而结果里看不出来。
31
+ */
32
+ export declare function toolLine(value: unknown): 'wiki' | 'chat' | 'all' | null;
33
+ /** 线 id → 展示名(工具输出里说"搜了哪条"用)。 */
34
+ export declare function lineLabelOf(line: 'wiki' | 'chat' | 'all'): string;
2
35
  /**
3
36
  * 概念名 → 文件名。**与 `compile_wiki` 是同一套规则**(非法字符换下划线、截到 60 字)。
4
37
  *
@@ -28,7 +61,7 @@ export declare function pageBody(text: string): string;
28
61
  * 读不完的图等于没给。截断了要**说出来**(`truncated`),不能默默少给;
29
62
  * - **没建页的邻居照旧报数**(`missing`),不静默吞掉。
30
63
  */
31
- export declare function conceptSubgraph(pageName: string, depth?: number, maxNodes?: number, wikiDirs?: string[]): {
64
+ export declare function conceptSubgraph(pageName: string, depth?: number, maxNodes?: number, wikiDirs?: string[], homeDir?: string): {
32
65
  levels: Array<Array<{
33
66
  name: string;
34
67
  brief: string;