bobo-ai-cli 3.0.3 → 3.0.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.
Files changed (238) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +259 -259
  3. package/bundled-skills/CORE_SKILLS.txt +18 -18
  4. package/bundled-skills/backend-expert/SKILL.md +97 -97
  5. package/bundled-skills/code-review/SKILL.md +280 -280
  6. package/bundled-skills/code-review-expert/SKILL.md +85 -85
  7. package/bundled-skills/context-budget-analyzer/SKILL.md +76 -76
  8. package/bundled-skills/context-compressor/SKILL.md +75 -75
  9. package/bundled-skills/context-optimization-suite/SKILL.md +162 -162
  10. package/bundled-skills/frontend-expert/SKILL.md +93 -93
  11. package/bundled-skills/github/SKILL.md +12 -12
  12. package/bundled-skills/high-agency/SKILL.md +473 -473
  13. package/bundled-skills/high-agency/references/builder-patterns.md +126 -126
  14. package/bundled-skills/high-agency/references/recovery-playbook.md +298 -298
  15. package/bundled-skills/memory-manager/SKILL.md +214 -214
  16. package/bundled-skills/memory-manager/references/advanced-config.md +65 -65
  17. package/bundled-skills/orchestrator/SKILL.md +681 -681
  18. package/bundled-skills/planning-with-files/SKILL.md +193 -193
  19. package/bundled-skills/skill-creator/SKILL.md +220 -220
  20. package/bundled-skills/testing-expert/SKILL.md +99 -99
  21. package/bundled-skills/verify/SKILL.md +15 -15
  22. package/dist/agent.d.ts +5 -0
  23. package/dist/agent.js +11 -1
  24. package/dist/agent.js.map +1 -1
  25. package/dist/agents/catalog.d.ts +47 -0
  26. package/dist/agents/catalog.js +63 -5
  27. package/dist/agents/catalog.js.map +1 -1
  28. package/dist/agents/router.d.ts +12 -1
  29. package/dist/agents/router.js +43 -3
  30. package/dist/agents/router.js.map +1 -1
  31. package/dist/agents/spawn.js +36 -18
  32. package/dist/agents/spawn.js.map +1 -1
  33. package/dist/autonomous.js +5 -5
  34. package/dist/cli.js +23 -21
  35. package/dist/cli.js.map +1 -1
  36. package/dist/compactor.js +39 -39
  37. package/dist/dream.js +29 -29
  38. package/dist/image-input.d.ts +44 -0
  39. package/dist/image-input.js +161 -0
  40. package/dist/image-input.js.map +1 -0
  41. package/dist/memory.js +13 -13
  42. package/dist/project.js +15 -15
  43. package/dist/repl.js +88 -0
  44. package/dist/repl.js.map +1 -1
  45. package/dist/skills.js +54 -54
  46. package/dist/sub-agents.js +65 -65
  47. package/dist/tools/browser.js +21 -21
  48. package/dist/tools/claude-code.js +10 -10
  49. package/dist/web.js +7 -7
  50. package/dist/wiki-commands.d.ts +2 -0
  51. package/dist/wiki-commands.js +249 -0
  52. package/dist/wiki-commands.js.map +1 -0
  53. package/dist/wiki.d.ts +90 -0
  54. package/dist/wiki.js +614 -0
  55. package/dist/wiki.js.map +1 -0
  56. package/knowledge/advanced-patterns.md +70 -70
  57. package/knowledge/agent-directives.md +74 -74
  58. package/knowledge/api-integration-patterns.md +102 -0
  59. package/knowledge/code-review-protocol.md +69 -0
  60. package/knowledge/dream.md +36 -36
  61. package/knowledge/engineering.md +52 -46
  62. package/knowledge/error-catalog.md +38 -33
  63. package/knowledge/event-driven-architecture.md +43 -0
  64. package/knowledge/external-alignment.md +47 -0
  65. package/knowledge/high-agency.md +73 -0
  66. package/knowledge/image-generation.md +48 -0
  67. package/knowledge/index.json +194 -169
  68. package/knowledge/llm-wiki-pattern.md +71 -0
  69. package/knowledge/long-task-management.md +79 -0
  70. package/knowledge/memory/cache-optimization-and-skill-integration.md +102 -102
  71. package/knowledge/memory/engineering-patterns.md +134 -134
  72. package/knowledge/memory/feedback_root_structure.md +15 -15
  73. package/knowledge/memory/project-contexts.md +69 -69
  74. package/knowledge/memory/tools-and-services.md +85 -85
  75. package/knowledge/memory-management.md +72 -0
  76. package/knowledge/rules/advisor-strategy.md +204 -0
  77. package/knowledge/rules/agents.md +62 -62
  78. package/knowledge/rules/blocking-rules.md +323 -323
  79. package/knowledge/rules/cache-management.md +379 -379
  80. package/knowledge/rules/capability-evolution.md +132 -132
  81. package/knowledge/rules/coding.md +126 -126
  82. package/knowledge/rules/engineering-workflows.md +225 -225
  83. package/knowledge/rules/evomap-content-guidelines.md +354 -354
  84. package/knowledge/rules/evomap-guide.md +224 -224
  85. package/knowledge/rules/external-alignment.md +22 -0
  86. package/knowledge/rules/git.md +31 -31
  87. package/knowledge/rules/hooks.md +106 -106
  88. package/knowledge/rules/performance.md +101 -101
  89. package/knowledge/rules/remotion-auto-production.md +1120 -1120
  90. package/knowledge/rules/security.md +46 -46
  91. package/knowledge/rules/testing.md +32 -32
  92. package/knowledge/rules/work-mode.md +208 -208
  93. package/knowledge/rules.md +62 -62
  94. package/knowledge/self-evolution.md +78 -0
  95. package/knowledge/self-rationalization-guard.md +52 -0
  96. package/knowledge/skills/Skill_Seekers.md +1722 -1722
  97. package/knowledge/skills/ab-test-setup.md +557 -557
  98. package/knowledge/skills/agent-sdk-dev.md +238 -238
  99. package/knowledge/skills/agent-tools.md +136 -136
  100. package/knowledge/skills/analytics-tracking.md +597 -597
  101. package/knowledge/skills/artifacts-builder.md +89 -89
  102. package/knowledge/skills/asana.md +12 -12
  103. package/knowledge/skills/backend-expert.md +97 -97
  104. package/knowledge/skills/brand-voice.md +481 -481
  105. package/knowledge/skills/browser-use.md +419 -419
  106. package/knowledge/skills/cache-optimization-skill.md +179 -179
  107. package/knowledge/skills/canvas-design.md +147 -147
  108. package/knowledge/skills/citation-validator.md +203 -203
  109. package/knowledge/skills/clangd-lsp.md +52 -52
  110. package/knowledge/skills/code-review-expert.md +85 -85
  111. package/knowledge/skills/code-review.md +280 -280
  112. package/knowledge/skills/code-simplifier.md +12 -12
  113. package/knowledge/skills/commit-commands.md +258 -258
  114. package/knowledge/skills/competitor-alternatives.md +795 -795
  115. package/knowledge/skills/content-atomizer.md +910 -910
  116. package/knowledge/skills/content-research-writer.md +605 -605
  117. package/knowledge/skills/context-optimization-suite.md +162 -162
  118. package/knowledge/skills/context7.md +12 -12
  119. package/knowledge/skills/copy-editing.md +494 -494
  120. package/knowledge/skills/copywriting.md +510 -510
  121. package/knowledge/skills/csharp-lsp.md +40 -40
  122. package/knowledge/skills/decision-making-framework.md +154 -154
  123. package/knowledge/skills/developer-growth-analysis.md +335 -335
  124. package/knowledge/skills/direct-response-copy.md +2336 -2336
  125. package/knowledge/skills/docker-expert.md +229 -229
  126. package/knowledge/skills/document-skills.md +12 -12
  127. package/knowledge/skills/documentation-expert.md +126 -126
  128. package/knowledge/skills/email-sequence.md +1061 -1061
  129. package/knowledge/skills/email-sequences.md +910 -910
  130. package/knowledge/skills/example-plugin.md +72 -72
  131. package/knowledge/skills/explanatory-output-style.md +82 -82
  132. package/knowledge/skills/feature-dev.md +458 -458
  133. package/knowledge/skills/file-organizer.md +466 -466
  134. package/knowledge/skills/firebase.disabled.md +12 -12
  135. package/knowledge/skills/form-cro.md +488 -488
  136. package/knowledge/skills/free-tool-strategy.md +636 -636
  137. package/knowledge/skills/frontend-design-offical.md +55 -55
  138. package/knowledge/skills/frontend-design.md +41 -41
  139. package/knowledge/skills/frontend-expert.md +93 -93
  140. package/knowledge/skills/github.md +12 -12
  141. package/knowledge/skills/gitlab.md +12 -12
  142. package/knowledge/skills/gopls-lsp.md +32 -32
  143. package/knowledge/skills/got-controller.md +218 -218
  144. package/knowledge/skills/greptile.md +72 -72
  145. package/knowledge/skills/hookify.md +376 -376
  146. package/knowledge/skills/image-editor.md +189 -189
  147. package/knowledge/skills/image-enhancer.md +109 -109
  148. package/knowledge/skills/jdtls-lsp.md +49 -49
  149. package/knowledge/skills/json-canvas.md +654 -654
  150. package/knowledge/skills/keyword-research.md +559 -559
  151. package/knowledge/skills/kotlin-lsp.md +28 -28
  152. package/knowledge/skills/laravel-boost.md +12 -12
  153. package/knowledge/skills/launch-strategy.md +394 -394
  154. package/knowledge/skills/lead-magnet.md +393 -393
  155. package/knowledge/skills/learning-output-style.md +106 -106
  156. package/knowledge/skills/linear.md +12 -12
  157. package/knowledge/skills/lua-lsp.md +47 -47
  158. package/knowledge/skills/marketing-ideas.md +720 -720
  159. package/knowledge/skills/marketing-psychology.md +534 -534
  160. package/knowledge/skills/mcp-builder.md +369 -369
  161. package/knowledge/skills/meeting-insights-analyzer.md +347 -347
  162. package/knowledge/skills/memory-evolution-system.md +172 -172
  163. package/knowledge/skills/multi-lens-thinking.md +407 -407
  164. package/knowledge/skills/nano-banana-pro.md +116 -116
  165. package/knowledge/skills/newsletter.md +736 -736
  166. package/knowledge/skills/notebooklm.md +296 -296
  167. package/knowledge/skills/obsidian-bases.md +634 -634
  168. package/knowledge/skills/obsidian-markdown.md +651 -651
  169. package/knowledge/skills/onboarding-cro.md +494 -494
  170. package/knowledge/skills/orchestrator.md +681 -681
  171. package/knowledge/skills/page-cro.md +379 -379
  172. package/knowledge/skills/paid-ads.md +624 -624
  173. package/knowledge/skills/paywall-upgrade-cro.md +651 -651
  174. package/knowledge/skills/php-lsp.md +36 -36
  175. package/knowledge/skills/planning-with-files.md +193 -193
  176. package/knowledge/skills/playwright.md +12 -12
  177. package/knowledge/skills/plugin-dev.md +434 -434
  178. package/knowledge/skills/popup-cro.md +520 -520
  179. package/knowledge/skills/positioning-angles.md +330 -330
  180. package/knowledge/skills/pr-review-toolkit.md +359 -359
  181. package/knowledge/skills/pricing-strategy.md +777 -777
  182. package/knowledge/skills/programmatic-seo.md +714 -714
  183. package/knowledge/skills/pyright-lsp.md +43 -43
  184. package/knowledge/skills/quality-assurance-framework.md +168 -168
  185. package/knowledge/skills/question-refiner.md +160 -160
  186. package/knowledge/skills/ralph-loop.md +205 -205
  187. package/knowledge/skills/refactoring-expert.md +103 -103
  188. package/knowledge/skills/referral-program.md +668 -668
  189. package/knowledge/skills/research-executor.md +164 -164
  190. package/knowledge/skills/review-with-security.md +12 -12
  191. package/knowledge/skills/rust-analyzer-lsp.md +50 -50
  192. package/knowledge/skills/schema-markup.md +647 -647
  193. package/knowledge/skills/security-audit-expert.md +124 -124
  194. package/knowledge/skills/security-expert.md +140 -140
  195. package/knowledge/skills/security-guidance.md +12 -12
  196. package/knowledge/skills/seedance-prompt.md +139 -139
  197. package/knowledge/skills/self-evolution.md +1160 -1160
  198. package/knowledge/skills/seo-audit.md +432 -432
  199. package/knowledge/skills/seo-content.md +787 -787
  200. package/knowledge/skills/serena.md +12 -12
  201. package/knowledge/skills/signup-flow-cro.md +409 -409
  202. package/knowledge/skills/skill-creator.md +220 -220
  203. package/knowledge/skills/skill-manager.md +226 -226
  204. package/knowledge/skills/skill-share.md +98 -98
  205. package/knowledge/skills/slack.md +12 -12
  206. package/knowledge/skills/social-content.md +878 -878
  207. package/knowledge/skills/spec-flow-skill.md +124 -124
  208. package/knowledge/skills/stripe.md +12 -12
  209. package/knowledge/skills/supabase.md +12 -12
  210. package/knowledge/skills/swift-lsp.md +40 -40
  211. package/knowledge/skills/synthesizer.md +236 -236
  212. package/knowledge/skills/template-skill.md +16 -16
  213. package/knowledge/skills/testing-expert.md +99 -99
  214. package/knowledge/skills/theme-factory.md +72 -72
  215. package/knowledge/skills/tiktok-research.md +208 -208
  216. package/knowledge/skills/typescript-lsp.md +36 -36
  217. package/knowledge/skills/ui-ux-pro-max.md +247 -247
  218. package/knowledge/skills/verify.md +15 -15
  219. package/knowledge/skills/visual-prompt-engineer.md +102 -102
  220. package/knowledge/skills/webapp-testing.md +111 -111
  221. package/knowledge/skills/wide-research.md +191 -191
  222. package/knowledge/system.md +93 -93
  223. package/knowledge/task-router.md +46 -37
  224. package/knowledge/verification.md +38 -38
  225. package/knowledge/worker-prompt-craft.md +66 -0
  226. package/knowledge/workflows/3d-viz.md +47 -47
  227. package/knowledge/workflows/data-pipeline.md +47 -47
  228. package/knowledge/workflows/db-migration.md +51 -51
  229. package/knowledge/workflows/feature-dev.md +41 -41
  230. package/knowledge/workflows/tdd-flow.md +52 -52
  231. package/knowledge/workflows/ui-verify.md +51 -51
  232. package/package.json +74 -74
  233. package/dist/claude-bridge.d.ts +0 -18
  234. package/dist/claude-bridge.js +0 -91
  235. package/dist/claude-bridge.js.map +0 -1
  236. package/dist/tools/claude-bridge-tool.d.ts +0 -4
  237. package/dist/tools/claude-bridge-tool.js +0 -44
  238. package/dist/tools/claude-bridge-tool.js.map +0 -1
@@ -1,15 +1,15 @@
1
- ---
2
- id: "verify"
3
- title: "Verify"
4
- category: "dev-tools"
5
- tags: []
6
- triggers: []
7
- dependencies: []
8
- source: "E:/Bobo's Coding cache/.claude/skills/verify"
9
- ---
10
-
11
- 启动开发服务器并检查:
12
-
13
- 1. 视觉元素正确渲染
14
- 2. 3D 连接正确附着
15
- 3. 无控制台错误
1
+ ---
2
+ id: "verify"
3
+ title: "Verify"
4
+ category: "dev-tools"
5
+ tags: []
6
+ triggers: []
7
+ dependencies: []
8
+ source: "E:/Bobo's Coding cache/.claude/skills/verify"
9
+ ---
10
+
11
+ 启动开发服务器并检查:
12
+
13
+ 1. 视觉元素正确渲染
14
+ 2. 3D 连接正确附着
15
+ 3. 无控制台错误
package/dist/agent.d.ts CHANGED
@@ -15,6 +15,11 @@ export interface AgentOptions {
15
15
  model?: string;
16
16
  /** Callback when auto-compact is needed */
17
17
  onAutoCompact?: () => void;
18
+ /** Image attachments for multimodal input */
19
+ images?: Array<{
20
+ base64: string;
21
+ mediaType: string;
22
+ }>;
18
23
  }
19
24
  export declare function runAgent(userMessage: string, history: ChatCompletionMessageParam[], options?: AgentOptions): Promise<{
20
25
  response: string;
package/dist/agent.js CHANGED
@@ -132,10 +132,20 @@ export async function runAgent(userMessage, history, options = {}) {
132
132
  dynamicBoundary,
133
133
  ...dynamicParts,
134
134
  ].join('\n\n---\n\n');
135
+ // Build user message content (text-only or multimodal)
136
+ const userContent = options.images?.length
137
+ ? [
138
+ ...options.images.map(img => ({
139
+ type: 'image_url',
140
+ image_url: { url: `data:${img.mediaType};base64,${img.base64}` },
141
+ })),
142
+ { type: 'text', text: userMessage },
143
+ ]
144
+ : userMessage;
135
145
  const messages = [
136
146
  { role: 'system', content: systemPrompt },
137
147
  ...history,
138
- { role: 'user', content: userMessage },
148
+ { role: 'user', content: userContent },
139
149
  ];
140
150
  let fullResponse = '';
141
151
  const maxIterations = 20;
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,16 @@
5
5
  * 分 4 lanes: Build, Review, Domain, Coordination
6
6
  */
7
7
  export type ModelTier = 'haiku' | 'sonnet' | 'opus';
8
+ /**
9
+ * Advisor capability flag
10
+ *
11
+ * Based on Anthropic's Advisor Strategy (2026-04-09):
12
+ * - Small model (executor) drives end-to-end
13
+ * - Opus agents can serve as advisors: give direction, not execute
14
+ * - Advisor only outputs plan / correction / stop signal
15
+ * - Never calls tools, never produces user-facing output
16
+ */
17
+ export type AdvisorCapability = 'executor-only' | 'advisor-eligible' | 'advisor-or-executor';
8
18
  export interface AgentDefinition {
9
19
  /** Agent 角色名 */
10
20
  role: string;
@@ -16,6 +26,13 @@ export interface AgentDefinition {
16
26
  useCases: string[];
17
27
  /** 角色边界(不做什么) */
18
28
  boundaries: string[];
29
+ /**
30
+ * Advisor Strategy role
31
+ * - 'executor-only': always drives, never advises (haiku/sonnet agents)
32
+ * - 'advisor-eligible': can serve as advisor to an executor (opus agents)
33
+ * - 'advisor-or-executor': can do both depending on task (opus agents on simple tasks)
34
+ */
35
+ advisorRole: AdvisorCapability;
19
36
  }
20
37
  /**
21
38
  * Agent Catalog
@@ -38,3 +55,33 @@ export declare function getAllAgentRoles(): string[];
38
55
  * 按 lane 分组
39
56
  */
40
57
  export declare function getAgentsByLane(): Record<string, string[]>;
58
+ /**
59
+ * Get agents that can serve as advisors (Opus-tier agents with advisor-eligible role)
60
+ *
61
+ * Based on Anthropic's Advisor Strategy:
62
+ * - Advisor = stronger model that gives direction but never executes tools
63
+ * - Executor = smaller model that drives end-to-end and escalates when stuck
64
+ */
65
+ export declare function getAdvisorEligibleAgents(): string[];
66
+ /**
67
+ * Determine if a task should use advisor strategy
68
+ *
69
+ * Rules (from advisor-strategy.md):
70
+ * - Simple (1-2 steps): no advisor
71
+ * - Medium (3-5 steps): advisor at start + end (max_uses=2)
72
+ * - Complex (6+ steps): advisor at start + stuck + end (max_uses=3)
73
+ */
74
+ export declare function shouldUseAdvisor(taskComplexity: 'simple' | 'medium' | 'complex'): {
75
+ use: boolean;
76
+ maxUses: number;
77
+ };
78
+ /**
79
+ * Select the best advisor for a given executor role
80
+ *
81
+ * Matching logic:
82
+ * - executor → planner (approach guidance)
83
+ * - tester → reviewer (quality guidance)
84
+ * - verifier → critic (gap analysis)
85
+ * - default → planner
86
+ */
87
+ export declare function selectAdvisorForExecutor(executorRole: string): string;
@@ -29,27 +29,31 @@ export const AGENT_CATALOG = {
29
29
  'Does not analyze logic',
30
30
  'Does not write documentation',
31
31
  ],
32
+ advisorRole: 'executor-only',
32
33
  },
33
34
  planner: {
34
35
  role: 'planner',
35
36
  model: 'opus',
36
- description: 'Task sequencing, execution plan creation',
37
+ description: 'Task sequencing, execution plan creation. Can serve as advisor to executors.',
37
38
  useCases: [
38
39
  'Break down complex tasks',
39
40
  'Create execution plans',
40
41
  'Identify dependencies',
41
42
  'Risk assessment',
43
+ 'Advise executors on approach before they start coding',
42
44
  ],
43
45
  boundaries: [
44
46
  'Does not implement code',
45
47
  'Does not gather requirements',
46
48
  'Does not review plans (use critic)',
49
+ 'As advisor: does not call tools or produce user-facing output',
47
50
  ],
51
+ advisorRole: 'advisor-eligible',
48
52
  },
49
53
  executor: {
50
54
  role: 'executor',
51
55
  model: 'sonnet',
52
- description: 'Code implementation, refactoring, feature work',
56
+ description: 'Code implementation, refactoring, feature work. Primary driver in advisor strategy.',
53
57
  useCases: [
54
58
  'Feature implementation',
55
59
  'Code refactoring',
@@ -57,10 +61,11 @@ export const AGENT_CATALOG = {
57
61
  'Multi-file changes',
58
62
  ],
59
63
  boundaries: [
60
- 'Does not plan (use planner)',
64
+ 'Does not plan (escalate to planner/advisor)',
61
65
  'Does not verify (use verifier)',
62
66
  'Does not review (use reviewer)',
63
67
  ],
68
+ advisorRole: 'executor-only',
64
69
  },
65
70
  verifier: {
66
71
  role: 'verifier',
@@ -77,23 +82,27 @@ export const AGENT_CATALOG = {
77
82
  'Does not write tests (use tester)',
78
83
  'Does not plan (use planner)',
79
84
  ],
85
+ advisorRole: 'executor-only',
80
86
  },
81
87
  // ===== Review Lane =====
82
88
  reviewer: {
83
89
  role: 'reviewer',
84
90
  model: 'opus',
85
- description: 'Comprehensive code review, logic defects, maintainability',
91
+ description: 'Comprehensive code review, logic defects, maintainability. Can advise executors on quality.',
86
92
  useCases: [
87
93
  'Code review',
88
94
  'API contract review',
89
95
  'Security review',
90
96
  'Performance review',
97
+ 'Advise executors before delivery on quality issues',
91
98
  ],
92
99
  boundaries: [
93
100
  'Does not implement fixes',
94
101
  'Does not write tests',
95
102
  'Does not plan refactors',
103
+ 'As advisor: does not call tools or produce user-facing output',
96
104
  ],
105
+ advisorRole: 'advisor-eligible',
97
106
  },
98
107
  // ===== Domain Lane =====
99
108
  tester: {
@@ -111,6 +120,7 @@ export const AGENT_CATALOG = {
111
120
  'Does not review code (use reviewer)',
112
121
  'Does not verify (use verifier)',
113
122
  ],
123
+ advisorRole: 'executor-only',
114
124
  },
115
125
  writer: {
116
126
  role: 'writer',
@@ -127,23 +137,27 @@ export const AGENT_CATALOG = {
127
137
  'Does not review code',
128
138
  'Does not plan features',
129
139
  ],
140
+ advisorRole: 'executor-only',
130
141
  },
131
142
  // ===== Coordination Lane =====
132
143
  critic: {
133
144
  role: 'critic',
134
145
  model: 'opus',
135
- description: 'Plan/design critical challenge, gap analysis',
146
+ description: 'Plan/design critical challenge, gap analysis. Can advise executors when direction is uncertain.',
136
147
  useCases: [
137
148
  'Challenge plans',
138
149
  'Find gaps in designs',
139
150
  'Multi-angle review',
140
151
  'Risk identification',
152
+ 'Advise executors when approach is not converging',
141
153
  ],
142
154
  boundaries: [
143
155
  'Does not create plans (use planner)',
144
156
  'Does not implement code',
145
157
  'Does not gather requirements',
158
+ 'As advisor: does not call tools or produce user-facing output',
146
159
  ],
160
+ advisorRole: 'advisor-eligible',
147
161
  },
148
162
  };
149
163
  /**
@@ -169,4 +183,48 @@ export function getAgentsByLane() {
169
183
  coordination: ['critic'],
170
184
  };
171
185
  }
186
+ /**
187
+ * Get agents that can serve as advisors (Opus-tier agents with advisor-eligible role)
188
+ *
189
+ * Based on Anthropic's Advisor Strategy:
190
+ * - Advisor = stronger model that gives direction but never executes tools
191
+ * - Executor = smaller model that drives end-to-end and escalates when stuck
192
+ */
193
+ export function getAdvisorEligibleAgents() {
194
+ return Object.entries(AGENT_CATALOG)
195
+ .filter(([_, def]) => def.advisorRole === 'advisor-eligible' || def.advisorRole === 'advisor-or-executor')
196
+ .map(([role]) => role);
197
+ }
198
+ /**
199
+ * Determine if a task should use advisor strategy
200
+ *
201
+ * Rules (from advisor-strategy.md):
202
+ * - Simple (1-2 steps): no advisor
203
+ * - Medium (3-5 steps): advisor at start + end (max_uses=2)
204
+ * - Complex (6+ steps): advisor at start + stuck + end (max_uses=3)
205
+ */
206
+ export function shouldUseAdvisor(taskComplexity) {
207
+ switch (taskComplexity) {
208
+ case 'simple': return { use: false, maxUses: 0 };
209
+ case 'medium': return { use: true, maxUses: 2 };
210
+ case 'complex': return { use: true, maxUses: 3 };
211
+ }
212
+ }
213
+ /**
214
+ * Select the best advisor for a given executor role
215
+ *
216
+ * Matching logic:
217
+ * - executor → planner (approach guidance)
218
+ * - tester → reviewer (quality guidance)
219
+ * - verifier → critic (gap analysis)
220
+ * - default → planner
221
+ */
222
+ export function selectAdvisorForExecutor(executorRole) {
223
+ switch (executorRole) {
224
+ case 'executor': return 'planner';
225
+ case 'tester': return 'reviewer';
226
+ case 'verifier': return 'critic';
227
+ default: return 'planner';
228
+ }
229
+ }
172
230
  //# sourceMappingURL=catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/agents/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/agents/catalog.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmCH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAoC;IAC5D,yBAAyB;IACzB,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,2CAA2C;QACxD,QAAQ,EAAE;YACR,mBAAmB;YACnB,iCAAiC;YACjC,yBAAyB;YACzB,+BAA+B;SAChC;QACD,UAAU,EAAE;YACV,yBAAyB;YACzB,wBAAwB;YACxB,8BAA8B;SAC/B;QACD,WAAW,EAAE,eAAe;KAC7B;IAED,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,8EAA8E;QAC3F,QAAQ,EAAE;YACR,0BAA0B;YAC1B,wBAAwB;YACxB,uBAAuB;YACvB,iBAAiB;YACjB,uDAAuD;SACxD;QACD,UAAU,EAAE;YACV,yBAAyB;YACzB,8BAA8B;YAC9B,oCAAoC;YACpC,+DAA+D;SAChE;QACD,WAAW,EAAE,kBAAkB;KAChC;IAED,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,qFAAqF;QAClG,QAAQ,EAAE;YACR,wBAAwB;YACxB,kBAAkB;YAClB,WAAW;YACX,oBAAoB;SACrB;QACD,UAAU,EAAE;YACV,6CAA6C;YAC7C,gCAAgC;YAChC,gCAAgC;SACjC;QACD,WAAW,EAAE,eAAe;KAC7B;IAED,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,qDAAqD;QAClE,QAAQ,EAAE;YACR,wBAAwB;YACxB,qBAAqB;YACrB,yBAAyB;YACzB,qBAAqB;SACtB;QACD,UAAU,EAAE;YACV,0BAA0B;YAC1B,mCAAmC;YACnC,6BAA6B;SAC9B;QACD,WAAW,EAAE,eAAe;KAC7B;IAED,0BAA0B;IAC1B,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,6FAA6F;QAC1G,QAAQ,EAAE;YACR,aAAa;YACb,qBAAqB;YACrB,iBAAiB;YACjB,oBAAoB;YACpB,oDAAoD;SACrD;QACD,UAAU,EAAE;YACV,0BAA0B;YAC1B,sBAAsB;YACtB,yBAAyB;YACzB,+DAA+D;SAChE;QACD,WAAW,EAAE,kBAAkB;KAChC;IAED,0BAA0B;IAC1B,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE;YACR,kBAAkB;YAClB,yBAAyB;YACzB,sBAAsB;YACtB,mBAAmB;SACpB;QACD,UAAU,EAAE;YACV,6BAA6B;YAC7B,qCAAqC;YACrC,gCAAgC;SACjC;QACD,WAAW,EAAE,eAAe;KAC7B;IAED,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE;YACR,cAAc;YACd,gBAAgB;YAChB,wBAAwB;YACxB,mBAAmB;SACpB;QACD,UAAU,EAAE;YACV,yBAAyB;YACzB,sBAAsB;YACtB,wBAAwB;SACzB;QACD,WAAW,EAAE,eAAe;KAC7B;IAED,gCAAgC;IAChC,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,iGAAiG;QAC9G,QAAQ,EAAE;YACR,iBAAiB;YACjB,sBAAsB;YACtB,oBAAoB;YACpB,qBAAqB;YACrB,kDAAkD;SACnD;QACD,UAAU,EAAE;YACV,qCAAqC;YACrC,yBAAyB;YACzB,8BAA8B;YAC9B,+DAA+D;SAChE;QACD,WAAW,EAAE,kBAAkB;KAChC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;QACrD,MAAM,EAAE,CAAC,UAAU,CAAC;QACpB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC5B,YAAY,EAAE,CAAC,QAAQ,CAAC;KACzB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;SACjC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,kBAAkB,IAAI,GAAG,CAAC,WAAW,KAAK,qBAAqB,CAAC;SACzG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,cAA+C;IAC9E,QAAQ,cAAc,EAAE,CAAC;QACvB,KAAK,QAAQ,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACjD,KAAK,QAAQ,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAChD,KAAK,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CAAC,YAAoB;IAC3D,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,UAAU,CAAC,CAAC,OAAO,SAAS,CAAC;QAClC,KAAK,QAAQ,CAAC,CAAC,OAAO,UAAU,CAAC;QACjC,KAAK,UAAU,CAAC,CAAC,OAAO,QAAQ,CAAC;QACjC,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC;IAC5B,CAAC;AACH,CAAC"}
@@ -32,9 +32,20 @@ export interface RoutingDecision {
32
32
  model: 'haiku' | 'sonnet' | 'opus';
33
33
  agent: AgentDefinition;
34
34
  reason: string;
35
+ /** Advisor strategy config (when applicable) */
36
+ advisor?: {
37
+ /** Whether to use advisor for this task */
38
+ enabled: boolean;
39
+ /** Which agent role serves as advisor */
40
+ advisorRole: string;
41
+ /** Max advisor calls for cost control */
42
+ maxUses: number;
43
+ /** Advisor model tier */
44
+ advisorModel: 'opus';
45
+ };
35
46
  }
36
47
  /**
37
- * 完整路由决策(包含原因)
48
+ * 完整路由决策(包含原因 + advisor strategy)
38
49
  */
39
50
  export declare function routeTaskWithReason(task: string): RoutingDecision;
40
51
  /**
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * 根据任务描述自动选择最合适的 agent 角色
5
5
  */
6
- import { AGENT_CATALOG } from './catalog.js';
6
+ import { AGENT_CATALOG, shouldUseAdvisor, selectAdvisorForExecutor } from './catalog.js';
7
7
  /**
8
8
  * 任务路由规则
9
9
  *
@@ -63,7 +63,7 @@ export function selectModel(task, role) {
63
63
  return agent.model;
64
64
  }
65
65
  /**
66
- * 完整路由决策(包含原因)
66
+ * 完整路由决策(包含原因 + advisor strategy)
67
67
  */
68
68
  export function routeTaskWithReason(task) {
69
69
  const role = routeTask(task);
@@ -76,7 +76,47 @@ export function routeTaskWithReason(task) {
76
76
  else if (role === 'executor') {
77
77
  reason = 'Default role for implementation tasks';
78
78
  }
79
- return { role, model, agent, reason };
79
+ // Determine task complexity for advisor strategy
80
+ const complexity = estimateComplexity(task);
81
+ const advisorDecision = shouldUseAdvisor(complexity);
82
+ let advisor = undefined;
83
+ if (advisorDecision.use && agent.advisorRole === 'executor-only') {
84
+ // Executor-type agents get an advisor assigned
85
+ const advisorRole = selectAdvisorForExecutor(role);
86
+ advisor = {
87
+ enabled: true,
88
+ advisorRole,
89
+ maxUses: advisorDecision.maxUses,
90
+ advisorModel: 'opus',
91
+ };
92
+ }
93
+ return { role, model, agent, reason, advisor };
94
+ }
95
+ /**
96
+ * Estimate task complexity from description
97
+ *
98
+ * Simple: 1-2 steps (lookup, single edit, run command)
99
+ * Medium: 3-5 steps (add feature, fix bug, write script)
100
+ * Complex: 6+ steps (refactor, architecture, multi-file)
101
+ */
102
+ function estimateComplexity(task) {
103
+ const lower = task.toLowerCase();
104
+ const complexIndicators = [
105
+ 'refactor', '重构', 'architecture', '架构',
106
+ 'multiple', '多个', 'across', '跨',
107
+ 'redesign', 'migrate', '迁移', 'overhaul',
108
+ 'system', '系统', 'pipeline', '流水线',
109
+ ];
110
+ if (complexIndicators.some(i => lower.includes(i)))
111
+ return 'complex';
112
+ const simpleIndicators = [
113
+ 'find', '查找', 'search', '搜索',
114
+ 'read', '读', 'check', '检查',
115
+ 'list', '列出', 'show', '显示',
116
+ ];
117
+ if (simpleIndicators.some(i => lower.includes(i)))
118
+ return 'simple';
119
+ return 'medium';
80
120
  }
81
121
  /**
82
122
  * 批量路由(用于 team 模式)
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/agents/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/agents/router.ts"],"names":[],"mappings":"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"}
@@ -18,31 +18,49 @@ export function prepareSpawn(request) {
18
18
  }
19
19
  : routeTaskWithReason(request.task);
20
20
  const agent = decision.agent;
21
- const systemPrompt = buildAgentSystemPrompt(agent, request.task);
21
+ const systemPrompt = buildAgentSystemPrompt(agent, request.task, decision.advisor ? { advisorRole: decision.advisor.advisorRole, maxUses: decision.advisor.maxUses } : undefined);
22
22
  return { decision, agent, systemPrompt };
23
23
  }
24
24
  /**
25
25
  * 构建 agent system prompt
26
26
  */
27
- function buildAgentSystemPrompt(agent, task) {
27
+ function buildAgentSystemPrompt(agent, task, advisorConfig) {
28
28
  const boundaries = agent.boundaries.map(b => `- ${b}`).join('\n');
29
29
  const useCases = agent.useCases.map(u => `- ${u}`).join('\n');
30
- return `# Role: ${agent.role} (${agent.description})
31
-
32
- ## What you do
33
- ${useCases}
34
-
35
- ## What you DON'T do
36
- ${boundaries}
37
-
38
- ## Task
39
- ${task}
40
-
41
- ## Rules
42
- - Stay within your role boundaries
43
- - Report completion status clearly
44
- - If you encounter something outside your role, say so
45
- - Be concise and direct
30
+ let advisorBlock = '';
31
+ if (advisorConfig) {
32
+ advisorBlock = `
33
+ ## Advisor Strategy
34
+ You have access to a ${advisorConfig.advisorRole} advisor (Opus-tier). Max ${advisorConfig.maxUses} calls.
35
+
36
+ Call advisor BEFORE substantive work — before writing, before committing to an interpretation.
37
+ If you need orientation first (finding files, reading code), do that, then call advisor.
38
+
39
+ Also call advisor:
40
+ - When you believe the task is complete (persist results first)
41
+ - When stuck — errors recurring, approach not converging
42
+ - When considering a change of approach
43
+
44
+ Advisor gives direction only. It does not call tools or produce output.
45
+ Give the advice serious weight. If evidence conflicts with advice, escalate once more to reconcile.
46
+ `;
47
+ }
48
+ return `# Role: ${agent.role} (${agent.description})
49
+
50
+ ## What you do
51
+ ${useCases}
52
+
53
+ ## What you DON'T do
54
+ ${boundaries}
55
+ ${advisorBlock}
56
+ ## Task
57
+ ${task}
58
+
59
+ ## Rules
60
+ - Stay within your role boundaries
61
+ - Report completion status clearly
62
+ - If you encounter something outside your role, say so
63
+ - Be concise and direct
46
64
  `;
47
65
  }
48
66
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../src/agents/spawn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../src/agents/spawn.ts"],"names":[],"mappings":"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"}
@@ -58,11 +58,11 @@ export async function runAutonomous(options) {
58
58
  };
59
59
  process.on('SIGINT', abortHandler);
60
60
  // Build the autonomous prompt
61
- const autonomousTask = `You are in AUTONOMOUS mode. Complete the following task end-to-end without asking questions.
62
- Make decisions yourself. If something fails, try a different approach.
63
- Use tools to read files, write code, run tests, and verify your work.
64
- When the task is fully complete, say "TASK COMPLETE" and summarize what you did.
65
-
61
+ const autonomousTask = `You are in AUTONOMOUS mode. Complete the following task end-to-end without asking questions.
62
+ Make decisions yourself. If something fails, try a different approach.
63
+ Use tools to read files, write code, run tests, and verify your work.
64
+ When the task is fully complete, say "TASK COMPLETE" and summarize what you did.
65
+
66
66
  TASK: ${task}`;
67
67
  const spinner = new Spinner();
68
68
  for (iteration = 0; iteration < maxIterations && !aborted; iteration++) {
package/dist/cli.js CHANGED
@@ -14,6 +14,7 @@ import { registerKnowledgeCommand } from './knowledge-commands.js';
14
14
  import { registerRulesCommand } from './rules-commands.js';
15
15
  import { registerStructuredSkillsCommand } from './structured-skills-commands.js';
16
16
  import { registerStructuredTemplateCommand } from './structured-template-commands.js';
17
+ import { registerWikiCommand } from './wiki-commands.js';
17
18
  import { spawnSubAgent, listSubAgents, getSubAgent } from './sub-agents.js';
18
19
  import { initHooksTemplate } from './hooks.js';
19
20
  import { initMcpServers, shutdownMcpServers, getMcpStatus } from './mcp-client.js';
@@ -145,16 +146,16 @@ export function registerCommands(program) {
145
146
  // Create BOBO.md template
146
147
  const boboMdPath = join(process.cwd(), 'BOBO.md');
147
148
  if (!existsSync(boboMdPath)) {
148
- writeFileSync(boboMdPath, `# Project Instructions
149
-
150
- <!-- Bobo reads this file at the start of every session. -->
151
- <!-- Add coding standards, architecture decisions, and project-specific rules here. -->
152
-
153
- ## Build & Test
154
- <!-- e.g.: npm run build, npm test -->
155
-
156
- ## Style Guide
157
- <!-- e.g.: Use TypeScript strict mode, prefer const over let -->
149
+ writeFileSync(boboMdPath, `# Project Instructions
150
+
151
+ <!-- Bobo reads this file at the start of every session. -->
152
+ <!-- Add coding standards, architecture decisions, and project-specific rules here. -->
153
+
154
+ ## Build & Test
155
+ <!-- e.g.: npm run build, npm test -->
156
+
157
+ ## Style Guide
158
+ <!-- e.g.: Use TypeScript strict mode, prefer const over let -->
158
159
  `);
159
160
  printSuccess('Created BOBO.md (project instructions)');
160
161
  }
@@ -458,17 +459,17 @@ export function registerCommands(program) {
458
459
  printLine(chalk.dim(` Focus: ${areas}`));
459
460
  printLine(chalk.dim(` Mode: ${opts.dryRun ? 'dry-run (preview only)' : 'live (will modify code)'}`));
460
461
  printLine(chalk.dim(' Using Claude Code as implementation engine\n'));
461
- const task = `You are improving Bobo CLI (an AI coding assistant CLI tool).
462
- The source code is in the current directory.
463
- Focus on: ${areas}
464
-
465
- Instructions:
466
- 1. Read the relevant source files
467
- 2. Identify specific improvements
468
- 3. Implement the improvements${dryRun}
469
- 4. Run \`npm run build\` to verify
470
- 5. Summarize what you changed and why
471
-
462
+ const task = `You are improving Bobo CLI (an AI coding assistant CLI tool).
463
+ The source code is in the current directory.
464
+ Focus on: ${areas}
465
+
466
+ Instructions:
467
+ 1. Read the relevant source files
468
+ 2. Identify specific improvements
469
+ 3. Implement the improvements${dryRun}
470
+ 4. Run \`npm run build\` to verify
471
+ 5. Summarize what you changed and why
472
+
472
473
  Keep changes minimal and focused. Do not break existing functionality.`;
473
474
  printLine(chalk.dim('Delegating to Claude Code...'));
474
475
  const result = ccExec('claude_code', { task, cwd: process.cwd() });
@@ -566,6 +567,7 @@ Keep changes minimal and focused. Do not break existing functionality.`;
566
567
  registerRulesCommand(program);
567
568
  registerStructuredSkillsCommand(program);
568
569
  registerStructuredTemplateCommand(program);
570
+ registerWikiCommand(program);
569
571
  // ─── Project subcommand ──────────────────────────────────────
570
572
  const projectCmd = program.command('project').description('Manage project configuration');
571
573
  projectCmd.command('init').description('Initialize .bobo/ project config').action(() => {