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
package/dist/repl.js CHANGED
@@ -27,6 +27,7 @@ import { formatCostReport } from './cost-tracker.js';
27
27
  import { getPreset, listPresets } from './providers.js';
28
28
  import { runDream, formatDreamResult, shouldAutoDream } from './dream.js';
29
29
  import { runVerification, formatVerificationResult } from './verification-agent.js';
30
+ import { readImageFromFile, readImageFromClipboard, isImagePath } from './image-input.js';
30
31
  import chalk from 'chalk';
31
32
  /**
32
33
  * Start interactive REPL mode.
@@ -125,11 +126,18 @@ export async function startRepl(opts) {
125
126
  let abortController = null;
126
127
  let lastResponse = '';
127
128
  let autoCompactTriggered = false;
129
+ let pendingImages = [];
128
130
  // Wrapper that renders status bar before prompt
129
131
  const showPrompt = () => {
130
132
  const bar = renderStatusBar();
131
133
  if (bar)
132
134
  printLine(bar);
135
+ if (pendingImages.length > 0) {
136
+ rl.setPrompt(chalk.cyan(`📸[${pendingImages.length}] `) + chalk.green('> '));
137
+ }
138
+ else {
139
+ rl.setPrompt(chalk.green('> '));
140
+ }
133
141
  rl.prompt();
134
142
  };
135
143
  const autoSave = () => {
@@ -606,6 +614,78 @@ export async function startRepl(opts) {
606
614
  showPrompt();
607
615
  continue;
608
616
  }
617
+ // ─── /image ───
618
+ if (input === '/image' || input.startsWith('/image ')) {
619
+ const arg = input.slice(6).trim();
620
+ if (!arg || arg === 'help') {
621
+ printLine(chalk.cyan('📸 Image commands:'));
622
+ printLine(' /image clipboard Grab image from clipboard');
623
+ printLine(' /image <file path> Attach a local image file');
624
+ printLine(' /image clear Remove all pending images');
625
+ printLine(' /image status Show pending images');
626
+ printLine('');
627
+ printLine(chalk.dim(' Attach image(s) then type your message. Images auto-clear after sending.'));
628
+ showPrompt();
629
+ continue;
630
+ }
631
+ if (arg === 'clear') {
632
+ pendingImages = [];
633
+ printSuccess('Cleared all pending images');
634
+ showPrompt();
635
+ continue;
636
+ }
637
+ if (arg === 'status') {
638
+ if (pendingImages.length === 0) {
639
+ printLine(chalk.dim('No pending images'));
640
+ }
641
+ else {
642
+ printLine(chalk.cyan(`📸 ${pendingImages.length} image(s) pending:`));
643
+ for (const img of pendingImages) {
644
+ const sizeKB = Math.round(img.base64.length * 3 / 4 / 1024);
645
+ printLine(` • ${img.source} (${img.mediaType}, ${sizeKB}KB)`);
646
+ }
647
+ }
648
+ showPrompt();
649
+ continue;
650
+ }
651
+ if (arg === 'clipboard') {
652
+ printLine(chalk.dim('Reading clipboard...'));
653
+ const img = readImageFromClipboard();
654
+ if (img) {
655
+ const sizeKB = Math.round(img.base64.length * 3 / 4 / 1024);
656
+ pendingImages.push(img);
657
+ printSuccess(`📸 Image from clipboard attached (${sizeKB}KB). Now type your message.`);
658
+ }
659
+ else {
660
+ printError('No image found in clipboard');
661
+ }
662
+ showPrompt();
663
+ continue;
664
+ }
665
+ // Treat as file path
666
+ const img = readImageFromFile(arg);
667
+ if (img) {
668
+ const sizeKB = Math.round(img.base64.length * 3 / 4 / 1024);
669
+ pendingImages.push(img);
670
+ printSuccess(`📸 Image attached: ${img.source} (${sizeKB}KB). Now type your message.`);
671
+ }
672
+ else {
673
+ printError(`Cannot read image: ${arg} (check path and format: png/jpg/gif/webp)`);
674
+ }
675
+ showPrompt();
676
+ continue;
677
+ }
678
+ // ─── Auto-detect dragged image file paths ───
679
+ if (isImagePath(input)) {
680
+ const img = readImageFromFile(input);
681
+ if (img) {
682
+ const sizeKB = Math.round(img.base64.length * 3 / 4 / 1024);
683
+ pendingImages.push(img);
684
+ printSuccess(`📸 Image attached: ${img.source} (${sizeKB}KB). Now type your message.`);
685
+ showPrompt();
686
+ continue;
687
+ }
688
+ }
609
689
  // ─── /help ───
610
690
  if (input === '/help') {
611
691
  printLine(chalk.cyan.bold('Commands:'));
@@ -627,6 +707,7 @@ export async function startRepl(opts) {
627
707
  printLine(' /context Context usage analysis');
628
708
  printLine(' /status Session status');
629
709
  printLine(' /copy [n] Copy last response to clipboard');
710
+ printLine(' /image Attach image (clipboard or file path)');
630
711
  printLine(' /plan Show current task plan');
631
712
  printLine(' /verify Run verification agent');
632
713
  printLine(' /history Show conversation turns');
@@ -663,6 +744,10 @@ export async function startRepl(opts) {
663
744
  continue;
664
745
  }
665
746
  // ─── Run agent ───
747
+ // Show image indicator if pending
748
+ if (pendingImages.length > 0) {
749
+ printLine(chalk.cyan(`📸 Sending with ${pendingImages.length} image(s)...`));
750
+ }
666
751
  abortController = new AbortController();
667
752
  try {
668
753
  const result = await runAgent(input, history, {
@@ -671,6 +756,7 @@ export async function startRepl(opts) {
671
756
  model: currentModel,
672
757
  effort: currentEffort,
673
758
  permissionMode: currentPermissionMode,
759
+ images: pendingImages.length > 0 ? pendingImages : undefined,
674
760
  onAutoCompact: () => {
675
761
  if (!autoCompactTriggered) {
676
762
  autoCompactTriggered = true;
@@ -680,6 +766,8 @@ export async function startRepl(opts) {
680
766
  });
681
767
  history = result.history;
682
768
  lastResponse = result.response;
769
+ // Clear pending images after successful send
770
+ pendingImages = [];
683
771
  // Auto-compact check
684
772
  const compactInfo = getCompactStatus(history);
685
773
  if (compactInfo.urgency === 'critical') {
package/dist/repl.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
package/dist/skills.js CHANGED
@@ -7,49 +7,49 @@ const MANIFEST_FILE = 'skills-manifest.json';
7
7
  const BUILTIN_SKILLS = {
8
8
  coding: {
9
9
  description: '代码规范、零注释原则、验证协议',
10
- prompt: `# Coding Skill
11
-
12
- ## 零注释原则
13
- - 默认不写注释,只在 WHY 非显而易见时写
14
- - 好的命名已说明 WHAT
15
- - 禁止 "added for issue #123"
16
-
17
- ## 代码质量
18
- - 不投机抽象:三行重复好过一个过早抽象
19
- - 不加没用的:不加 impossible error handling
20
- - 函数职责单一,命名明确
21
-
22
- ## PR 规范
23
- - commit message 用英文,动词开头
24
- - 一个 PR 一个功能,不混杂
25
- - 变更说明写在 PR 描述,不写在代码注释
26
-
27
- ## Review Checklist
28
- 1. 编译通过
29
- 2. 测试通过(或明确说没测试)
30
- 3. 无 console.log/debugger 遗留
31
- 4. 无硬编码路径/密钥
10
+ prompt: `# Coding Skill
11
+
12
+ ## 零注释原则
13
+ - 默认不写注释,只在 WHY 非显而易见时写
14
+ - 好的命名已说明 WHAT
15
+ - 禁止 "added for issue #123"
16
+
17
+ ## 代码质量
18
+ - 不投机抽象:三行重复好过一个过早抽象
19
+ - 不加没用的:不加 impossible error handling
20
+ - 函数职责单一,命名明确
21
+
22
+ ## PR 规范
23
+ - commit message 用英文,动词开头
24
+ - 一个 PR 一个功能,不混杂
25
+ - 变更说明写在 PR 描述,不写在代码注释
26
+
27
+ ## Review Checklist
28
+ 1. 编译通过
29
+ 2. 测试通过(或明确说没测试)
30
+ 3. 无 console.log/debugger 遗留
31
+ 4. 无硬编码路径/密钥
32
32
  5. 错误处理完整`,
33
33
  },
34
34
  research: {
35
35
  description: '搜索策略、信息综合、调研方法',
36
- prompt: `# Research Skill
37
-
38
- ## 搜索策略
39
- 1. **先窄后宽**:精确搜索 → 模糊搜索 → 全局搜索
40
- 2. **先本地后远程**:文件系统 → git log → web
41
- 3. **先结构后内容**:目录结构 → 文件名 → 文件内容
42
-
43
- ## 信息综合
44
- - 收集多个来源,交叉验证
45
- - 区分事实和观点
46
- - 标注信息来源和时效性
47
-
48
- ## 调研模板
49
- 1. 明确问题(要回答什么?)
50
- 2. 搜索关键信息
51
- 3. 整理发现
52
- 4. 得出结论
36
+ prompt: `# Research Skill
37
+
38
+ ## 搜索策略
39
+ 1. **先窄后宽**:精确搜索 → 模糊搜索 → 全局搜索
40
+ 2. **先本地后远程**:文件系统 → git log → web
41
+ 3. **先结构后内容**:目录结构 → 文件名 → 文件内容
42
+
43
+ ## 信息综合
44
+ - 收集多个来源,交叉验证
45
+ - 区分事实和观点
46
+ - 标注信息来源和时效性
47
+
48
+ ## 调研模板
49
+ 1. 明确问题(要回答什么?)
50
+ 2. 搜索关键信息
51
+ 3. 整理发现
52
+ 4. 得出结论
53
53
  5. 标注不确定的地方`,
54
54
  },
55
55
  };
@@ -351,21 +351,21 @@ export function initSkills() {
351
351
  }
352
352
  const readmePath = join(skillsDir, 'README.md');
353
353
  if (!existsSync(readmePath)) {
354
- writeFileSync(readmePath, `# Custom Skills
355
-
356
- Create a subdirectory with a \`SKILL.md\` file to add a custom skill.
357
-
358
- Example:
359
- \`\`\`
360
- skills/
361
- └── my-skill/
362
- └── SKILL.md
363
- \`\`\`
364
-
365
- Manage with:
366
- - \`bobo skill list\` — List all skills
367
- - \`bobo skill enable <name>\` — Enable a skill
368
- - \`bobo skill disable <name>\` — Disable a skill
354
+ writeFileSync(readmePath, `# Custom Skills
355
+
356
+ Create a subdirectory with a \`SKILL.md\` file to add a custom skill.
357
+
358
+ Example:
359
+ \`\`\`
360
+ skills/
361
+ └── my-skill/
362
+ └── SKILL.md
363
+ \`\`\`
364
+
365
+ Manage with:
366
+ - \`bobo skill list\` — List all skills
367
+ - \`bobo skill enable <name>\` — Enable a skill
368
+ - \`bobo skill disable <name>\` — Disable a skill
369
369
  `);
370
370
  }
371
371
  // Save default manifest
@@ -77,77 +77,77 @@ export function getRolePromptInjection(role) {
77
77
  : '';
78
78
  switch (role) {
79
79
  case 'explore':
80
- return `
81
- # Role: Explorer Agent
82
-
83
- You are an exploration agent with READ-ONLY access. Your job is to:
84
- - Read and analyze files
85
- - Search for patterns and information
86
- - Report findings clearly
87
-
88
- You CANNOT:
89
- - Modify any files (write_file, edit_file)
90
- - Execute arbitrary shell commands
91
- - Create or delete files
92
- - Make git commits
93
-
80
+ return `
81
+ # Role: Explorer Agent
82
+
83
+ You are an exploration agent with READ-ONLY access. Your job is to:
84
+ - Read and analyze files
85
+ - Search for patterns and information
86
+ - Report findings clearly
87
+
88
+ You CANNOT:
89
+ - Modify any files (write_file, edit_file)
90
+ - Execute arbitrary shell commands
91
+ - Create or delete files
92
+ - Make git commits
93
+
94
94
  Focus on gathering information and presenting it clearly.${catalogContext}`;
95
95
  case 'plan':
96
- return `
97
- # Role: Planning Agent
98
-
99
- You are a planning agent with READ-ONLY access. Your job is to:
100
- - Analyze the codebase and requirements
101
- - Create detailed task breakdowns
102
- - Identify dependencies and risks
103
- - Propose implementation approaches
104
-
105
- You CANNOT:
106
- - Modify any files
107
- - Execute code changes
108
- - Make commits
109
-
110
- Output a structured plan with:
111
- 1. Tasks broken down into steps
112
- 2. File paths that need changes
113
- 3. Potential risks or blockers
96
+ return `
97
+ # Role: Planning Agent
98
+
99
+ You are a planning agent with READ-ONLY access. Your job is to:
100
+ - Analyze the codebase and requirements
101
+ - Create detailed task breakdowns
102
+ - Identify dependencies and risks
103
+ - Propose implementation approaches
104
+
105
+ You CANNOT:
106
+ - Modify any files
107
+ - Execute code changes
108
+ - Make commits
109
+
110
+ Output a structured plan with:
111
+ 1. Tasks broken down into steps
112
+ 2. File paths that need changes
113
+ 3. Potential risks or blockers
114
114
  4. Estimated complexity${catalogContext}`;
115
115
  case 'worker':
116
- return `
117
- # Role: Worker Agent
118
-
119
- You are a worker agent with FULL tool access. Your job is to:
120
- - Execute tasks efficiently
121
- - Make file changes as needed
122
- - Run tests and verify your work
123
- - Report completion status
124
-
125
- CRITICAL CONSTRAINTS:
126
- - You are a WORKER, not a manager
127
- - NEVER spawn sub-agents or delegate work
128
- - Execute tasks directly yourself
129
- - If you encounter blockers, report them immediately
130
-
116
+ return `
117
+ # Role: Worker Agent
118
+
119
+ You are a worker agent with FULL tool access. Your job is to:
120
+ - Execute tasks efficiently
121
+ - Make file changes as needed
122
+ - Run tests and verify your work
123
+ - Report completion status
124
+
125
+ CRITICAL CONSTRAINTS:
126
+ - You are a WORKER, not a manager
127
+ - NEVER spawn sub-agents or delegate work
128
+ - Execute tasks directly yourself
129
+ - If you encounter blockers, report them immediately
130
+
131
131
  Focus on DOING the work, not planning or delegating.${catalogContext}`;
132
132
  case 'verify':
133
- return `
134
- # Role: Verification Agent
135
-
136
- You are a verification agent using 'try to break it' philosophy. Your job is to:
137
- - Run build/test/lint checks
138
- - Probe for edge cases and boundary conditions
139
- - Test actual functionality (API calls, CLI commands)
140
- - Report honest assessment
141
-
142
- You SHOULD:
143
- - Be adversarial - try to find what's broken
144
- - Run all available verification steps
145
- - Test with unusual inputs
146
- - Check for security issues
147
-
148
- You MUST:
149
- - Return VERDICT: PASS / FAIL / PARTIAL
150
- - Provide specific evidence for failures
133
+ return `
134
+ # Role: Verification Agent
135
+
136
+ You are a verification agent using 'try to break it' philosophy. Your job is to:
137
+ - Run build/test/lint checks
138
+ - Probe for edge cases and boundary conditions
139
+ - Test actual functionality (API calls, CLI commands)
140
+ - Report honest assessment
141
+
142
+ You SHOULD:
143
+ - Be adversarial - try to find what's broken
144
+ - Run all available verification steps
145
+ - Test with unusual inputs
146
+ - Check for security issues
147
+
148
+ You MUST:
149
+ - Return VERDICT: PASS / FAIL / PARTIAL
150
+ - Provide specific evidence for failures
151
151
  - Suggest concrete fixes${catalogContext}`;
152
152
  default:
153
153
  return '';
@@ -82,17 +82,17 @@ function hasPlaywright() {
82
82
  }
83
83
  }
84
84
  function screenshotWithPuppeteer(url, output, width, height, fullPage) {
85
- const script = `
86
- const puppeteer = require('puppeteer');
87
- (async () => {
88
- const browser = await puppeteer.launch({ headless: 'new', args: ['--no-sandbox'] });
89
- const page = await browser.newPage();
90
- await page.setViewport({ width: ${width}, height: ${height} });
91
- await page.goto('${url.replace(/'/g, "\\'")}', { waitUntil: 'networkidle2', timeout: 30000 });
92
- await page.screenshot({ path: '${output.replace(/'/g, "\\'")}', fullPage: ${fullPage} });
93
- await browser.close();
94
- console.log('OK');
95
- })().catch(e => { console.error(e.message); process.exit(1); });
85
+ const script = `
86
+ const puppeteer = require('puppeteer');
87
+ (async () => {
88
+ const browser = await puppeteer.launch({ headless: 'new', args: ['--no-sandbox'] });
89
+ const page = await browser.newPage();
90
+ await page.setViewport({ width: ${width}, height: ${height} });
91
+ await page.goto('${url.replace(/'/g, "\\'")}', { waitUntil: 'networkidle2', timeout: 30000 });
92
+ await page.screenshot({ path: '${output.replace(/'/g, "\\'")}', fullPage: ${fullPage} });
93
+ await browser.close();
94
+ console.log('OK');
95
+ })().catch(e => { console.error(e.message); process.exit(1); });
96
96
  `;
97
97
  try {
98
98
  execSync(`node -e "${script.replace(/"/g, '\\"').replace(/\n/g, ' ')}"`, {
@@ -106,16 +106,16 @@ function screenshotWithPuppeteer(url, output, width, height, fullPage) {
106
106
  }
107
107
  }
108
108
  function screenshotWithPlaywright(url, output, width, height, fullPage) {
109
- const script = `
110
- const { chromium } = require('playwright');
111
- (async () => {
112
- const browser = await chromium.launch();
113
- const page = await browser.newPage({ viewport: { width: ${width}, height: ${height} } });
114
- await page.goto('${url.replace(/'/g, "\\'")}', { waitUntil: 'networkidle', timeout: 30000 });
115
- await page.screenshot({ path: '${output.replace(/'/g, "\\'")}', fullPage: ${fullPage} });
116
- await browser.close();
117
- console.log('OK');
118
- })().catch(e => { console.error(e.message); process.exit(1); });
109
+ const script = `
110
+ const { chromium } = require('playwright');
111
+ (async () => {
112
+ const browser = await chromium.launch();
113
+ const page = await browser.newPage({ viewport: { width: ${width}, height: ${height} } });
114
+ await page.goto('${url.replace(/'/g, "\\'")}', { waitUntil: 'networkidle', timeout: 30000 });
115
+ await page.screenshot({ path: '${output.replace(/'/g, "\\'")}', fullPage: ${fullPage} });
116
+ await browser.close();
117
+ console.log('OK');
118
+ })().catch(e => { console.error(e.message); process.exit(1); });
119
119
  `;
120
120
  try {
121
121
  execSync(`node -e "${script.replace(/"/g, '\\"').replace(/\n/g, ' ')}"`, {
@@ -20,14 +20,14 @@ export const claudeCodeToolDefinitions = [
20
20
  type: 'function',
21
21
  function: {
22
22
  name: 'claude_code',
23
- description: `Delegate a task to Claude Code (the Anthropic CLI coding agent). Use for:
24
- - Large multi-file refactors (10+ files)
25
- - Complex test writing and debugging
26
- - Long-running autonomous coding tasks
27
- - Tasks that need deep codebase understanding
28
- - When Bobo's own tools are insufficient
29
-
30
- Claude Code runs in --print mode and returns the result.
23
+ description: `Delegate a task to Claude Code (the Anthropic CLI coding agent). Use for:
24
+ - Large multi-file refactors (10+ files)
25
+ - Complex test writing and debugging
26
+ - Long-running autonomous coding tasks
27
+ - Tasks that need deep codebase understanding
28
+ - When Bobo's own tools are insufficient
29
+
30
+ Claude Code runs in --print mode and returns the result.
31
31
  Do NOT use for simple single-file edits — use edit_file instead.`,
32
32
  parameters: {
33
33
  type: 'object',
@@ -48,8 +48,8 @@ Do NOT use for simple single-file edits — use edit_file instead.`,
48
48
  type: 'function',
49
49
  function: {
50
50
  name: 'claude_code_session',
51
- description: `Start a persistent Claude Code session for multi-turn complex work.
52
- Returns a session ID. Use claude_code_send to continue the conversation.
51
+ description: `Start a persistent Claude Code session for multi-turn complex work.
52
+ Returns a session ID. Use claude_code_send to continue the conversation.
53
53
  Use for iterative development that needs multiple rounds.`,
54
54
  parameters: {
55
55
  type: 'object',