@bolloon/bolloon-agent 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/package.json +1 -1
  2. package/dist/constraint-runtime/tests/agent.test.js +0 -16
  3. package/dist/constraint-runtime/tests/constraint.test.js +0 -41
  4. package/dist/constraint-runtime/tests/skill.test.js +0 -19
  5. package/dist/constraint-runtime/tests/thinking.test.js +0 -22
  6. package/dist/electron-preload.js +0 -15
  7. package/dist/electron-preload.js.map +0 -1
  8. package/dist/electron.js +0 -206
  9. package/dist/electron.js.map +0 -1
  10. package/dist/test/constraint-layer.test.js +0 -164
  11. package/dist/test/global-shared-context.test.js +0 -315
  12. package/dist/test/pi-sdk.test.js +0 -47
  13. package/dist/test/set-persona.test.js +0 -38
  14. package/dist/test/subagent-manager.test.js +0 -276
  15. package/dist/test/workflow-engine.test.js +0 -87
  16. package/dist/workflows/collaboration.js +0 -374
  17. package/dist/workflows/index.js +0 -54
  18. package/docs/agent-communication.md +0 -333
  19. package/docs/plans/2026-05-15-document-agent-design.md +0 -479
  20. package/docs/plans/2026-05-15-document-agent-implementation-plan.md +0 -792
  21. package/docs/plans/2026-05-16-chat-ui-design.md +0 -86
  22. package/docs/plans/2026-05-16-constraint-runtime-design.md +0 -106
  23. package/docs/plans/2026-05-16-constraint-runtime-implementation.md +0 -441
  24. package/docs//346/225/260/345/255/246/350/276/205/345/212/251/346/231/272/350/203/275/344/275/223-/346/240/270/345/277/203/346/225/210/346/236/234/345/256/232/344/271/211.md +0 -287
  25. package/src/bollharness/.boll/CLAUDE.md.template +0 -34
  26. package/src/bollharness/.boll/MANIFEST.yaml +0 -213
  27. package/src/bollharness/.boll/active-review-agents/.gitkeep +0 -0
  28. package/src/bollharness/.boll/agents/review-base.yaml +0 -108
  29. package/src/bollharness/.boll/deploy-allowlist.yaml +0 -38
  30. package/src/bollharness/.boll/inbox/schema/message-v1.json +0 -99
  31. package/src/bollharness/.boll/install-staging/.gitkeep +0 -0
  32. package/src/bollharness/.boll/issue-adapter.yaml +0 -31
  33. package/src/bollharness/.boll/plugins/boll-mode-toolkit/contracts/mode-contract.md +0 -85
  34. package/src/bollharness/.boll/plugins/boll-review-toolkit/contracts/evidence-packet-schema.json +0 -102
  35. package/src/bollharness/.boll/plugins/boll-review-toolkit/contracts/review-contract.yaml +0 -247
  36. package/src/bollharness/.boll/rules/backend-routes.md +0 -31
  37. package/src/bollharness/.boll/rules/closure-semantics.md +0 -30
  38. package/src/bollharness/.boll/rules/env-vars.md +0 -32
  39. package/src/bollharness/.boll/rules/hanis-protocol.md +0 -145
  40. package/src/bollharness/.boll/rules/repo-structure.md +0 -42
  41. package/src/bollharness/.boll/rules/review-agent-isolation.md +0 -73
  42. package/src/bollharness/.boll/rules/source-of-truth.md +0 -33
  43. package/src/bollharness/.boll/settings.json +0 -180
  44. package/src/bollharness/.boll/settings.json.template +0 -31
  45. package/src/bollharness/.boll/skills/arch/SKILL.md +0 -372
  46. package/src/bollharness/.boll/skills/bug-pipeline/SKILL.md +0 -168
  47. package/src/bollharness/.boll/skills/bug-triage/SKILL.md +0 -161
  48. package/src/bollharness/.boll/skills/context-chains/SKILL.md +0 -250
  49. package/src/bollharness/.boll/skills/context-chains/context-chain-index.md +0 -48
  50. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/code_change_extractor.ts +0 -142
  51. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/debugging_extractor.ts +0 -126
  52. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/design_extractor.ts +0 -148
  53. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/planning_extractor.ts +0 -162
  54. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/question_extractor.ts +0 -116
  55. package/src/bollharness/.boll/skills/context-chains/work-type-extractors/review_extractor.ts +0 -136
  56. package/src/bollharness/.boll/skills/crystal-learn/SKILL.md +0 -93
  57. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-0.md +0 -34
  58. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-1.md +0 -34
  59. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-2.md +0 -35
  60. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-3.md +0 -34
  61. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-4.md +0 -43
  62. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-5.md +0 -34
  63. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-6.md +0 -37
  64. package/src/bollharness/.boll/skills/crystal-learn/invariants/INV-7.md +0 -46
  65. package/src/bollharness/.boll/skills/guardian-fixer/PROMPT.md +0 -415
  66. package/src/bollharness/.boll/skills/guardian-fixer/SKILL.md +0 -320
  67. package/src/bollharness/.boll/skills/harness-dev/SKILL.md +0 -93
  68. package/src/bollharness/.boll/skills/harness-dev/examples/README.md +0 -227
  69. package/src/bollharness/.boll/skills/harness-dev-handoff/SKILL.md +0 -165
  70. package/src/bollharness/.boll/skills/harness-eng/SKILL.md +0 -110
  71. package/src/bollharness/.boll/skills/harness-eng-test/SKILL.md +0 -79
  72. package/src/bollharness/.boll/skills/harness-lab/SKILL.md +0 -170
  73. package/src/bollharness/.boll/skills/harness-ops/SKILL.md +0 -57
  74. package/src/bollharness/.boll/skills/harness-voice/SKILL.md +0 -183
  75. package/src/bollharness/.boll/skills/judgment/SKILL.md +0 -115
  76. package/src/bollharness/.boll/skills/lead/SKILL.md +0 -245
  77. package/src/bollharness/.boll/skills/lead/install-wow-harness.md +0 -77
  78. package/src/bollharness/.boll/skills/lead/ref-review-sop.md +0 -91
  79. package/src/bollharness/.boll/skills/lead/ref-stages.md +0 -129
  80. package/src/bollharness/.boll/skills/skill-discovery/SKILL.md +0 -169
  81. package/src/bollharness/.boll/skills/task-arch/SKILL.md +0 -106
  82. package/src/bollharness/.boll/skills/toolkit/SKILL.md +0 -57
  83. package/src/bollharness/.boll/tasks/.gitkeep +0 -0
  84. package/src/bollharness/.boll/toolkit-index.yaml +0 -112
  85. package/src/bollharness/.claude/agents/review-base.yaml +0 -108
  86. package/src/bollharness/.claude/plugins/boll-mode-toolkit/.claude-plugin/plugin.json +0 -44
  87. package/src/bollharness/.claude/plugins/boll-review-toolkit/.claude-plugin/plugin.json +0 -24
  88. package/src/bollharness/.claude/plugins/boll-review-toolkit/contracts/evidence-packet-schema.json +0 -102
  89. package/src/bollharness/.claude/plugins/boll-review-toolkit/contracts/review-contract.yaml +0 -247
  90. package/src/bollharness/.claude/settings.json +0 -157
  91. package/src/bollharness/.claude/skills/arch/SKILL.md +0 -64
  92. package/src/bollharness/.claude/skills/crystal-learn/SKILL.md +0 -93
  93. package/src/bollharness/.claude/skills/guardian-fixer/PROMPT.md +0 -44
  94. package/src/bollharness/.claude/skills/guardian-fixer/SKILL.md +0 -324
  95. package/src/bollharness/.claude/skills/harness-dev/SKILL.md +0 -93
  96. package/src/bollharness/.claude/skills/harness-dev/examples/README.md +0 -17
  97. package/src/bollharness/.claude/skills/harness-dev-handoff/SKILL.md +0 -165
  98. package/src/bollharness/.claude/skills/harness-eng/SKILL.md +0 -183
  99. package/src/bollharness/.claude/skills/harness-eng-test/SKILL.md +0 -57
  100. package/src/bollharness/.claude/skills/harness-ops/SKILL.md +0 -57
  101. package/src/bollharness/.claude/skills/harness-voice/SKILL.md +0 -84
  102. package/src/bollharness/.claude/skills/lead/INDEX.md +0 -28
  103. package/src/bollharness/.claude/skills/lead/SKILL.md +0 -24
  104. package/src/bollharness/.claude/skills/lead/install-wow-harness.md +0 -77
  105. package/src/bollharness/.claude/skills/lead/ref-review-sop.md +0 -48
  106. package/src/bollharness/.claude/skills/lead/ref-stages.md +0 -58
  107. package/src/bollharness/.claude/skills/plan-lock/SKILL.md +0 -74
  108. package/src/bollharness/.claude/skills/skill-discovery/SKILL.md +0 -120
  109. package/src/bollharness/.claude/skills/task-arch/SKILL.md +0 -106
  110. package/src/bollharness/.claude/skills/toolkit/SKILL.md +0 -57
  111. package/src/bollharness/.claude/skills/toolkit/list.sh +0 -92
  112. package/src/bollharness/.githooks/pre-commit +0 -21
  113. package/src/bollharness/.github/workflows/ci.yml +0 -88
  114. package/src/bollharness/CLAUDE.md +0 -73
  115. package/src/bollharness/README.md +0 -143
  116. package/src/bollharness/README.zh-CN.md +0 -131
  117. package/src/bollharness/docs/decisions/ADR-030-guard-signal-protocol-and-governance-reload.md +0 -1076
  118. package/src/bollharness/docs/decisions/ADR-038-harness-optimization-strategy.md +0 -2039
  119. package/src/bollharness/docs/decisions/ADR-041-codex-claude-code-division-of-labor.md +0 -128
  120. package/src/bollharness/docs/decisions/ADR-H1-crystal-learn-revival.md +0 -188
  121. package/src/bollharness/docs/decisions/ADR-H2-identity-isolation.md +0 -183
  122. package/src/bollharness/docs/decisions/ADR-H3-memory-scope.md +0 -133
  123. package/src/bollharness/docs/decisions/ADR-H4-prompt-governance.md +0 -146
  124. package/src/bollharness/docs/decisions/ADR-H5-gate-quantization.md +0 -212
  125. package/src/bollharness/docs/decisions/ADR-H6-state-file-health.md +0 -211
  126. package/src/bollharness/docs/decisions/ADR-H8-issue-and-doc-compliance.md +0 -202
  127. package/src/bollharness/docs/decisions/ADR-H9-mailbox.md +0 -231
  128. package/src/bollharness/docs/decisions/PLAN-H1-crystal-learn-revival.md +0 -270
  129. package/src/bollharness/docs/decisions/PLAN-H2-identity-isolation.md +0 -291
  130. package/src/bollharness/docs/decisions/PLAN-H3-memory-scope.md +0 -228
  131. package/src/bollharness/docs/decisions/PLAN-H4-prompt-governance.md +0 -227
  132. package/src/bollharness/docs/decisions/PLAN-H5-gate-quantization.md +0 -239
  133. package/src/bollharness/docs/decisions/PLAN-H6-state-file-health.md +0 -325
  134. package/src/bollharness/docs/decisions/PLAN-H8-issue-and-doc-compliance.md +0 -242
  135. package/src/bollharness/docs/decisions/PLAN-H9-mailbox.md +0 -378
  136. package/src/bollharness/docs/launch-article-en.md +0 -276
  137. package/src/bollharness/docs/launch-article-zh.md +0 -305
  138. package/src/bollharness/docs/practice.html +0 -356
  139. package/src/bollharness/docs/practice.md +0 -82
  140. package/src/bollharness/docs/research/round-1/README.md +0 -11
  141. package/src/bollharness/docs/research/round-2/README.md +0 -11
  142. package/src/bollharness/docs/research/round-3/README.md +0 -11
  143. package/src/bollharness/docs/research/round-4/README.md +0 -11
  144. package/src/bollharness/docs/research/round-5/README.md +0 -11
  145. package/src/bollharness/docs/research/round-6/README.md +0 -11
  146. package/src/bollharness/package-lock.json +0 -48
  147. package/src/bollharness/reference/boll-reference/.claude/rules/backend-routes.md +0 -268
  148. package/src/bollharness/reference/boll-reference/.claude/rules/bridge.md +0 -20
  149. package/src/bollharness/reference/boll-reference/.claude/rules/closure-semantics.md +0 -30
  150. package/src/bollharness/reference/boll-reference/.claude/rules/coaching.md +0 -13
  151. package/src/bollharness/reference/boll-reference/.claude/rules/env-vars.md +0 -50
  152. package/src/bollharness/reference/boll-reference/.claude/rules/hackathon.md +0 -12
  153. package/src/bollharness/reference/boll-reference/.claude/rules/repo-structure.md +0 -184
  154. package/src/bollharness/reference/boll-reference/.claude/rules/review-agent-isolation.md +0 -112
  155. package/src/bollharness/reference/boll-reference/.claude/rules/scenes.md +0 -12
  156. package/src/bollharness/reference/boll-reference/.claude/skills/arch/SKILL.md +0 -551
  157. package/src/bollharness/reference/boll-reference/.claude/skills/boll-animation/SKILL.md +0 -26
  158. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/SKILL.md +0 -227
  159. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/agents/openai.yaml +0 -4
  160. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/references/bridge-failure-taxonomy.md +0 -142
  161. package/src/bollharness/reference/boll-reference/.claude/skills/boll-bridge/references/bridge-validation-ladder.md +0 -107
  162. package/src/bollharness/reference/boll-reference/.claude/skills/boll-crystal/SKILL.md +0 -893
  163. package/src/bollharness/reference/boll-reference/.claude/skills/boll-crystal-learn/SKILL.md +0 -89
  164. package/src/bollharness/reference/boll-reference/.claude/skills/boll-dev/SKILL.md +0 -93
  165. package/src/bollharness/reference/boll-reference/.claude/skills/boll-dev/examples/README.md +0 -209
  166. package/src/bollharness/reference/boll-reference/.claude/skills/boll-dev-handoff/SKILL.md +0 -165
  167. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng/SKILL.md +0 -110
  168. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-frontend/SKILL.md +0 -203
  169. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-hdc/SKILL.md +0 -27
  170. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-orchestrator/SKILL.md +0 -28
  171. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-prompt/SKILL.md +0 -27
  172. package/src/bollharness/reference/boll-reference/.claude/skills/boll-eng-test/SKILL.md +0 -79
  173. package/src/bollharness/reference/boll-reference/.claude/skills/boll-lab/SKILL.md +0 -372
  174. package/src/bollharness/reference/boll-reference/.claude/skills/boll-run/SKILL.md +0 -437
  175. package/src/bollharness/reference/boll-reference/.claude/skills/boll-ux-appstore/SKILL.md +0 -27
  176. package/src/bollharness/reference/boll-reference/.claude/skills/boll-voice/SKILL.md +0 -442
  177. package/src/bollharness/reference/boll-reference/.claude/skills/guardian-fixer/PROMPT.md +0 -421
  178. package/src/bollharness/reference/boll-reference/.claude/skills/guardian-fixer/SKILL.md +0 -326
  179. package/src/bollharness/reference/boll-reference/.claude/skills/lead/SKILL.md +0 -155
  180. package/src/bollharness/reference/boll-reference/.claude/skills/lead/ref-review-sop.md +0 -91
  181. package/src/bollharness/reference/boll-reference/.claude/skills/lead/ref-stages.md +0 -129
  182. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-preview.png +0 -0
  183. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-v2.png +0 -0
  184. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-v3.png +0 -0
  185. package/src/bollharness/reference/boll-reference/.claude/skills/nature-designer/output/skill-map-v4.png +0 -0
  186. package/src/bollharness/reference/boll-reference/.claude/skills/plan-lock/SKILL.md +0 -425
  187. package/src/bollharness/reference/boll-reference/.claude/skills/plan-lock/ref-three-checks.md +0 -62
  188. package/src/bollharness/reference/boll-reference/.claude/skills/plan-lock/ref-wp-templates.md +0 -78
  189. package/src/bollharness/reference/boll-reference/.claude/skills/task-arch/SKILL.md +0 -76
  190. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-graph/SKILL.md +0 -57
  191. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-graph/beads-graph.sh +0 -153
  192. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-init/SKILL.md +0 -52
  193. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-init/beads-auto-link.sh +0 -76
  194. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-sync/SKILL.md +0 -50
  195. package/src/bollharness/reference/boll-reference/.claude/skills/vibedevteam-sync/beads-sync-proj.sh +0 -108
  196. package/src/bollharness/reference/boll-reference/docs/architecture/AGENT-PROFILE.md +0 -151
  197. package/src/bollharness/reference/boll-reference/docs/architecture/COST-STRUCTURE.md +0 -56
  198. package/src/bollharness/reference/boll-reference/docs/architecture/INDEX.md +0 -76
  199. package/src/bollharness/reference/boll-reference/docs/architecture/MODULE1-INTENT-FIELD.md +0 -116
  200. package/src/bollharness/reference/boll-reference/docs/architecture/MODULE2-CRYSTALLIZATION.md +0 -200
  201. package/src/bollharness/reference/boll-reference/docs/architecture/PRINCIPLES.md +0 -84
  202. package/src/bollharness/reference/boll-reference/docs/architecture/PROTOCOL-CORE.md +0 -209
  203. package/src/bollharness/reference/boll-reference/docs/architecture/VISION.md +0 -181
  204. package/src/bollharness/reference/boll-reference/docs/architecture/discussions/D-01-MARKET-SCENE-PROTOCOL.md +0 -754
  205. package/src/bollharness/reference/boll-reference/scripts/hooks/stop-evaluator.md +0 -57
  206. package/src/bollharness/scripts/context-fragments/artifact-linkage.md +0 -14
  207. package/src/bollharness/scripts/context-fragments/auth-consumers.md +0 -17
  208. package/src/bollharness/scripts/context-fragments/bridge-constitution.md +0 -13
  209. package/src/bollharness/scripts/context-fragments/catalyst-distributed.md +0 -18
  210. package/src/bollharness/scripts/context-fragments/closure-checklist.md +0 -13
  211. package/src/bollharness/scripts/context-fragments/contract-consumers.md +0 -15
  212. package/src/bollharness/scripts/context-fragments/db-shared-structures.md +0 -15
  213. package/src/bollharness/scripts/context-fragments/fixed-three-layers.md +0 -19
  214. package/src/bollharness/scripts/context-fragments/general-dev-principles.md +0 -11
  215. package/src/bollharness/scripts/context-fragments/issue-first.md +0 -8
  216. package/src/bollharness/scripts/context-fragments/mcp-parity.md +0 -16
  217. package/src/bollharness/scripts/context-fragments/pi-agent-operations.md +0 -74
  218. package/src/bollharness/scripts/context-fragments/protocol-consumers.md +0 -15
  219. package/src/bollharness/scripts/context-fragments/run-events-consumers.md +0 -15
  220. package/src/bollharness/scripts/context-fragments/scene-fidelity.md +0 -13
  221. package/src/bollharness/scripts/context-fragments/truth-source-hierarchy.md +0 -15
  222. package/src/bollharness/scripts/context-fragments/two-language.md +0 -15
  223. package/src/bollharness/scripts/context-fragments/version-sources.md +0 -14
  224. package/src/bollharness/scripts/hooks/stop-evaluator.md +0 -83
  225. package/src/bollharness/templates/scaffold/.boll/guard/.gitkeep +0 -0
  226. package/src/bollharness/templates/scaffold/.boll/metrics/.gitkeep +0 -0
  227. package/src/bollharness/templates/scaffold/.boll/state/.gitkeep +0 -0
  228. package/src/bollharness/templates/scaffold/CLAUDE.md +0 -89
  229. package/src/bollharness/templates/scaffold/docs/INDEX.md +0 -3
  230. package/src/bollharness/templates/scaffold/docs/decisions/ADR_TEMPLATE.md +0 -38
  231. package/src/bollharness/templates/scaffold/docs/decisions/PLAN_TEMPLATE.md +0 -45
  232. package/src/bollharness/templates/scaffold/docs/decisions/tasks/.gitkeep +0 -2
  233. package/src/bollharness/templates/scaffold/docs/issues/.gitkeep +0 -0
  234. package/src/bollharness/templates/scaffold/docs/issues/GUARD_ISSUE_TEMPLATE.md +0 -35
  235. package/src/bollharness/templates/scaffold/docs/issues/ISSUE_TEMPLATE.md +0 -51
  236. package/src/bollharness/tsconfig.json +0 -26
  237. package/src/constraint-runtime/package-lock.json +0 -48
  238. package/src/constraint-runtime/package.json +0 -34
  239. package/src/constraint-runtime/src/_archive_helper.ts +0 -16
  240. package/src/constraint-runtime/src/agent/coordinator.ts +0 -71
  241. package/src/constraint-runtime/src/agent/index.ts +0 -1
  242. package/src/constraint-runtime/src/assistant/index.ts +0 -15
  243. package/src/constraint-runtime/src/bootstrap/index.ts +0 -15
  244. package/src/constraint-runtime/src/bootstrap_graph.ts +0 -17
  245. package/src/constraint-runtime/src/bridge/index.ts +0 -15
  246. package/src/constraint-runtime/src/buddy/index.ts +0 -15
  247. package/src/constraint-runtime/src/cli/index.ts +0 -15
  248. package/src/constraint-runtime/src/command_graph.ts +0 -20
  249. package/src/constraint-runtime/src/commands.ts +0 -83
  250. package/src/constraint-runtime/src/components/index.ts +0 -15
  251. package/src/constraint-runtime/src/constants/index.ts +0 -15
  252. package/src/constraint-runtime/src/constraint/budget.ts +0 -25
  253. package/src/constraint-runtime/src/constraint/index.ts +0 -3
  254. package/src/constraint-runtime/src/constraint/permission.ts +0 -28
  255. package/src/constraint-runtime/src/context.ts +0 -45
  256. package/src/constraint-runtime/src/coordinator/index.ts +0 -15
  257. package/src/constraint-runtime/src/cost_hook.ts +0 -6
  258. package/src/constraint-runtime/src/cost_tracker.ts +0 -9
  259. package/src/constraint-runtime/src/deferred_init.ts +0 -18
  260. package/src/constraint-runtime/src/direct_modes.ts +0 -13
  261. package/src/constraint-runtime/src/dynamic-tool-loader.ts +0 -115
  262. package/src/constraint-runtime/src/entrypoints/index.ts +0 -15
  263. package/src/constraint-runtime/src/execution_registry.ts +0 -41
  264. package/src/constraint-runtime/src/history.ts +0 -16
  265. package/src/constraint-runtime/src/hooks/index.ts +0 -15
  266. package/src/constraint-runtime/src/index.ts +0 -28
  267. package/src/constraint-runtime/src/ink.ts +0 -4
  268. package/src/constraint-runtime/src/keybindings/index.ts +0 -15
  269. package/src/constraint-runtime/src/memdir/index.ts +0 -15
  270. package/src/constraint-runtime/src/migrations/index.ts +0 -15
  271. package/src/constraint-runtime/src/models.ts +0 -49
  272. package/src/constraint-runtime/src/moreright/index.ts +0 -15
  273. package/src/constraint-runtime/src/native_ts/index.ts +0 -15
  274. package/src/constraint-runtime/src/output_styles/index.ts +0 -15
  275. package/src/constraint-runtime/src/parity_audit.ts +0 -23
  276. package/src/constraint-runtime/src/plugins/index.ts +0 -15
  277. package/src/constraint-runtime/src/port_manifest.ts +0 -20
  278. package/src/constraint-runtime/src/prefetch.ts +0 -17
  279. package/src/constraint-runtime/src/query.ts +0 -7
  280. package/src/constraint-runtime/src/reference_data/archive_surface_snapshot.json +0 -63
  281. package/src/constraint-runtime/src/reference_data/commands_snapshot.json +0 -1037
  282. package/src/constraint-runtime/src/reference_data/subsystems/OpenCLI.json +0 -10
  283. package/src/constraint-runtime/src/reference_data/subsystems/PolymarketSDK.json +0 -12
  284. package/src/constraint-runtime/src/reference_data/subsystems/SafeSDK.json +0 -14
  285. package/src/constraint-runtime/src/reference_data/subsystems/assistant.json +0 -8
  286. package/src/constraint-runtime/src/reference_data/subsystems/bootstrap.json +0 -8
  287. package/src/constraint-runtime/src/reference_data/subsystems/bridge.json +0 -32
  288. package/src/constraint-runtime/src/reference_data/subsystems/buddy.json +0 -13
  289. package/src/constraint-runtime/src/reference_data/subsystems/cli.json +0 -26
  290. package/src/constraint-runtime/src/reference_data/subsystems/components.json +0 -32
  291. package/src/constraint-runtime/src/reference_data/subsystems/constants.json +0 -28
  292. package/src/constraint-runtime/src/reference_data/subsystems/coordinator.json +0 -8
  293. package/src/constraint-runtime/src/reference_data/subsystems/entrypoints.json +0 -15
  294. package/src/constraint-runtime/src/reference_data/subsystems/hooks.json +0 -32
  295. package/src/constraint-runtime/src/reference_data/subsystems/keybindings.json +0 -21
  296. package/src/constraint-runtime/src/reference_data/subsystems/memdir.json +0 -15
  297. package/src/constraint-runtime/src/reference_data/subsystems/migrations.json +0 -18
  298. package/src/constraint-runtime/src/reference_data/subsystems/moreright.json +0 -8
  299. package/src/constraint-runtime/src/reference_data/subsystems/native_ts.json +0 -11
  300. package/src/constraint-runtime/src/reference_data/subsystems/outputStyles.json +0 -8
  301. package/src/constraint-runtime/src/reference_data/subsystems/plugins.json +0 -9
  302. package/src/constraint-runtime/src/reference_data/subsystems/remote.json +0 -11
  303. package/src/constraint-runtime/src/reference_data/subsystems/schemas.json +0 -8
  304. package/src/constraint-runtime/src/reference_data/subsystems/screens.json +0 -10
  305. package/src/constraint-runtime/src/reference_data/subsystems/server.json +0 -10
  306. package/src/constraint-runtime/src/reference_data/subsystems/services.json +0 -32
  307. package/src/constraint-runtime/src/reference_data/subsystems/skills.json +0 -27
  308. package/src/constraint-runtime/src/reference_data/subsystems/state.json +0 -13
  309. package/src/constraint-runtime/src/reference_data/subsystems/types.json +0 -18
  310. package/src/constraint-runtime/src/reference_data/subsystems/upstreamproxy.json +0 -9
  311. package/src/constraint-runtime/src/reference_data/subsystems/utils.json +0 -32
  312. package/src/constraint-runtime/src/reference_data/subsystems/vim.json +0 -12
  313. package/src/constraint-runtime/src/reference_data/subsystems/voice.json +0 -8
  314. package/src/constraint-runtime/src/reference_data/tools_snapshot.json +0 -1042
  315. package/src/constraint-runtime/src/remote/index.ts +0 -15
  316. package/src/constraint-runtime/src/remote_runtime.ts +0 -17
  317. package/src/constraint-runtime/src/runtime/index.ts +0 -1
  318. package/src/constraint-runtime/src/runtime/session.ts +0 -42
  319. package/src/constraint-runtime/src/schemas/index.ts +0 -15
  320. package/src/constraint-runtime/src/screens/index.ts +0 -15
  321. package/src/constraint-runtime/src/server/index.ts +0 -15
  322. package/src/constraint-runtime/src/services/index.ts +0 -15
  323. package/src/constraint-runtime/src/session_store.ts +0 -32
  324. package/src/constraint-runtime/src/setup.ts +0 -50
  325. package/src/constraint-runtime/src/skills/index.ts +0 -1
  326. package/src/constraint-runtime/src/skills/skill-registry.ts +0 -40
  327. package/src/constraint-runtime/src/state/index.ts +0 -15
  328. package/src/constraint-runtime/src/system_init.ts +0 -21
  329. package/src/constraint-runtime/src/thinking/engine.ts +0 -61
  330. package/src/constraint-runtime/src/thinking/index.ts +0 -1
  331. package/src/constraint-runtime/src/tool_pool.ts +0 -20
  332. package/src/constraint-runtime/src/tools/OpenCLI/execAdapter.ts +0 -12
  333. package/src/constraint-runtime/src/tools/OpenCLI/listAdapters.ts +0 -12
  334. package/src/constraint-runtime/src/tools/OpenCLI/runCommand.ts +0 -13
  335. package/src/constraint-runtime/src/tools/PolymarketSDK/cancelOrder.ts +0 -10
  336. package/src/constraint-runtime/src/tools/PolymarketSDK/createOrder.ts +0 -13
  337. package/src/constraint-runtime/src/tools/PolymarketSDK/getMarket.ts +0 -14
  338. package/src/constraint-runtime/src/tools/PolymarketSDK/getOrders.ts +0 -10
  339. package/src/constraint-runtime/src/tools/PolymarketSDK/listMarkets.ts +0 -24
  340. package/src/constraint-runtime/src/tools/SafeSDK/confirmTransaction.ts +0 -13
  341. package/src/constraint-runtime/src/tools/SafeSDK/createTransaction.ts +0 -23
  342. package/src/constraint-runtime/src/tools/SafeSDK/deploySafe.ts +0 -12
  343. package/src/constraint-runtime/src/tools/SafeSDK/executeTransaction.ts +0 -12
  344. package/src/constraint-runtime/src/tools/SafeSDK/getBalance.ts +0 -10
  345. package/src/constraint-runtime/src/tools/SafeSDK/getPendingTransactions.ts +0 -10
  346. package/src/constraint-runtime/src/tools/SafeSDK/proposeTransaction.ts +0 -14
  347. package/src/constraint-runtime/src/tools/WalletTools/autoPay.ts +0 -58
  348. package/src/constraint-runtime/src/tools/WalletTools/createWallet.ts +0 -19
  349. package/src/constraint-runtime/src/tools/WalletTools/getBalance.ts +0 -28
  350. package/src/constraint-runtime/src/tools/WalletTools/importWallet.ts +0 -34
  351. package/src/constraint-runtime/src/tools/WalletTools/sendTransaction.ts +0 -50
  352. package/src/constraint-runtime/src/tools/WalletTools/signMessage.ts +0 -23
  353. package/src/constraint-runtime/src/tools/WalletTools/transferToken.ts +0 -49
  354. package/src/constraint-runtime/src/tools.ts +0 -100
  355. package/src/constraint-runtime/src/transcript.ts +0 -23
  356. package/src/constraint-runtime/src/types/index.ts +0 -15
  357. package/src/constraint-runtime/src/upstream_proxy/index.ts +0 -15
  358. package/src/constraint-runtime/src/utils/index.ts +0 -15
  359. package/src/constraint-runtime/src/vim/index.ts +0 -15
  360. package/src/constraint-runtime/src/voice/index.ts +0 -15
  361. package/src/constraint-runtime/tests/agent.test.ts +0 -20
  362. package/src/constraint-runtime/tests/constraint.test.ts +0 -47
  363. package/src/constraint-runtime/tests/skill.test.ts +0 -23
  364. package/src/constraint-runtime/tests/thinking.test.ts +0 -28
  365. package/src/constraint-runtime/tsconfig.json +0 -13
  366. package/src/pi-ecosystem/index.ts +0 -453
  367. package/src/pi-ecosystem-colony/index.ts +0 -482
  368. package/src/pi-ecosystem-goals/index.ts +0 -585
  369. package/src/pi-ecosystem-judgment/decision.ts +0 -431
  370. package/src/pi-ecosystem-judgment/distillation.ts +0 -398
  371. package/src/pi-ecosystem-judgment/human-value-store.ts +0 -580
  372. package/src/pi-ecosystem-judgment/index.ts +0 -678
  373. package/src/pi-ecosystem-judgment/value-injection.ts +0 -744
  374. package/src/pi-ecosystem-mcp/index.ts +0 -427
  375. package/src/pi-ecosystem-subagents/index.ts +0 -408
  376. package/src/test/ai-judgment-test.ts +0 -92
  377. package/src/test/bollharness-integration.test.ts +0 -398
  378. package/src/test/channel-agent-multi-dialogue.ts +0 -265
  379. package/src/test/channel-heartbeat-agent-test.ts +0 -244
  380. package/src/test/constraint-layer.test.ts +0 -191
  381. package/src/test/diap-identity-test.ts +0 -222
  382. package/src/test/diap-quick-test.ts +0 -73
  383. package/src/test/global-shared-context.test.ts +0 -393
  384. package/src/test/harness-judgment-injection.test.ts +0 -353
  385. package/src/test/harness-workflow-integrator-test.ts +0 -285
  386. package/src/test/human-value-store.test.ts +0 -316
  387. package/src/test/hybrid-integration-test.ts +0 -126
  388. package/src/test/hybrid-messenger-verify.ts +0 -68
  389. package/src/test/iroh-bistream-debug.ts +0 -50
  390. package/src/test/iroh-communication.test.ts +0 -81
  391. package/src/test/iroh-debug-test.ts +0 -69
  392. package/src/test/iroh-diap-test.ts +0 -90
  393. package/src/test/iroh-direct-connect.ts +0 -65
  394. package/src/test/iroh-e2e-fixed.ts +0 -106
  395. package/src/test/iroh-e2e-same-process.ts +0 -83
  396. package/src/test/iroh-e2e.ts +0 -83
  397. package/src/test/iroh-final-e2e.ts +0 -84
  398. package/src/test/iroh-relay-test.ts +0 -46
  399. package/src/test/iroh-simple-test.ts +0 -49
  400. package/src/test/iroh-transport-verify.ts +0 -60
  401. package/src/test/iroh-transport.test.ts +0 -47
  402. package/src/test/iroh-two-nodes.ts +0 -87
  403. package/src/test/iroh-verify.ts +0 -55
  404. package/src/test/judgment-decision.test.ts +0 -373
  405. package/src/test/llm-judgment-integration.test.ts +0 -257
  406. package/src/test/p2p-agent-complex-dialogue.ts +0 -490
  407. package/src/test/p2p-agent-dialogue.ts +0 -423
  408. package/src/test/p2p-agent-full-bidirectional.ts +0 -686
  409. package/src/test/p2p-agent-harness-flow.ts +0 -562
  410. package/src/test/p2p-agent-harness-single.ts +0 -175
  411. package/src/test/p2p-ai-dialogue-test.ts +0 -374
  412. package/src/test/p2p-cid-connect-test.ts +0 -245
  413. package/src/test/p2p-connect-receiver.ts +0 -85
  414. package/src/test/p2p-iroh-test.ts +0 -214
  415. package/src/test/p2p-minimal-test.ts +0 -264
  416. package/src/test/p2p-node-1.ts +0 -172
  417. package/src/test/p2p-node-2.ts +0 -172
  418. package/src/test/p2p-server.ts +0 -335
  419. package/src/test/p2p-two-nodes-test.ts +0 -542
  420. package/src/test/pi-sdk.test.ts +0 -47
  421. package/src/test/set-persona.ts +0 -56
  422. package/src/test/simple.test.ts +0 -11
  423. package/src/test/storage-integration.test.ts +0 -191
  424. package/src/test/subagent-manager.test.ts +0 -392
  425. package/src/test/test-gate-flow.test.ts +0 -92
  426. package/src/test/workflow-engine.test.ts +0 -101
  427. package/src/web/design.md +0 -99
  428. package/src/workflows/collaboration.ts +0 -455
  429. package/src/workflows/index.ts +0 -64
  430. package/vitest.config.ts +0 -12
  431. package//346/203/263/346/263/225.md +0 -79
@@ -1,479 +0,0 @@
1
- # AI智能体自主文档处理系统 - 设计文档
2
-
3
- ## 1. 概述
4
-
5
- 设计一个基于 OpenClaw 双层架构的 AI 智能体系统,实现文档自主阅读、总结、改进和 P2P 发送。系统通过 **约束层(Prompt Guardrails)** + **执行层(Code-Driven Workflow)** 实现安全可控的完全自主运行。
6
-
7
- ### 1.1 OpenCLI 集成
8
-
9
- 系统集成 OpenCLI 实现**零 Token 消耗的浏览器自动化**和数据获取能力:
10
-
11
- | 能力 | 命令示例 | Token 消耗 |
12
- |------|----------|------------|
13
- | 社交媒体搜索 | `opencli zhihu search "AI Agent"` | 0 |
14
- | 视频/图文下载 | `opencli bilibili download <url>` | 0 |
15
- | 私域聊天记录 | `opencli wx search <keyword>` | 0 |
16
- | 办公套件 | `opencli lark search <keyword>` | 0 |
17
- | 浏览器 CDP 控制 | `opencli cdp screenshot` | 0 |
18
-
19
- **核心优势**:CLI 命令在本地浏览器直接执行,不经过 LLM 推理,实现零 Token 消耗的确定性操作。
20
-
21
- ## 2. 架构设计
22
-
23
- ### 2.1 双层架构
24
-
25
- ```
26
- ┌─────────────────────────────────────────────────────────┐
27
- │ Human Interaction │
28
- └─────────────────────────────────────────────────────────┘
29
-
30
-
31
- ┌─────────────────────────────────────────────────────────┐
32
- │ Constraint Layer (Prompt Guardrails) │
33
- │ - System Prompt: Agent 边界、规则、禁忌 │
34
- │ - Task Prompt: 当前任务的具体约束 │
35
- │ - Privacy Guardrail: 私域数据访问拦截 │
36
- └─────────────────────────────────────────────────────────┘
37
-
38
-
39
- ┌─────────────────────────────────────────────────────────┐
40
- │ Execution Layer (Code-Driven Workflow) │
41
- │ - WorkflowEngine: 工作流执行引擎 │
42
- │ - Step 执行 + 重试机制 + Guardrail 检查 │
43
- │ - OpenCLI Adapter: 零Token浏览器自动化 │
44
- │ - CDP Controller: Electron应用控制 │
45
- └─────────────────────────────────────────────────────────┘
46
-
47
-
48
- ┌─────────────────────────────────────────────────────────┐
49
- │ P2P Network (libp2p + DIaoP Identity) │
50
- └─────────────────────────────────────────────────────────┘
51
- ```
52
-
53
- ### 2.2 核心组件
54
-
55
- | 组件 | 职责 |
56
- |------|------|
57
- | `ConstraintLayer` | Prompt 约束管理、安全拦截、规则执行 |
58
- | `PrivacyGuardrail` | 私域数据访问权限检查(微信/飞书等) |
59
- | `WorkflowEngine` | 工作流编排、步骤执行、重试逻辑 |
60
- | `OpenCLIAdapter` | OpenCLI 命令执行,零 Token 数据获取 |
61
- | `CDPController` | 浏览器 CDP 协议控制,Electron 应用自动化 |
62
- | `WorkflowStep` | 单个步骤定义(含 scrape/opencli/chat 等新类型) |
63
- | `AgentSession` | Agent 会话管理、状态维护 |
64
-
65
- ## 3. 约束层设计
66
-
67
- ### 3.1 System Prompt 约束
68
-
69
- ```typescript
70
- const SYSTEM_PROMPT = `
71
- 你是一个文档处理Agent,在以下规则下运行:
72
-
73
- 【边界规则】
74
- 1. 只处理:txt, md, pdf, docx 格式文档
75
- 2. 不修改原始文件,只输出改进版本
76
- 3. 发送前必须记录操作日志
77
-
78
- 【自主权限】
79
- - ✅ 自主决定:摘要详细程度、chunk分块策略
80
- - ✅ 自主决定:重试次数(最多3次)
81
- - ✅ 自主决定:是否需要补充信息
82
- - ❌ 必须确认:首次向新对等节点发送文档
83
- - ❌ 必须确认:删除操作
84
-
85
- 【敏感操作拦截】
86
- if (操作 === '发送文档' && 对等节点不在已知列表) {
87
- 拦截 → 记录 → 等待确认
88
- }
89
- `;
90
- ```
91
-
92
- ### 3.2 约束执行流程
93
-
94
- ```
95
- 任务输入 → 约束检查 → 放行/拦截/确认
96
-
97
-
98
- ┌───────────────┐
99
- │ 新节点发送? │──Yes──→ 拦截 + 记录 + 等待确认
100
- └───────────────┘
101
- │No
102
-
103
- ┌───────────────┐
104
- │ 在规则内? │──No──→ 拦截 + 返回错误
105
- └───────────────┘
106
- │Yes
107
-
108
- 放行执行
109
- ```
110
-
111
- ## 4. 执行层设计
112
-
113
- ### 4.1 WorkflowStep 接口
114
-
115
- ```typescript
116
- type StepType =
117
- | 'read' | 'chunk' | 'summarize' | 'improve' | 'review' | 'send' | 'report'
118
- | 'scrape' // 网页数据抓取(opencli)
119
- | 'opencli' // OpenCLI 命令执行
120
- | 'chat' // 私域聊天记录获取(wx/tg/discord)
121
- | 'cdp'; // CDP 浏览器控制
122
-
123
- interface WorkflowStep {
124
- id: string;
125
- type: StepType;
126
- config?: Record<string, unknown>;
127
- retry: {
128
- max: number; // 最大重试次数
129
- current: number; // 当前重试次数
130
- backoffMs: number; // 退避时间(毫秒)
131
- };
132
- onFail: 'skip' | 'abort' | 'retry';
133
- guardrail?: (context: WorkflowContext) => Promise<boolean>;
134
- guardrailOnRetry?: boolean; // 重试时是否也执行 guardrail
135
- }
136
-
137
- interface WorkflowContext {
138
- document?: DocumentContent;
139
- summary?: string;
140
- improved?: string;
141
- qualityScore?: number;
142
- scrapedData?: ScrapedData; // OpenCLI 获取的数据
143
- chatHistory?: ChatMessage[]; // 私域聊天记录
144
- peers: string[];
145
- logs: OperationLog[];
146
- }
147
- ```
148
-
149
- ### 4.2 WorkflowEngine 执行逻辑
150
-
151
- ```typescript
152
- class WorkflowEngine {
153
- async execute(step: WorkflowStep, context: WorkflowContext): Promise<StepResult> {
154
- // 1. Guardrail 前置检查
155
- if (step.guardrail && !await step.guardrail(context)) {
156
- return { status: 'blocked', reason: 'guardrail_failed' };
157
- }
158
-
159
- // 2. 执行步骤,带重试
160
- for (let attempt = 0; attempt <= step.retry.max; attempt++) {
161
- try {
162
- const result = await this.runStep(step, context);
163
-
164
- // 3. Guardrail 后置检查(可选)
165
- if (step.onRetry !== false && step.guardrail && !await step.guardrail(context)) {
166
- return { status: 'blocked', reason: 'guardrail_failed' };
167
- }
168
-
169
- return { status: 'success', result };
170
- } catch (error) {
171
- if (attempt === step.retry.max) {
172
- return step.onFail === 'skip'
173
- ? { status: 'skipped', error: String(error) }
174
- : { status: 'failed', error: String(error) };
175
- }
176
- await this.backoff(step.retry.backoffMs * Math.pow(2, attempt));
177
- }
178
- }
179
- }
180
- }
181
- ```
182
-
183
- ### 4.3 OpenCLI Adapter
184
-
185
- ```typescript
186
- class OpenCLIAdapter {
187
- constructor(private shell: ShellExecutor) {}
188
-
189
- async execute(command: string, args: string[]): Promise<OpenCLIResult> {
190
- const cmd = `opencli ${command} ${args.join(' ')}`;
191
- const output = await this.shell.exec(cmd);
192
- return this.parseOutput(output);
193
- }
194
-
195
- // 社交媒体数据获取
196
- async scrapeSite(platform: string, query: string): Promise<ScrapedData> {
197
- return this.execute(platform, ['search', `"${query}"`]);
198
- }
199
-
200
- // 私域聊天记录(需 PrivacyGuardrail 通过)
201
- async fetchChatHistory(
202
- platform: 'wx' | 'tg' | 'discord',
203
- options: ChatFetchOptions
204
- ): Promise<ChatMessage[]> {
205
- const cmd = platform === 'wx' ? 'wx' : `opencli ${platform}`;
206
- return this.execute(cmd, ['history', '--keyword', options.keyword]);
207
- }
208
-
209
- // CDP 浏览器控制
210
- async controlBrowser(action: CDPAction): Promise<CDPResult> {
211
- return this.execute('cdp', [action.type, `--selector`, action.selector]);
212
- }
213
- }
214
- ```
215
-
216
- ### 4.4 Privacy Guardrail(私域数据访问控制)
217
-
218
- ```typescript
219
- const PRIVACY_GUARDRAIL: Guardrail = async (ctx, step) => {
220
- const sensitivePlatforms = ['wx', 'tg', 'discord', 'lark', 'wecom', 'dingtalk'];
221
-
222
- if (sensitivePlatforms.includes(step.config?.platform as string)) {
223
- // 检查是否有明确授权
224
- if (!ctx.authorizedPlatforms?.includes(step.config.platform)) {
225
- log('BLOCKED: Access to private data platform', { platform: step.config.platform });
226
- return false;
227
- }
228
- // 记录访问日志
229
- log('PRIVACY: Accessing private data', {
230
- platform: step.config.platform,
231
- scope: step.config.scope,
232
- });
233
- }
234
- return true;
235
- };
236
- ```
237
-
238
- ### 4.5 默认工作流
239
-
240
- ```typescript
241
- const DEFAULT_WORKFLOW: WorkflowStep[] = [
242
- {
243
- id: 'read',
244
- type: 'read',
245
- retry: { max: 3, current: 0, backoffMs: 1000 },
246
- onFail: 'abort'
247
- },
248
- {
249
- id: 'chunk',
250
- type: 'chunk',
251
- retry: { max: 0, current: 0, backoffMs: 0 },
252
- onFail: 'abort'
253
- },
254
- {
255
- id: 'summarize',
256
- type: 'summarize',
257
- retry: { max: 3, current: 0, backoffMs: 1000 },
258
- onFail: 'skip',
259
- guardrail: validateSummaryQuality
260
- },
261
- {
262
- id: 'improve',
263
- type: 'improve',
264
- retry: { max: 2, current: 0, backoffMs: 1500 },
265
- onFail: 'skip'
266
- },
267
- {
268
- id: 'send',
269
- type: 'send',
270
- retry: { max: 2, current: 0, backoffMs: 2000 },
271
- onFail: 'skip',
272
- guardrail: validateSendTarget
273
- }
274
- ];
275
-
276
- // OpenCLI 增强工作流(可选)
277
- const OPENCLI_ENHANCED_WORKFLOW: WorkflowStep[] = [
278
- {
279
- id: 'scrape',
280
- type: 'scrape',
281
- config: { platform: 'zhihu', query: 'AI Agent' },
282
- retry: { max: 2, current: 0, backoffMs: 500 },
283
- onFail: 'skip',
284
- guardrail: validatePublicDataAccess
285
- },
286
- {
287
- id: 'enrich',
288
- type: 'summarize',
289
- retry: { max: 3, current: 0, backoffMs: 1000 },
290
- onFail: 'skip'
291
- },
292
- {
293
- id: 'send',
294
- type: 'send',
295
- retry: { max: 2, current: 0, backoffMs: 2000 },
296
- onFail: 'skip',
297
- guardrail: validateSendTarget
298
- }
299
- ];
300
- ```
301
-
302
- ## 5. 数据流
303
-
304
- ```
305
- 用户输入 → 约束层检查 → 工作流引擎
306
-
307
- ┌──────────────────────┼──────────────────────┐
308
- ▼ ▼ ▼
309
- Read文档 → Chunk分块 → Summarize → (可选)Improve → Send
310
- │ │ │ │
311
- └───────────┴───────────┴──────────────┘
312
-
313
-
314
- 质量评估 → Guardrail检查 → 决策(重试/跳过/完成)
315
-
316
- ┌─────────────────────────────────────────────────────────┐
317
- │ OpenCLI 增强数据流(零 Token) │
318
- │ │
319
- │ Scrape → ChatHistory → Enrich → Summarize → Send │
320
- │ │ │ │ │
321
- │ └──────────┴─────────────┘ │
322
- │ ↓ │
323
- │ PrivacyGuardrail(私域数据拦截) │
324
- └─────────────────────────────────────────────────────────┘
325
- ```
326
-
327
- ## 6. 安全机制
328
-
329
- ### 6.1 敏感操作 Guardrail
330
-
331
- ```typescript
332
- // 发送到新节点时拦截
333
- const validateSendTarget: Guardrail = async (ctx, step) => {
334
- const targetPeer = step.config?.peerId as string;
335
- if (!ctx.peers.includes(targetPeer)) {
336
- log('BLOCKED: Sending to unknown peer', { targetPeer });
337
- return false; // 拦截,等待确认
338
- }
339
- return true;
340
- };
341
-
342
- // 摘要质量检查
343
- const validateSummaryQuality: Guardrail = async (ctx) => {
344
- if (ctx.qualityScore < 0.5) {
345
- log('WARN: Low quality summary', { score: ctx.qualityScore });
346
- return false; // 触发重试
347
- }
348
- return true;
349
- };
350
-
351
- // OpenCLI 数据访问权限检查
352
- const validateOpenCLIAccess: Guardrail = async (ctx, step) => {
353
- const platform = step.config?.platform as string;
354
- const privatePlatforms = ['wx', 'tg', 'discord', 'lark', 'wecom', 'dingtalk'];
355
-
356
- if (privatePlatforms.includes(platform)) {
357
- if (!ctx.userConsent?.includes(platform)) {
358
- log('BLOCKED: No consent for private platform', { platform });
359
- return false;
360
- }
361
- log('ALLOWED: Private platform access', { platform });
362
- }
363
- return true;
364
- };
365
-
366
- // 公共数据访问检查(用于 scrape 步骤)
367
- const validatePublicDataAccess: Guardrail = async (ctx, step) => {
368
- const platform = step.config?.platform as string;
369
- const whitelist = ['zhihu', 'bilibili', 'xiaohongshu', 'reddit', 'hackernews'];
370
-
371
- if (!whitelist.includes(platform)) {
372
- log('BLOCKED: Unsupported platform', { platform });
373
- return false;
374
- }
375
- return true;
376
- };
377
- ```
378
-
379
- ### 6.2 Privacy Guardrail 决策流程
380
-
381
- ```
382
- 数据访问请求 → 平台分类 → 公共平台? ─Yes─→ 放行
383
-
384
- No
385
-
386
- 授权平台列表检查 ─Yes─→ 放行 + 记录日志
387
-
388
- No
389
-
390
- 拦截 + 等待用户确认
391
- ```
392
-
393
- ### 6.3 操作日志
394
-
395
- ```typescript
396
- interface OperationLog {
397
- timestamp: number;
398
- action: string;
399
- details: Record<string, unknown>;
400
- status: 'success' | 'failed' | 'blocked';
401
- }
402
-
403
- const logs: OperationLog[] = [];
404
- ```
405
-
406
- ## 7. 文件结构
407
-
408
- ```
409
- src/
410
- ├── agents/
411
- │ ├── pi-sdk.ts # AgentSession(已存在)
412
- │ ├── constraint-layer.ts # 约束层实现
413
- │ ├── workflow-engine.ts # 工作流引擎
414
- │ └── opencli-adapter.ts # NEW: OpenCLI 命令适配器
415
- ├── browser/
416
- │ ├── cdp-controller.ts # NEW: CDP 浏览器控制
417
- │ └── electron-bridge.ts # NEW: Electron 应用桥接
418
- ├── privacy/
419
- │ ├── guardrails.ts # NEW: 隐私 guardrail 实现
420
- │ └── consent-manager.ts # NEW: 用户授权管理
421
- ├── data/
422
- │ ├── reader.ts # 文档读取(已存在)
423
- │ ├── scraper.ts # NEW: 网页数据抓取
424
- │ └── chat-fetcher.ts # NEW: 私域聊天记录获取
425
- ├── llm/
426
- │ └── minimax.ts # LLM调用(已存在)
427
- ├── network/
428
- │ └── p2p.ts # P2P网络(已存在)
429
- └── index.ts # 入口(已存在)
430
- ```
431
-
432
- ### 7.1 OpenCLI 安装与配置
433
-
434
- ```bash
435
- # 安装 OpenCLI(Node.js 21+)
436
- npm install -g @jackwener/opencli
437
-
438
- # 安装私域聊天适配器
439
- npm install -g @jackwener/wx-cli # 微信
440
- npm install -g @jackwener/tg-cli # Telegram
441
- npm install -g @jackwener/discord-cli # Discord
442
-
443
- # 初始化微信(需 root 权限)
444
- sudo wx init
445
-
446
- # 验证安装
447
- opencli list
448
- ```
449
-
450
- ## 8. 实现顺序
451
-
452
- 1. **约束层** (`constraint-layer.ts`) - Prompt 管理与拦截
453
- 2. **工作流引擎** (`workflow-engine.ts`) - 执行与重试逻辑
454
- 3. **OpenCLI 适配器** (`opencli-adapter.ts`) - 命令执行与结果解析
455
- 4. **隐私 Guardrail** (`guardrails.ts`) - 私域数据访问控制
456
- 5. **CDP 控制器** (`cdp-controller.ts`) - 浏览器自动化
457
- 6. **集成** - 将各组件集成到 `AgentSession`
458
- 7. **测试** - 验证各步骤和重试机制
459
-
460
- ## 9. OpenCLI 能力矩阵
461
-
462
- | 平台 | 搜索 | 下载 | 历史记录 | 自动化 |
463
- |------|------|------|----------|--------|
464
- | 知乎 | ✅ | ✅ | - | ✅ |
465
- | B站 | ✅ | ✅ | - | ✅ |
466
- | 小红书 | ✅ | ✅ | - | ✅ |
467
- | 微信公众号 | ✅ | ✅ | - | ✅ |
468
- | Reddit | ✅ | ✅ | - | ✅ |
469
- | Twitter/X | ✅ | ✅ | - | ✅ |
470
- | 微信 | ✅ | - | ✅ | - |
471
- | Telegram | ✅ | - | ✅ | - |
472
- | Discord | ✅ | - | ✅ | ✅ |
473
- | 飞书 | ✅ | ✅ | ✅ | ✅ |
474
- | 企业微信 | ✅ | ✅ | ✅ | - |
475
- | 钉钉 | ✅ | ✅ | ✅ | - |
476
- | GitHub | ✅ | ✅ | - | ✅ |
477
- | Google Scholar | ✅ | ✅ | - | - |
478
-
479
- **注**:零 Token 消耗指的是 OpenCLI 命令执行本身不消耗 LLM Token,但解析结果用于 LLM 处理时仍会产生 Token 消耗。