@bolloon/bolloon-agent 0.3.44 → 0.3.46

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 (217) hide show
  1. package/README.md +135 -135
  2. package/bin/bolloon-cli.cjs +183 -183
  3. package/bin/bolloon-daemon.sh +207 -0
  4. package/bin/bolloon.cjs +0 -0
  5. package/dist/agents/agent-identity.js +17 -0
  6. package/dist/agents/constraint-layer.js +19 -19
  7. package/dist/agents/judgment-protocol.js +14 -14
  8. package/dist/agents/loop-review.js +21 -5
  9. package/dist/agents/pi-sdk-types.js +12 -12
  10. package/dist/agents/pi-sdk.js +197 -102
  11. package/dist/agents/skill-writer.js +19 -0
  12. package/dist/agents/workflow-pivot-loop.js +3 -3
  13. package/dist/bollharness/src/scripts/deploy-guard.js +8 -8
  14. package/dist/bollharness-integration/context-router-judgment.js +4 -4
  15. package/dist/bollharness-integration/context-router.js +292 -292
  16. package/dist/bollharness-integration/gate-state-machine.js +13 -13
  17. package/dist/bollharness-integration/llm-judgment-engine.js +134 -134
  18. package/dist/bollharness-integration/skill-adapter.js +21 -21
  19. package/dist/bootstrap/chat-archiver.js +14 -14
  20. package/dist/bootstrap/context-os.js +21 -21
  21. package/dist/bootstrap/memory-compressor.js +29 -13
  22. package/dist/cli-entry.js +47 -37
  23. package/dist/constraint-runtime/reference_data/archive_surface_snapshot.json +63 -0
  24. package/dist/constraint-runtime/reference_data/commands_snapshot.json +1037 -0
  25. package/dist/constraint-runtime/reference_data/subsystems/assistant.json +8 -0
  26. package/dist/constraint-runtime/reference_data/subsystems/bootstrap.json +8 -0
  27. package/dist/constraint-runtime/reference_data/subsystems/bridge.json +32 -0
  28. package/dist/constraint-runtime/reference_data/subsystems/buddy.json +13 -0
  29. package/dist/constraint-runtime/reference_data/subsystems/cli.json +26 -0
  30. package/dist/constraint-runtime/reference_data/subsystems/components.json +32 -0
  31. package/dist/constraint-runtime/reference_data/subsystems/constants.json +28 -0
  32. package/dist/constraint-runtime/reference_data/subsystems/coordinator.json +8 -0
  33. package/dist/constraint-runtime/reference_data/subsystems/entrypoints.json +15 -0
  34. package/dist/constraint-runtime/reference_data/subsystems/hooks.json +32 -0
  35. package/dist/constraint-runtime/reference_data/subsystems/keybindings.json +21 -0
  36. package/dist/constraint-runtime/reference_data/subsystems/memdir.json +15 -0
  37. package/dist/constraint-runtime/reference_data/subsystems/migrations.json +18 -0
  38. package/dist/constraint-runtime/reference_data/subsystems/moreright.json +8 -0
  39. package/dist/constraint-runtime/reference_data/subsystems/native_ts.json +11 -0
  40. package/dist/constraint-runtime/reference_data/subsystems/outputStyles.json +8 -0
  41. package/dist/constraint-runtime/reference_data/subsystems/plugins.json +9 -0
  42. package/dist/constraint-runtime/reference_data/subsystems/remote.json +11 -0
  43. package/dist/constraint-runtime/reference_data/subsystems/schemas.json +8 -0
  44. package/dist/constraint-runtime/reference_data/subsystems/screens.json +10 -0
  45. package/dist/constraint-runtime/reference_data/subsystems/server.json +10 -0
  46. package/dist/constraint-runtime/reference_data/subsystems/services.json +32 -0
  47. package/dist/constraint-runtime/reference_data/subsystems/skills.json +27 -0
  48. package/dist/constraint-runtime/reference_data/subsystems/state.json +13 -0
  49. package/dist/constraint-runtime/reference_data/subsystems/types.json +18 -0
  50. package/dist/constraint-runtime/reference_data/subsystems/upstreamproxy.json +9 -0
  51. package/dist/constraint-runtime/reference_data/subsystems/utils.json +32 -0
  52. package/dist/constraint-runtime/reference_data/subsystems/vim.json +12 -0
  53. package/dist/constraint-runtime/reference_data/subsystems/voice.json +8 -0
  54. package/dist/constraint-runtime/reference_data/tools_snapshot.json +922 -0
  55. package/dist/constraint-runtime/setup.js +1 -1
  56. package/dist/constraint-runtime/tools/PolymarketSDK/cancelOrder.d.ts +13 -3
  57. package/dist/constraint-runtime/tools/PolymarketSDK/cancelOrder.js +16 -4
  58. package/dist/constraint-runtime/tools/PolymarketSDK/clobShared.d.ts +50 -0
  59. package/dist/constraint-runtime/tools/PolymarketSDK/clobShared.js +78 -0
  60. package/dist/constraint-runtime/tools/PolymarketSDK/createOrder.d.ts +24 -3
  61. package/dist/constraint-runtime/tools/PolymarketSDK/createOrder.js +31 -4
  62. package/dist/constraint-runtime/tools/PolymarketSDK/getMarket.d.ts +1 -0
  63. package/dist/constraint-runtime/tools/PolymarketSDK/getMarket.js +14 -3
  64. package/dist/constraint-runtime/tools/PolymarketSDK/getOrders.d.ts +11 -2
  65. package/dist/constraint-runtime/tools/PolymarketSDK/getOrders.js +23 -4
  66. package/dist/constraint-runtime/tools/PolymarketSDK/listMarkets.d.ts +4 -0
  67. package/dist/constraint-runtime/tools/PolymarketSDK/listMarkets.js +22 -2
  68. package/dist/context-compaction/auto-compact.js +7 -7
  69. package/dist/electron/config.js.map +1 -0
  70. package/dist/electron/dialogs.js.map +1 -0
  71. package/dist/electron/first-run.js +54 -54
  72. package/dist/electron/first-run.js.map +1 -0
  73. package/dist/electron/ipc.js.map +1 -0
  74. package/dist/electron/logger.js.map +1 -0
  75. package/dist/electron/main.js.map +1 -0
  76. package/dist/electron/menu.js.map +1 -0
  77. package/dist/electron/paths.js.map +1 -0
  78. package/dist/electron/server.js.map +1 -0
  79. package/dist/electron/tray.js.map +1 -0
  80. package/dist/electron/window.js.map +1 -0
  81. package/dist/electron-build/electron/first-run.js +54 -54
  82. package/dist/electron-preload.js.map +1 -1
  83. package/dist/electron.js.map +1 -1
  84. package/dist/index.js +113 -113
  85. package/dist/llm/llm-judgment-client.js +102 -102
  86. package/dist/llm/pi-ai.js +48 -48
  87. package/dist/llm/system-prompt/layers/channel/human-async.md +41 -41
  88. package/dist/llm/system-prompt/layers/channel/local.md +14 -14
  89. package/dist/llm/system-prompt/layers/channel/p2p-agent.md +18 -18
  90. package/dist/llm/system-prompt/layers/channel/p2p-peer-sync.md +51 -51
  91. package/dist/llm/system-prompt/layers/channel/p2p-proactive.md +43 -43
  92. package/dist/llm/system-prompt/layers/channel/p2p-visitor.md +19 -19
  93. package/dist/llm/system-prompt/layers/channel/session-handoff.md +61 -61
  94. package/dist/llm/system-prompt/layers/core/artifacts_storage.md +89 -89
  95. package/dist/llm/system-prompt/layers/core/evenhandedness.md +21 -21
  96. package/dist/llm/system-prompt/layers/core/external-engagement.md +73 -73
  97. package/dist/llm/system-prompt/layers/core/hibs_reminders.md +15 -15
  98. package/dist/llm/system-prompt/layers/core/identity.md +48 -48
  99. package/dist/llm/system-prompt/layers/core/knowledge.md +17 -17
  100. package/dist/llm/system-prompt/layers/core/memory_system.md +12 -12
  101. package/dist/llm/system-prompt/layers/core/network_filesystem.md +28 -28
  102. package/dist/llm/system-prompt/layers/core/refusal.md +37 -37
  103. package/dist/llm/system-prompt/layers/core/tone.md +31 -31
  104. package/dist/llm/system-prompt/layers/core/tools.thin.md +13 -13
  105. package/dist/llm/system-prompt/layers/core/wellbeing.md +41 -41
  106. package/dist/llm/system-prompt/layers/role/architect.md +20 -20
  107. package/dist/llm/system-prompt/layers/role/expert.md +19 -19
  108. package/dist/llm/system-prompt/layers/role/implementer.md +15 -15
  109. package/dist/llm/system-prompt/layers/role/security.md +15 -15
  110. package/dist/llm/system-prompt/layers/tool/artifacts.md +72 -72
  111. package/dist/llm/system-prompt/layers/tool/bash.md +25 -25
  112. package/dist/llm/system-prompt/layers/tool/goal_handoff.md +77 -77
  113. package/dist/llm/system-prompt/layers/tool/hibs_api.md +171 -171
  114. package/dist/llm/system-prompt/layers/tool/image_search.md +70 -70
  115. package/dist/llm/system-prompt/layers/tool/manifest.md +89 -89
  116. package/dist/llm/system-prompt/layers/tool/mcp_apps.md +53 -53
  117. package/dist/llm/system-prompt/layers/tool/p2p_request.md +61 -61
  118. package/dist/llm/system-prompt/layers/tool/web_search.md +83 -83
  119. package/dist/llm/tool-manifest/ask_user_input.js +1 -1
  120. package/dist/llm/tool-manifest/bash.js +3 -3
  121. package/dist/llm/tool-manifest/create_file.js +4 -4
  122. package/dist/llm/tool-manifest/fetch_sports_data.js +3 -3
  123. package/dist/llm/tool-manifest/image_search.js +2 -2
  124. package/dist/llm/tool-manifest/index.js +59 -0
  125. package/dist/llm/tool-manifest/mcp.js +2 -2
  126. package/dist/llm/tool-manifest/message_compose.js +3 -3
  127. package/dist/llm/tool-manifest/places.js +2 -2
  128. package/dist/llm/tool-manifest/present_files.js +1 -1
  129. package/dist/llm/tool-manifest/recipe.js +2 -2
  130. package/dist/llm/tool-manifest/str_replace.js +5 -5
  131. package/dist/llm/tool-manifest/view.js +3 -3
  132. package/dist/llm/tool-manifest/weather.js +4 -4
  133. package/dist/llm/tool-manifest/web.js +4 -4
  134. package/dist/orbitdb/cid-database.js +41 -0
  135. package/dist/orbitdb/did-catalog-replication.js +199 -0
  136. package/dist/orbitdb/trajectory-store.js +150 -0
  137. package/dist/pi-ecosystem-judgment/causal-judge.js +51 -51
  138. package/dist/pi-ecosystem-judgment/distill-prompt.js +42 -42
  139. package/dist/pi-ecosystem-judgment/distillation.js +14 -14
  140. package/dist/pi-ecosystem-judgment/monitor-gate.js +28 -28
  141. package/dist/pi-ecosystem-judgment/value-injection.js +102 -102
  142. package/dist/security/context-router-tool.js +15 -15
  143. package/dist/storage/did-catalog-bridge.js +271 -0
  144. package/dist/utils/auto-update.js.map +1 -0
  145. package/dist/web/api-config.html +779 -779
  146. package/dist/web/client-hearth.js +10 -10
  147. package/dist/web/client.js +141 -0
  148. package/dist/web/client.js.map +7 -0
  149. package/dist/web/components/wallet-viem.mjs +118 -118
  150. package/dist/web/index.html +472 -424
  151. package/dist/web/manifest.json +20 -20
  152. package/dist/web/server.js +290 -13
  153. package/dist/web/style.css +4946 -4914
  154. package/package.json +193 -193
  155. package/scripts/build-cli.js +215 -215
  156. package/scripts/build-web.ts +130 -130
  157. package/scripts/postinstall.js +152 -152
  158. package/bin/bolloon.js +0 -157
  159. package/dist/pi-ecosystem-colony/index.js +0 -365
  160. package/dist/social/ant-colony/AdaptiveHeartbeat.js +0 -101
  161. package/dist/social/ant-colony/PheromoneEngine.js +0 -227
  162. package/dist/social/ant-colony/index.js +0 -6
  163. package/dist/social/ant-colony/types.js +0 -24
  164. package/dist/test/ai-judgment-test.js +0 -80
  165. package/dist/test/bollharness-integration.test.js +0 -318
  166. package/dist/test/channel-agent-multi-dialogue.js +0 -205
  167. package/dist/test/channel-heartbeat-agent-test.js +0 -201
  168. package/dist/test/constraint-layer.test.js +0 -164
  169. package/dist/test/diap-identity-test.js +0 -172
  170. package/dist/test/diap-quick-test.js +0 -62
  171. package/dist/test/global-shared-context.test.js +0 -315
  172. package/dist/test/harness-judgment-injection.test.js +0 -246
  173. package/dist/test/harness-workflow-integrator-test.js +0 -228
  174. package/dist/test/human-value-store.test.js +0 -243
  175. package/dist/test/hybrid-integration-test.js +0 -118
  176. package/dist/test/hybrid-messenger-verify.js +0 -55
  177. package/dist/test/iroh-bistream-debug.js +0 -38
  178. package/dist/test/iroh-communication.test.js +0 -66
  179. package/dist/test/iroh-debug-test.js +0 -57
  180. package/dist/test/iroh-diap-test.js +0 -71
  181. package/dist/test/iroh-direct-connect.js +0 -55
  182. package/dist/test/iroh-e2e-fixed.js +0 -89
  183. package/dist/test/iroh-e2e-same-process.js +0 -63
  184. package/dist/test/iroh-e2e.js +0 -66
  185. package/dist/test/iroh-final-e2e.js +0 -72
  186. package/dist/test/iroh-relay-test.js +0 -37
  187. package/dist/test/iroh-simple-test.js +0 -41
  188. package/dist/test/iroh-transport-verify.js +0 -54
  189. package/dist/test/iroh-transport.test.js +0 -37
  190. package/dist/test/iroh-two-nodes.js +0 -70
  191. package/dist/test/iroh-verify.js +0 -44
  192. package/dist/test/judgment-decision.test.js +0 -219
  193. package/dist/test/llm-judgment-integration.test.js +0 -220
  194. package/dist/test/p2p-agent-complex-dialogue.js +0 -385
  195. package/dist/test/p2p-agent-dialogue.js +0 -341
  196. package/dist/test/p2p-agent-full-bidirectional.js +0 -510
  197. package/dist/test/p2p-agent-harness-flow.js +0 -437
  198. package/dist/test/p2p-agent-harness-single.js +0 -143
  199. package/dist/test/p2p-ai-dialogue-test.js +0 -318
  200. package/dist/test/p2p-cid-connect-test.js +0 -195
  201. package/dist/test/p2p-connect-receiver.js +0 -69
  202. package/dist/test/p2p-doc-transfer.js +0 -110
  203. package/dist/test/p2p-identity-page-test.js +0 -77
  204. package/dist/test/p2p-iroh-test.js +0 -171
  205. package/dist/test/p2p-minimal-test.js +0 -241
  206. package/dist/test/p2p-node-1.js +0 -148
  207. package/dist/test/p2p-node-2.js +0 -148
  208. package/dist/test/p2p-server.js +0 -281
  209. package/dist/test/p2p-two-nodes-test.js +0 -438
  210. package/dist/test/pi-sdk.test.js +0 -44
  211. package/dist/test/set-persona.js +0 -40
  212. package/dist/test/simple.test.js +0 -9
  213. package/dist/test/storage-integration.test.js +0 -150
  214. package/dist/test/subagent-manager.test.js +0 -276
  215. package/dist/test/test-gate-flow.test.js +0 -81
  216. package/dist/test/workflow-engine.test.js +0 -87
  217. package/dist/test/workflow-pivot-loop.test.js +0 -246
@@ -49,60 +49,60 @@ const fs = __importStar(require("fs"));
49
49
  const path = __importStar(require("path"));
50
50
  const paths_1 = require("./paths");
51
51
  const logger_1 = require("./logger");
52
- const OVERLAY_HTML = `
53
- <!DOCTYPE html>
54
- <html>
55
- <head>
56
- <meta charset="utf-8" />
57
- <style>
58
- :root { color-scheme: light dark; }
59
- body {
60
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
61
- margin: 0; padding: 32px 28px;
62
- background: rgba(245,245,247,0.97);
63
- color: #1d1d1f;
64
- height: 100vh; box-sizing: border-box;
65
- }
66
- @media (prefers-color-scheme: dark) {
67
- body { background: rgba(28,28,30,0.97); color: #f5f5f7; }
68
- }
69
- h1 { font-size: 18px; margin: 0 0 14px; font-weight: 600; }
70
- p { font-size: 13px; line-height: 1.55; margin: 8px 0; }
71
- code {
72
- font-family: ui-monospace, "SF Mono", Menlo, monospace;
73
- font-size: 12px; padding: 1px 5px;
74
- background: rgba(0,0,0,0.06); border-radius: 3px;
75
- }
76
- @media (prefers-color-scheme: dark) {
77
- code { background: rgba(255,255,255,0.08); }
78
- }
79
- .btn {
80
- display: inline-block; margin-top: 18px; padding: 8px 18px;
81
- background: #007aff; color: #fff; border: none; border-radius: 6px;
82
- font-size: 13px; font-weight: 500; cursor: pointer;
83
- }
84
- .btn:hover { background: #0066d6; }
85
- ul { padding-left: 20px; }
86
- li { font-size: 13px; line-height: 1.7; }
87
- </style>
88
- </head>
89
- <body>
90
- <h1>欢迎使用 Bolloon Agent</h1>
91
- <p>你的数据存放在本地, 不上传:</p>
92
- <ul>
93
- <li>配置 / 频道 / P2P 密钥: <code id="data"></code></li>
94
- <li>运行日志: <code id="logs"></code></li>
95
- </ul>
96
- <p>所有数据在卸载后仍保留 — 想清理就手动删除 ~/.bolloon/。</p>
97
- <button class="btn" id="ok">知道了</button>
98
- <script>
99
- const ok = document.getElementById('ok');
100
- ok.addEventListener('click', () => window.electronAPI.markFirstRunSeen());
101
- document.getElementById('data').textContent = window.electronAPI.getDataPathSync?.() || '';
102
- document.getElementById('logs').textContent = window.electronAPI.getLogsPathSync?.() || '';
103
- </script>
104
- </body>
105
- </html>
52
+ const OVERLAY_HTML = `
53
+ <!DOCTYPE html>
54
+ <html>
55
+ <head>
56
+ <meta charset="utf-8" />
57
+ <style>
58
+ :root { color-scheme: light dark; }
59
+ body {
60
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
61
+ margin: 0; padding: 32px 28px;
62
+ background: rgba(245,245,247,0.97);
63
+ color: #1d1d1f;
64
+ height: 100vh; box-sizing: border-box;
65
+ }
66
+ @media (prefers-color-scheme: dark) {
67
+ body { background: rgba(28,28,30,0.97); color: #f5f5f7; }
68
+ }
69
+ h1 { font-size: 18px; margin: 0 0 14px; font-weight: 600; }
70
+ p { font-size: 13px; line-height: 1.55; margin: 8px 0; }
71
+ code {
72
+ font-family: ui-monospace, "SF Mono", Menlo, monospace;
73
+ font-size: 12px; padding: 1px 5px;
74
+ background: rgba(0,0,0,0.06); border-radius: 3px;
75
+ }
76
+ @media (prefers-color-scheme: dark) {
77
+ code { background: rgba(255,255,255,0.08); }
78
+ }
79
+ .btn {
80
+ display: inline-block; margin-top: 18px; padding: 8px 18px;
81
+ background: #007aff; color: #fff; border: none; border-radius: 6px;
82
+ font-size: 13px; font-weight: 500; cursor: pointer;
83
+ }
84
+ .btn:hover { background: #0066d6; }
85
+ ul { padding-left: 20px; }
86
+ li { font-size: 13px; line-height: 1.7; }
87
+ </style>
88
+ </head>
89
+ <body>
90
+ <h1>欢迎使用 Bolloon Agent</h1>
91
+ <p>你的数据存放在本地, 不上传:</p>
92
+ <ul>
93
+ <li>配置 / 频道 / P2P 密钥: <code id="data"></code></li>
94
+ <li>运行日志: <code id="logs"></code></li>
95
+ </ul>
96
+ <p>所有数据在卸载后仍保留 — 想清理就手动删除 ~/.bolloon/。</p>
97
+ <button class="btn" id="ok">知道了</button>
98
+ <script>
99
+ const ok = document.getElementById('ok');
100
+ ok.addEventListener('click', () => window.electronAPI.markFirstRunSeen());
101
+ document.getElementById('data').textContent = window.electronAPI.getDataPathSync?.() || '';
102
+ document.getElementById('logs').textContent = window.electronAPI.getLogsPathSync?.() || '';
103
+ </script>
104
+ </body>
105
+ </html>
106
106
  `;
107
107
  function hasSeenFirstRun() {
108
108
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"electron-preload.js","sourceRoot":"","sources":["../src/electron-preload.ts"],"names":[],"mappings":";;AAAA;;;GAGG;AACH,uCAAsD;AAEtD,eAAe;AACf,wBAAa,CAAC,iBAAiB,CAAC,aAAa,EAAE;IAC7C,UAAU,EAAE,GAAG,EAAE,CAAC,sBAAW,CAAC,MAAM,CAAC,aAAa,CAAC;IACnD,eAAe,EAAE,GAAG,EAAE,CAAC,sBAAW,CAAC,MAAM,CAAC,oBAAoB,CAAC;IAC/D,YAAY,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,sBAAW,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC;IACvE,QAAQ,EAAE,OAAO,CAAC,QAAQ;CAC3B,CAAC,CAAC"}
1
+ {"version":3,"file":"electron-preload.js","sourceRoot":"","sources":["../src/electron-preload.ts"],"names":[],"mappings":";;AAAA;;;;GAIG;AACH,uCAAwE;AAIxE,wBAAa,CAAC,iBAAiB,CAAC,aAAa,EAAE;IAC7C,kBAAkB;IAClB,UAAU,EAAE,GAAG,EAAE,CAAC,sBAAW,CAAC,MAAM,CAAC,aAAa,CAAC;IACnD,eAAe,EAAE,GAAG,EAAE,CAAC,sBAAW,CAAC,MAAM,CAAC,oBAAoB,CAAC;IAC/D,YAAY,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,sBAAW,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC;IAEvE,mBAAmB;IACnB,WAAW,EAAE,GAAG,EAAE,CAAC,sBAAW,CAAC,MAAM,CAAC,eAAe,CAAC;IAEtD,wBAAwB;IACxB,QAAQ,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,sBAAW,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC;IACtE,QAAQ,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,sBAAW,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC;IACtE,aAAa,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,sBAAW,CAAC,MAAM,CAAC,uBAAuB,EAAE,IAAI,CAAC;IAEhF,gCAAgC;IAChC,YAAY,EAAE,CAAC,IAAyC,EAAE,EAAE,CAC1D,sBAAW,CAAC,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC;IAC/C,aAAa,EAAE,CAAC,IAA0D,EAAE,EAAE,CAC5E,sBAAW,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC;IAChD,UAAU,EAAE,CAAC,IAAsB,EAAE,EAAE,CAAC,sBAAW,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC;IAElF,mBAAmB;IACnB,eAAe,EAAE,GAAG,EAAE,CAAC,sBAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAC3D,gBAAgB,EAAE,GAAG,EAAE,CAAC,sBAAW,CAAC,MAAM,CAAC,qBAAqB,CAAC;IACjE,eAAe,EAAE,GAAG,EAAE,CAAC,sBAAW,CAAC,MAAM,CAAC,oBAAoB,CAAC;IAC/D,eAAe,EAAE,GAAG,EAAE,CAAC,sBAAW,CAAC,MAAM,CAAC,oBAAoB,CAAC;IAE/D,cAAc;IACd,QAAQ,EAAE,OAAO,CAAC,QAAQ;CAC3B,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"electron.js","sourceRoot":"","sources":["../src/electron.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"electron.js","sourceRoot":"","sources":["../src/electron.ts"],"names":[],"mappings":";;AAAA;;;GAGG;AACH,2BAAyB"}
package/dist/index.js CHANGED
@@ -1151,7 +1151,7 @@ async function processInput(input, comm) {
1151
1151
  catch { /* 无 */ }
1152
1152
  appendLine(`${C_ACCENT}邮件 (SMTP):${RESET}`);
1153
1153
  if (!cfg) {
1154
- appendLine(` ${C_DIM}未配置 smtp.json — 发件人: 天墟星剑 <2844169590@qq.com>${RESET}`);
1154
+ appendLine(` ${C_DIM}未配置 smtp.json — 发件人: Leo <2844169590@qq.com>${RESET}`);
1155
1155
  }
1156
1156
  else {
1157
1157
  appendLine(` ${C_DIM}host:${RESET} ${cfg.host || 'smtp.qq.com'}`);
@@ -1720,10 +1720,10 @@ async function runToolCommand(tool, args, outputJson, comm, model, prompt) {
1720
1720
  const running = irohTransport.isRunning();
1721
1721
  const irohPeers = irohTransport.getPeers();
1722
1722
  const messenger = hybridMessenger ? 'HybridMessenger 就绪' : 'HybridMessenger 未初始化';
1723
- response = `iroh P2P 状态:
1724
- 运行中: ${running ? '是' : '否'}
1725
- Node ID: ${nodeId ? nodeId.substring(0, 32) + '...' : 'N/A'}
1726
- 已知节点: ${irohPeers.length}
1723
+ response = `iroh P2P 状态:
1724
+ 运行中: ${running ? '是' : '否'}
1725
+ Node ID: ${nodeId ? nodeId.substring(0, 32) + '...' : 'N/A'}
1726
+ 已知节点: ${irohPeers.length}
1727
1727
  ${messenger}`;
1728
1728
  break;
1729
1729
  }
@@ -2857,114 +2857,114 @@ function parseArgs() {
2857
2857
  return result;
2858
2858
  }
2859
2859
  function printHelp() {
2860
- console.log(`
2861
- 🤖 Bolloon Agent - AI 可调用文档处理智能体
2862
-
2863
- 用法:
2864
- npx tsx src/index.ts [选项] [参数]
2865
-
2866
- 选项:
2867
- # 文档处理
2868
- --read <file> 读取文档 (txt, md, pdf, docx)
2869
- --summarize <file> [ctx] 总结文档,可选上下文
2870
- --improve <file> <req> 改进文档,req 为改进要求
2871
-
2872
- # P2P 网络
2873
- --peers 列出已连接的对等节点
2874
- --broadcast <msg> 广播消息到所有节点
2875
- --send <peerId> <msg> 向指定节点发送消息
2876
-
2877
- # 智能体
2878
- --identity 显示当前智能体身份
2879
- --logs 显示操作日志
2880
- --search <keyword> 搜索文件
2881
- --tools 显示所有可用工具
2882
-
2883
- # SubAgent 管理
2884
- --agents 列出所有 SubAgent
2885
- --register-agent <name> [cap1] [cap2]... 注册新 SubAgent
2886
- --delegate <任务描述> [能力要求...] 委派任务给最佳 Agent
2887
-
2888
- # 全局共享上下文
2889
- --context 显示全局共享上下文摘要
2890
- --global-agents 显示全局 Agent 注册表
2891
- --add-action <内容> [重要性] 添加用户行动到共享上下文
2892
-
2893
- # Bollharness 治理框架
2894
- --harness-init 初始化 Bollharness 治理框架
2895
- --harness-gate 显示当前 Gate 状态
2896
- --harness-transition [PASS|BLOCK] 执行 Gate 转移
2897
- --harness-skill <name> [action] 执行 Harness Skill
2898
- --harness-classify <描述> 分类变更类型
2899
- --harness-context <file> 获取文件上下文
2900
- --harness-check <file> 执行 Guard 检查
2901
- --harness-archive 归档当前 Session 到 Harness
2902
- --harness-sessions 列出 Session 归档记录
2903
- --harness-session-context [id] 获取 Session 上下文
2904
-
2905
- # 自动更新
2906
- --update-check 检查 npm 包更新
2907
- --update-now [pkg] 更新到最新版本
2908
-
2909
- # 跨机聊天 (commits-as-messages, 共享 GitHub 仓库)
2910
- --chat-init 初始化 .comm/ 目录 (一次性)
2911
- --chat-send "消息正文" 把消息写到 .comm/<role>/, commit + push
2912
- --chat-pull 拉取远端 .comm/ 的新消息并显示
2913
- --chat-list 列出本地所有已同步消息
2914
- --chat-watch [--interval 15s] 后台定时拉取, 有新消息时输出
2915
- --chat-status 一屏查看: role / publicKey / remote / ahead-behind
2916
-
2917
- # 纯 P2P 私聊 (不走 GitHub, 不写 git, 不持久化)
2918
- --chat-p2p-send <peer|publicKey> "消息正文" 通过 P2P 直接发一条
2919
- --chat-p2p-listen 后台监听对方 P2P 私聊消息 (Ctrl-C 退出)
2920
-
2921
- # 跨机 agent 协作 (对方 bolloon --web 起着才能处理, 走 P2P 不经 GitHub)
2922
- --collab <peer|publicKey> "<任务描述>" 派任务给对端 LLM 干活, 等回结果 (90s 超时)
2923
-
2924
- # 外部编码智能体委派
2925
- --engine, -e <id> [--model <m>] <prompt> 委派任务给外部引擎,如 opencode/codex
2926
- --model <name> 指定委派时使用的模型
2927
-
2928
- # 输出控制
2929
- --json, -j 输出 JSON 格式
2930
- --output, -o <file> 结果保存到文件
2931
- --web 启动 Web UI 模式
2932
- --help, -h 显示帮助信息
2933
-
2934
- 示例:
2935
- # 文档处理
2936
- npx tsx src/index.ts --read 想法.md
2937
- npx tsx src/index.ts --summarize docs/想法.md
2938
- npx tsx src/index.ts --improve docs/README.md "让内容更简洁"
2939
- npx tsx src/index.ts --read 想法.md -o summary.txt
2940
-
2941
- # P2P 网络
2942
- npx tsx src/index.ts --peers
2943
- npx tsx src/index.ts --broadcast "Hello everyone"
2944
- npx tsx src/index.ts --send QmABC... "私信内容"
2945
-
2946
- # AI 对话
2947
- npx tsx src/index.ts --prompt "总结 README.md"
2948
- npx tsx src/index.ts -p "分析这个项目" -j
2949
-
2950
- # 交互模式
2951
- npx tsx src/index.ts
2952
-
2953
- # 外部引擎委派
2954
- npx tsx src/index.ts --engine opencode --model opencode/deepseek-v4-flash-free "说你好"
2955
-
2956
- # Web 模式
2957
- npx tsx src/index.ts --web
2958
-
2959
- 环境变量:
2960
- MINIMAX_API_KEY MiniMax API 密钥
2961
- DEEPSEEK_API_KEY DeepSeek API 密钥
2962
- KIMI_API_KEY / MOONSHOT_API_KEY Kimi/Moonshot API 密钥
2963
- GLM_API_KEY / ZHIPU_API_KEY 智谱 GLM API 密钥
2964
- QWEN_API_KEY / DASHSCOPE_API_KEY 通义千问 API 密钥
2965
- OPENAI_API_KEY OpenAI API 密钥(Pi SDK)
2966
- ANTHROPIC_API_KEY Anthropic API 密钥(Pi SDK)
2967
- PORT Web 服务端口(默认 54188)
2860
+ console.log(`
2861
+ 🤖 Bolloon Agent - AI 可调用文档处理智能体
2862
+
2863
+ 用法:
2864
+ npx tsx src/index.ts [选项] [参数]
2865
+
2866
+ 选项:
2867
+ # 文档处理
2868
+ --read <file> 读取文档 (txt, md, pdf, docx)
2869
+ --summarize <file> [ctx] 总结文档,可选上下文
2870
+ --improve <file> <req> 改进文档,req 为改进要求
2871
+
2872
+ # P2P 网络
2873
+ --peers 列出已连接的对等节点
2874
+ --broadcast <msg> 广播消息到所有节点
2875
+ --send <peerId> <msg> 向指定节点发送消息
2876
+
2877
+ # 智能体
2878
+ --identity 显示当前智能体身份
2879
+ --logs 显示操作日志
2880
+ --search <keyword> 搜索文件
2881
+ --tools 显示所有可用工具
2882
+
2883
+ # SubAgent 管理
2884
+ --agents 列出所有 SubAgent
2885
+ --register-agent <name> [cap1] [cap2]... 注册新 SubAgent
2886
+ --delegate <任务描述> [能力要求...] 委派任务给最佳 Agent
2887
+
2888
+ # 全局共享上下文
2889
+ --context 显示全局共享上下文摘要
2890
+ --global-agents 显示全局 Agent 注册表
2891
+ --add-action <内容> [重要性] 添加用户行动到共享上下文
2892
+
2893
+ # Bollharness 治理框架
2894
+ --harness-init 初始化 Bollharness 治理框架
2895
+ --harness-gate 显示当前 Gate 状态
2896
+ --harness-transition [PASS|BLOCK] 执行 Gate 转移
2897
+ --harness-skill <name> [action] 执行 Harness Skill
2898
+ --harness-classify <描述> 分类变更类型
2899
+ --harness-context <file> 获取文件上下文
2900
+ --harness-check <file> 执行 Guard 检查
2901
+ --harness-archive 归档当前 Session 到 Harness
2902
+ --harness-sessions 列出 Session 归档记录
2903
+ --harness-session-context [id] 获取 Session 上下文
2904
+
2905
+ # 自动更新
2906
+ --update-check 检查 npm 包更新
2907
+ --update-now [pkg] 更新到最新版本
2908
+
2909
+ # 跨机聊天 (commits-as-messages, 共享 GitHub 仓库)
2910
+ --chat-init 初始化 .comm/ 目录 (一次性)
2911
+ --chat-send "消息正文" 把消息写到 .comm/<role>/, commit + push
2912
+ --chat-pull 拉取远端 .comm/ 的新消息并显示
2913
+ --chat-list 列出本地所有已同步消息
2914
+ --chat-watch [--interval 15s] 后台定时拉取, 有新消息时输出
2915
+ --chat-status 一屏查看: role / publicKey / remote / ahead-behind
2916
+
2917
+ # 纯 P2P 私聊 (不走 GitHub, 不写 git, 不持久化)
2918
+ --chat-p2p-send <peer|publicKey> "消息正文" 通过 P2P 直接发一条
2919
+ --chat-p2p-listen 后台监听对方 P2P 私聊消息 (Ctrl-C 退出)
2920
+
2921
+ # 跨机 agent 协作 (对方 bolloon --web 起着才能处理, 走 P2P 不经 GitHub)
2922
+ --collab <peer|publicKey> "<任务描述>" 派任务给对端 LLM 干活, 等回结果 (90s 超时)
2923
+
2924
+ # 外部编码智能体委派
2925
+ --engine, -e <id> [--model <m>] <prompt> 委派任务给外部引擎,如 opencode/codex
2926
+ --model <name> 指定委派时使用的模型
2927
+
2928
+ # 输出控制
2929
+ --json, -j 输出 JSON 格式
2930
+ --output, -o <file> 结果保存到文件
2931
+ --web 启动 Web UI 模式
2932
+ --help, -h 显示帮助信息
2933
+
2934
+ 示例:
2935
+ # 文档处理
2936
+ npx tsx src/index.ts --read 想法.md
2937
+ npx tsx src/index.ts --summarize docs/想法.md
2938
+ npx tsx src/index.ts --improve docs/README.md "让内容更简洁"
2939
+ npx tsx src/index.ts --read 想法.md -o summary.txt
2940
+
2941
+ # P2P 网络
2942
+ npx tsx src/index.ts --peers
2943
+ npx tsx src/index.ts --broadcast "Hello everyone"
2944
+ npx tsx src/index.ts --send QmABC... "私信内容"
2945
+
2946
+ # AI 对话
2947
+ npx tsx src/index.ts --prompt "总结 README.md"
2948
+ npx tsx src/index.ts -p "分析这个项目" -j
2949
+
2950
+ # 交互模式
2951
+ npx tsx src/index.ts
2952
+
2953
+ # 外部引擎委派
2954
+ npx tsx src/index.ts --engine opencode --model opencode/deepseek-v4-flash-free "说你好"
2955
+
2956
+ # Web 模式
2957
+ npx tsx src/index.ts --web
2958
+
2959
+ 环境变量:
2960
+ MINIMAX_API_KEY MiniMax API 密钥
2961
+ DEEPSEEK_API_KEY DeepSeek API 密钥
2962
+ KIMI_API_KEY / MOONSHOT_API_KEY Kimi/Moonshot API 密钥
2963
+ GLM_API_KEY / ZHIPU_API_KEY 智谱 GLM API 密钥
2964
+ QWEN_API_KEY / DASHSCOPE_API_KEY 通义千问 API 密钥
2965
+ OPENAI_API_KEY OpenAI API 密钥(Pi SDK)
2966
+ ANTHROPIC_API_KEY Anthropic API 密钥(Pi SDK)
2967
+ PORT Web 服务端口(默认 54188)
2968
2968
  `);
2969
2969
  }
2970
2970
  // ---------------------------------------------------------------------------
@@ -31,55 +31,55 @@ export const JUDGMENT_PROMPTS = {
31
31
  default: {
32
32
  systemPrompt: '',
33
33
  systemPromptResolver: () => loadRoleLayer('role.expert', '你是一个专业的 AI 任务分析专家. '),
34
- userPromptTemplate: `【当前输入】
35
- {user_input}
36
-
37
- 【对话历史】
38
- {history}
39
-
40
- 【发送者】
41
- {sender_name}
42
-
43
- 请分析以上输入,判断:
44
-
45
- ## 理解
46
- 1. 问题本质是什么?(how-to / why / what / should / feasibility)
47
- 2. 核心需求是什么?
48
- 3. 有哪些隐含信息需要注意?
49
-
50
- ## 评估
51
- 1. 复杂性等级(simple / moderate / complex / profound)
52
- 2. 为什么是这个等级?
53
- 3. 需要多深的理解?(surface / deeper / fundamental)
54
-
55
- ## 决策
56
- 1. 推荐处理方式(answer / analyze / design / implement / coordinate)
57
- 2. 为什么这样处理?
58
-
59
- ## 路由
60
- 1. 应该调用哪些 Skills?(arch / guardian-fixer / harness-eng / harness-dev / task-arch / crystal-learn)
61
- 2. 需要什么协作模式?(solo / pair / team)
62
-
63
- 请用 JSON 格式输出,格式如下:
64
- {
65
- "understanding": {
66
- "essence": "问题本质",
67
- "coreNeed": "核心需求",
68
- "implicit": ["隐含信息1", "隐含信息2"]
69
- },
70
- "assessment": {
71
- "complexity": "complex",
72
- "complexityReason": "评估理由",
73
- "depth": "deeper"
74
- },
75
- "decision": {
76
- "approach": "design",
77
- "reasoning": "决策理由"
78
- },
79
- "routing": {
80
- "skills": ["arch", "guardian-fixer"],
81
- "collaboration": "pair"
82
- }
34
+ userPromptTemplate: `【当前输入】
35
+ {user_input}
36
+
37
+ 【对话历史】
38
+ {history}
39
+
40
+ 【发送者】
41
+ {sender_name}
42
+
43
+ 请分析以上输入,判断:
44
+
45
+ ## 理解
46
+ 1. 问题本质是什么?(how-to / why / what / should / feasibility)
47
+ 2. 核心需求是什么?
48
+ 3. 有哪些隐含信息需要注意?
49
+
50
+ ## 评估
51
+ 1. 复杂性等级(simple / moderate / complex / profound)
52
+ 2. 为什么是这个等级?
53
+ 3. 需要多深的理解?(surface / deeper / fundamental)
54
+
55
+ ## 决策
56
+ 1. 推荐处理方式(answer / analyze / design / implement / coordinate)
57
+ 2. 为什么这样处理?
58
+
59
+ ## 路由
60
+ 1. 应该调用哪些 Skills?(arch / guardian-fixer / harness-eng / harness-dev / task-arch / crystal-learn)
61
+ 2. 需要什么协作模式?(solo / pair / team)
62
+
63
+ 请用 JSON 格式输出,格式如下:
64
+ {
65
+ "understanding": {
66
+ "essence": "问题本质",
67
+ "coreNeed": "核心需求",
68
+ "implicit": ["隐含信息1", "隐含信息2"]
69
+ },
70
+ "assessment": {
71
+ "complexity": "complex",
72
+ "complexityReason": "评估理由",
73
+ "depth": "deeper"
74
+ },
75
+ "decision": {
76
+ "approach": "design",
77
+ "reasoning": "决策理由"
78
+ },
79
+ "routing": {
80
+ "skills": ["arch", "guardian-fixer"],
81
+ "collaboration": "pair"
82
+ }
83
83
  }`,
84
84
  outputFormat: 'json'
85
85
  },
@@ -87,26 +87,26 @@ export const JUDGMENT_PROMPTS = {
87
87
  architecture: {
88
88
  systemPrompt: '',
89
89
  systemPromptResolver: () => loadRoleLayer('role.architect', '你是一个经验丰富的系统架构师. '),
90
- userPromptTemplate: `【架构设计问题】
91
- {user_input}
92
-
93
- 【上下文】
94
- {context}
95
-
96
- 请进行架构分析,判断是否需要 Harness 介入。
97
-
98
- 分析维度:
99
- 1. 涉及哪些架构维度?(分层、微服务、事件驱动等)
100
- 2. 需要什么级别的架构设计?(概念性、逻辑性、物理性)
101
- 3. 有什么架构风险需要考虑?
102
-
103
- 输出 JSON:
104
- {
105
- "needsHarness": true/false,
106
- "gate": 0-8,
107
- "skills": ["arch", "harness-eng"],
108
- "architectureType": "microservices/layered/event-driven/etc",
109
- "concerns": ["concern1", "concern2"]
90
+ userPromptTemplate: `【架构设计问题】
91
+ {user_input}
92
+
93
+ 【上下文】
94
+ {context}
95
+
96
+ 请进行架构分析,判断是否需要 Harness 介入。
97
+
98
+ 分析维度:
99
+ 1. 涉及哪些架构维度?(分层、微服务、事件驱动等)
100
+ 2. 需要什么级别的架构设计?(概念性、逻辑性、物理性)
101
+ 3. 有什么架构风险需要考虑?
102
+
103
+ 输出 JSON:
104
+ {
105
+ "needsHarness": true/false,
106
+ "gate": 0-8,
107
+ "skills": ["arch", "harness-eng"],
108
+ "architectureType": "microservices/layered/event-driven/etc",
109
+ "concerns": ["concern1", "concern2"]
110
110
  }`,
111
111
  outputFormat: 'json'
112
112
  },
@@ -114,22 +114,22 @@ export const JUDGMENT_PROMPTS = {
114
114
  code: {
115
115
  systemPrompt: '',
116
116
  systemPromptResolver: () => loadRoleLayer('role.implementer', '你是一个高效的代码实现专家. '),
117
- userPromptTemplate: `【代码问题】
118
- {user_input}
119
-
120
- 请判断这个问题:
121
-
122
- 1. 是新功能实现还是修复问题?
123
- 2. 涉及哪些代码层面?(业务逻辑、数据访问、接口设计)
124
- 3. 需要什么测试覆盖?
125
-
126
- 输出 JSON:
127
- {
128
- "needsHarness": true/false,
129
- "gate": 0-8,
130
- "skills": ["harness-dev", "guardian-fixer"],
131
- "codeType": "feature/fix/refactor",
132
- "testCoverage": "unit/integration/e2e"
117
+ userPromptTemplate: `【代码问题】
118
+ {user_input}
119
+
120
+ 请判断这个问题:
121
+
122
+ 1. 是新功能实现还是修复问题?
123
+ 2. 涉及哪些代码层面?(业务逻辑、数据访问、接口设计)
124
+ 3. 需要什么测试覆盖?
125
+
126
+ 输出 JSON:
127
+ {
128
+ "needsHarness": true/false,
129
+ "gate": 0-8,
130
+ "skills": ["harness-dev", "guardian-fixer"],
131
+ "codeType": "feature/fix/refactor",
132
+ "testCoverage": "unit/integration/e2e"
133
133
  }`,
134
134
  outputFormat: 'json'
135
135
  },
@@ -137,23 +137,23 @@ export const JUDGMENT_PROMPTS = {
137
137
  security: {
138
138
  systemPrompt: '',
139
139
  systemPromptResolver: () => loadRoleLayer('role.security', '你是一个严格的安全专家. '),
140
- userPromptTemplate: `【安全问题】
141
- {user_input}
142
-
143
- 请分析安全问题:
144
-
145
- 1. 涉及哪些安全维度?(认证、授权、数据保护、传输安全)
146
- 2. 风险等级?(低/中/高/严重)
147
- 3. 需要什么安全措施?
148
-
149
- 输出 JSON:
150
- {
151
- "needsHarness": true,
152
- "gate": 4,
153
- "skills": ["guardian-fixer", "arch"],
154
- "securityDimensions": ["authentication", "authorization"],
155
- "riskLevel": "high",
156
- "recommendations": ["rec1", "rec2"]
140
+ userPromptTemplate: `【安全问题】
141
+ {user_input}
142
+
143
+ 请分析安全问题:
144
+
145
+ 1. 涉及哪些安全维度?(认证、授权、数据保护、传输安全)
146
+ 2. 风险等级?(低/中/高/严重)
147
+ 3. 需要什么安全措施?
148
+
149
+ 输出 JSON:
150
+ {
151
+ "needsHarness": true,
152
+ "gate": 4,
153
+ "skills": ["guardian-fixer", "arch"],
154
+ "securityDimensions": ["authentication", "authorization"],
155
+ "riskLevel": "high",
156
+ "recommendations": ["rec1", "rec2"]
157
157
  }`,
158
158
  outputFormat: 'json'
159
159
  }