principles-disciple 1.8.1 → 1.8.2

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 (470) hide show
  1. package/ADVANCED_CONFIG_ZH.md +97 -0
  2. package/AGENT_INSTALL.md +173 -0
  3. package/AGENT_INSTALL_EN.md +173 -0
  4. package/INSTALL.md +256 -0
  5. package/SKILL.md +63 -0
  6. package/docs/COMMAND_REFERENCE.md +76 -0
  7. package/docs/COMMAND_REFERENCE_EN.md +79 -0
  8. package/esbuild.config.js +75 -0
  9. package/openclaw.plugin.json +4 -4
  10. package/package.json +11 -13
  11. package/scripts/build-web.mjs +46 -0
  12. package/scripts/install-dependencies.cjs +47 -0
  13. package/scripts/sync-plugin.mjs +802 -0
  14. package/scripts/verify-build.mjs +109 -0
  15. package/src/agents/nocturnal-dreamer.md +152 -0
  16. package/src/agents/nocturnal-philosopher.md +138 -0
  17. package/src/agents/nocturnal-reflector.md +126 -0
  18. package/src/agents/nocturnal-scribe.md +164 -0
  19. package/src/commands/capabilities.ts +85 -0
  20. package/{dist/commands/context.js → src/commands/context.ts} +78 -38
  21. package/src/commands/evolution-status.ts +146 -0
  22. package/src/commands/export.ts +111 -0
  23. package/src/commands/focus.ts +533 -0
  24. package/src/commands/nocturnal-review.ts +311 -0
  25. package/src/commands/nocturnal-rollout.ts +763 -0
  26. package/src/commands/nocturnal-train.ts +1002 -0
  27. package/{dist/commands/pain.js → src/commands/pain.ts} +68 -49
  28. package/src/commands/principle-rollback.ts +27 -0
  29. package/{dist/commands/rollback.js → src/commands/rollback.ts} +44 -12
  30. package/src/commands/samples.ts +60 -0
  31. package/src/commands/strategy.ts +38 -0
  32. package/{dist/commands/thinking-os.js → src/commands/thinking-os.ts} +59 -36
  33. package/src/commands/workflow-debug.ts +128 -0
  34. package/{dist/config/defaults/runtime.js → src/config/defaults/runtime.ts} +12 -5
  35. package/src/config/errors.ts +163 -0
  36. package/{dist/config/index.d.ts → src/config/index.ts} +2 -1
  37. package/src/constants/diagnostician.ts +66 -0
  38. package/src/constants/tools.ts +62 -0
  39. package/src/core/adaptive-thresholds.ts +476 -0
  40. package/{dist/core/config-service.js → src/core/config-service.ts} +7 -4
  41. package/{dist/core/config.js → src/core/config.ts} +158 -46
  42. package/src/core/control-ui-db.ts +435 -0
  43. package/{dist/core/detection-funnel.js → src/core/detection-funnel.ts} +36 -21
  44. package/{dist/core/detection-service.js → src/core/detection-service.ts} +7 -4
  45. package/{dist/core/dictionary-service.js → src/core/dictionary-service.ts} +7 -4
  46. package/{dist/core/dictionary.js → src/core/dictionary.ts} +57 -34
  47. package/src/core/empathy-keyword-matcher.ts +327 -0
  48. package/src/core/empathy-types.ts +218 -0
  49. package/src/core/event-log.ts +544 -0
  50. package/src/core/evolution-engine.ts +612 -0
  51. package/src/core/evolution-logger.ts +353 -0
  52. package/src/core/evolution-migration.ts +77 -0
  53. package/src/core/evolution-reducer.ts +731 -0
  54. package/src/core/evolution-types.ts +456 -0
  55. package/src/core/external-training-contract.ts +527 -0
  56. package/src/core/focus-history.ts +1458 -0
  57. package/src/core/hygiene/tracker.ts +117 -0
  58. package/{dist/core/init.js → src/core/init.ts} +39 -26
  59. package/src/core/local-worker-routing.ts +617 -0
  60. package/{dist/core/migration.js → src/core/migration.ts} +18 -11
  61. package/src/core/model-deployment-registry.ts +722 -0
  62. package/src/core/model-training-registry.ts +813 -0
  63. package/src/core/nocturnal-arbiter.ts +706 -0
  64. package/src/core/nocturnal-candidate-scoring.ts +392 -0
  65. package/src/core/nocturnal-compliance.ts +1075 -0
  66. package/src/core/nocturnal-dataset.ts +668 -0
  67. package/src/core/nocturnal-executability.ts +428 -0
  68. package/src/core/nocturnal-export.ts +390 -0
  69. package/{dist/core/nocturnal-paths.js → src/core/nocturnal-paths.ts} +49 -23
  70. package/src/core/nocturnal-trajectory-extractor.ts +484 -0
  71. package/src/core/nocturnal-trinity.ts +1384 -0
  72. package/src/core/pain.ts +122 -0
  73. package/{dist/core/path-resolver.js → src/core/path-resolver.ts} +157 -36
  74. package/{dist/core/paths.js → src/core/paths.ts} +13 -4
  75. package/src/core/principle-training-state.ts +450 -0
  76. package/src/core/profile.ts +226 -0
  77. package/src/core/promotion-gate.ts +822 -0
  78. package/{dist/core/risk-calculator.js → src/core/risk-calculator.ts} +42 -16
  79. package/{dist/core/session-tracker.js → src/core/session-tracker.ts} +175 -62
  80. package/src/core/shadow-observation-registry.ts +534 -0
  81. package/{dist/core/system-logger.js → src/core/system-logger.ts} +9 -5
  82. package/src/core/thinking-models.ts +217 -0
  83. package/src/core/training-program.ts +630 -0
  84. package/src/core/trajectory-types.ts +243 -0
  85. package/src/core/trajectory.ts +1673 -0
  86. package/{dist/core/workspace-context.js → src/core/workspace-context.ts} +57 -32
  87. package/src/hooks/bash-risk.ts +171 -0
  88. package/src/hooks/edit-verification.ts +295 -0
  89. package/src/hooks/gate-block-helper.ts +160 -0
  90. package/src/hooks/gate.ts +210 -0
  91. package/src/hooks/gfi-gate.ts +177 -0
  92. package/src/hooks/lifecycle.ts +326 -0
  93. package/{dist/hooks/llm.js → src/hooks/llm.ts} +160 -80
  94. package/src/hooks/message-sanitize.ts +45 -0
  95. package/src/hooks/pain.ts +384 -0
  96. package/src/hooks/progressive-trust-gate.ts +174 -0
  97. package/src/hooks/prompt.ts +920 -0
  98. package/src/hooks/subagent.ts +207 -0
  99. package/src/hooks/thinking-checkpoint.ts +73 -0
  100. package/src/hooks/trajectory-collector.ts +290 -0
  101. package/src/http/principles-console-route.ts +716 -0
  102. package/src/i18n/commands.ts +117 -0
  103. package/src/index.ts +694 -0
  104. package/src/service/central-database.ts +831 -0
  105. package/src/service/control-ui-query-service.ts +888 -0
  106. package/src/service/evolution-query-service.ts +405 -0
  107. package/src/service/evolution-worker.ts +1646 -0
  108. package/src/service/health-query-service.ts +836 -0
  109. package/{dist/service/nocturnal-runtime.js → src/service/nocturnal-runtime.ts} +235 -79
  110. package/src/service/nocturnal-service.ts +1015 -0
  111. package/src/service/nocturnal-target-selector.ts +532 -0
  112. package/src/service/phase3-input-filter.ts +237 -0
  113. package/src/service/runtime-summary-service.ts +757 -0
  114. package/src/service/subagent-workflow/deep-reflect-workflow-manager.ts +513 -0
  115. package/{dist/service/subagent-workflow/empathy-observer-workflow-manager.js → src/service/subagent-workflow/empathy-observer-workflow-manager.ts} +240 -117
  116. package/src/service/subagent-workflow/index.ts +51 -0
  117. package/src/service/subagent-workflow/nocturnal-workflow-manager.ts +856 -0
  118. package/src/service/subagent-workflow/runtime-direct-driver.ts +166 -0
  119. package/{dist/service/subagent-workflow/types.d.ts → src/service/subagent-workflow/types.ts} +137 -18
  120. package/src/service/subagent-workflow/workflow-store.ts +328 -0
  121. package/src/service/trajectory-service.ts +15 -0
  122. package/{dist/tools/critique-prompt.js → src/tools/critique-prompt.ts} +25 -8
  123. package/src/tools/deep-reflect.ts +349 -0
  124. package/{dist/tools/model-index.js → src/tools/model-index.ts} +33 -17
  125. package/src/types/event-types.ts +453 -0
  126. package/src/types/hygiene-types.ts +31 -0
  127. package/src/types/principle-tree-schema.ts +244 -0
  128. package/src/types/runtime-summary.ts +49 -0
  129. package/src/types.ts +74 -0
  130. package/src/utils/file-lock.ts +391 -0
  131. package/{dist/utils/glob-match.js → src/utils/glob-match.ts} +21 -20
  132. package/{dist/utils/hashing.js → src/utils/hashing.ts} +6 -4
  133. package/src/utils/io.ts +110 -0
  134. package/{dist/utils/nlp.js → src/utils/nlp.ts} +19 -12
  135. package/{dist/utils/plugin-logger.js → src/utils/plugin-logger.ts} +33 -8
  136. package/src/utils/subagent-probe.ts +94 -0
  137. package/templates/langs/zh/skills/pd-diagnostician/SKILL.md +70 -1
  138. package/templates/pain_settings.json +2 -1
  139. package/tests/README.md +120 -0
  140. package/tests/build-artifacts.test.ts +111 -0
  141. package/tests/commands/evolution-status.test.ts +222 -0
  142. package/tests/commands/evolver.test.ts +22 -0
  143. package/tests/commands/export.test.ts +78 -0
  144. package/tests/commands/nocturnal-review.test.ts +448 -0
  145. package/tests/commands/nocturnal-train.test.ts +97 -0
  146. package/tests/commands/pain.test.ts +108 -0
  147. package/tests/commands/samples.test.ts +65 -0
  148. package/tests/commands/strategy.test.ts +34 -0
  149. package/tests/commands/thinking-os.test.ts +88 -0
  150. package/tests/core/adaptive-thresholds.test.ts +261 -0
  151. package/tests/core/config-service.test.ts +89 -0
  152. package/tests/core/config.test.ts +90 -0
  153. package/tests/core/control-ui-db.test.ts +75 -0
  154. package/tests/core/core-template-guidance.test.ts +21 -0
  155. package/tests/core/detection-funnel.test.ts +63 -0
  156. package/tests/core/detection-service.test.ts +50 -0
  157. package/tests/core/dictionary-service.test.ts +116 -0
  158. package/tests/core/dictionary.test.ts +168 -0
  159. package/tests/core/empathy-keyword-matcher.test.ts +209 -0
  160. package/tests/core/event-log.test.ts +181 -0
  161. package/tests/core/evolution-e2e.test.ts +58 -0
  162. package/tests/core/evolution-engine-gate-integration.test.ts +543 -0
  163. package/tests/core/evolution-engine.test.ts +562 -0
  164. package/tests/core/evolution-logger.test.ts +148 -0
  165. package/tests/core/evolution-migration.test.ts +50 -0
  166. package/tests/core/evolution-paths.test.ts +21 -0
  167. package/tests/core/evolution-reducer.detector-metadata.test.ts +602 -0
  168. package/tests/core/evolution-reducer.test.ts +180 -0
  169. package/tests/core/evolution-types-loop.test.ts +48 -0
  170. package/tests/core/evolution-user-stories.e2e.test.ts +249 -0
  171. package/tests/core/external-training-contract.test.ts +463 -0
  172. package/tests/core/focus-history.test.ts +682 -0
  173. package/tests/core/init-flatten.test.ts +69 -0
  174. package/tests/core/init-refactor.test.ts +87 -0
  175. package/tests/core/init-v1.3.test.ts +46 -0
  176. package/tests/core/init.test.ts +190 -0
  177. package/tests/core/local-worker-routing.test.ts +757 -0
  178. package/tests/core/migration.test.ts +84 -0
  179. package/tests/core/model-deployment-registry.test.ts +845 -0
  180. package/tests/core/model-training-registry.test.ts +889 -0
  181. package/tests/core/nocturnal-arbiter.test.ts +494 -0
  182. package/tests/core/nocturnal-candidate-scoring.test.ts +400 -0
  183. package/tests/core/nocturnal-compliance.test.ts +646 -0
  184. package/tests/core/nocturnal-dataset.test.ts +892 -0
  185. package/tests/core/nocturnal-executability.test.ts +357 -0
  186. package/tests/core/nocturnal-export.test.ts +462 -0
  187. package/tests/core/nocturnal-reviewed-subset-comparison.test.ts +428 -0
  188. package/tests/core/nocturnal-trajectory-extractor.test.ts +634 -0
  189. package/tests/core/nocturnal-trinity.test.ts +953 -0
  190. package/tests/core/pain.test.ts +33 -0
  191. package/tests/core/path-resolver.test.ts +57 -0
  192. package/tests/core/paths-refactor.test.ts +42 -0
  193. package/tests/core/phase7-rollout-integration.test.ts +477 -0
  194. package/tests/core/principle-training-state.test.ts +712 -0
  195. package/tests/core/profile.test.ts +56 -0
  196. package/tests/core/promotion-gate.test.ts +556 -0
  197. package/tests/core/risk-calculator.test.ts +168 -0
  198. package/tests/core/session-tracker.test.ts +191 -0
  199. package/tests/core/training-program.test.ts +472 -0
  200. package/tests/core/trajectory.test.ts +265 -0
  201. package/tests/core/workspace-context-factory.test.ts +18 -0
  202. package/tests/core/workspace-context.test.ts +134 -0
  203. package/tests/fixtures/nocturnal-reviewed-subset.json +183 -0
  204. package/tests/fixtures/production-compatibility.test.ts +147 -0
  205. package/tests/fixtures/production-mock-generator.ts +282 -0
  206. package/tests/hooks/bash-risk-integration.test.ts +137 -0
  207. package/tests/hooks/bash-risk.test.ts +81 -0
  208. package/tests/hooks/edit-verification.test.ts +678 -0
  209. package/tests/hooks/gate-edit-verification-p1.test.ts +632 -0
  210. package/tests/hooks/gate-edit-verification.test.ts +435 -0
  211. package/tests/hooks/gate-pipeline-integration.test.ts +404 -0
  212. package/tests/hooks/gate.test.ts +271 -0
  213. package/tests/hooks/gfi-gate-unit.test.ts +422 -0
  214. package/tests/hooks/gfi-gate.test.ts +669 -0
  215. package/tests/hooks/lifecycle.test.ts +248 -0
  216. package/tests/hooks/llm.test.ts +308 -0
  217. package/tests/hooks/message-sanitize.test.ts +36 -0
  218. package/tests/hooks/pain.test.ts +141 -0
  219. package/tests/hooks/progressive-trust-gate.test.ts +277 -0
  220. package/tests/hooks/prompt.test.ts +1411 -0
  221. package/tests/hooks/subagent.test.ts +467 -0
  222. package/tests/hooks/thinking-gate.test.ts +313 -0
  223. package/tests/http/principles-console-route.test.ts +140 -0
  224. package/tests/hygiene-tracker.test.ts +77 -0
  225. package/tests/index.integration.test.ts +179 -0
  226. package/tests/index.shadow-routing.integration.test.ts +140 -0
  227. package/tests/index.test.ts +9 -0
  228. package/tests/integration/empathy-workflow-integration.test.ts +627 -0
  229. package/tests/service/control-ui-query-service.test.ts +121 -0
  230. package/tests/service/empathy-observer-workflow-manager.test.ts +176 -0
  231. package/tests/service/evolution-worker.test.ts +585 -0
  232. package/tests/service/nocturnal-runtime.test.ts +470 -0
  233. package/tests/service/nocturnal-service.test.ts +577 -0
  234. package/tests/service/nocturnal-target-selector.test.ts +615 -0
  235. package/tests/service/nocturnal-workflow-manager.test.ts +439 -0
  236. package/tests/service/phase3-input-filter.test.ts +289 -0
  237. package/tests/service/runtime-summary-service.test.ts +919 -0
  238. package/tests/task-compliance.test.ts +166 -0
  239. package/tests/test-utils.ts +48 -0
  240. package/tests/tools/critique-prompt.test.ts +260 -0
  241. package/tests/tools/deep-reflect.test.ts +232 -0
  242. package/tests/tools/model-index.test.ts +246 -0
  243. package/tests/ui/app.test.tsx +114 -0
  244. package/tests/utils/file-lock.test.ts +407 -0
  245. package/tests/utils/hashing.test.ts +32 -0
  246. package/tests/utils/io.test.ts +39 -0
  247. package/tests/utils/nlp.test.ts +53 -0
  248. package/tests/utils/plugin-logger.test.ts +156 -0
  249. package/tsconfig.json +16 -0
  250. package/tsconfig.tsbuildinfo +1 -0
  251. package/ui/src/App.tsx +45 -0
  252. package/ui/src/api.ts +216 -0
  253. package/ui/src/charts.tsx +586 -0
  254. package/ui/src/components/ErrorState.tsx +6 -0
  255. package/ui/src/components/Loading.tsx +13 -0
  256. package/ui/src/components/ProtectedRoute.tsx +12 -0
  257. package/ui/src/components/Shell.tsx +91 -0
  258. package/ui/src/components/WorkspaceConfig.tsx +146 -0
  259. package/ui/src/components/index.ts +5 -0
  260. package/ui/src/context/auth.tsx +80 -0
  261. package/ui/src/context/theme.tsx +66 -0
  262. package/ui/src/hooks/useAutoRefresh.ts +39 -0
  263. package/ui/src/i18n/ui.ts +363 -0
  264. package/ui/src/main.tsx +16 -0
  265. package/ui/src/pages/EvolutionPage.tsx +352 -0
  266. package/ui/src/pages/FeedbackPage.tsx +140 -0
  267. package/ui/src/pages/GateMonitorPage.tsx +136 -0
  268. package/ui/src/pages/LoginPage.tsx +88 -0
  269. package/ui/src/pages/OverviewPage.tsx +238 -0
  270. package/ui/src/pages/SamplesPage.tsx +174 -0
  271. package/ui/src/pages/ThinkingModelsPage.tsx +127 -0
  272. package/ui/src/styles.css +1661 -0
  273. package/ui/src/types.ts +368 -0
  274. package/ui/src/utils/format.ts +15 -0
  275. package/vitest.config.ts +23 -0
  276. package/dist/commands/capabilities.d.ts +0 -3
  277. package/dist/commands/capabilities.js +0 -73
  278. package/dist/commands/context.d.ts +0 -5
  279. package/dist/commands/evolution-status.d.ts +0 -4
  280. package/dist/commands/evolution-status.js +0 -117
  281. package/dist/commands/evolver.d.ts +0 -9
  282. package/dist/commands/evolver.js +0 -26
  283. package/dist/commands/export.d.ts +0 -2
  284. package/dist/commands/export.js +0 -98
  285. package/dist/commands/focus.d.ts +0 -14
  286. package/dist/commands/focus.js +0 -457
  287. package/dist/commands/nocturnal-review.d.ts +0 -24
  288. package/dist/commands/nocturnal-review.js +0 -265
  289. package/dist/commands/nocturnal-rollout.d.ts +0 -27
  290. package/dist/commands/nocturnal-rollout.js +0 -671
  291. package/dist/commands/nocturnal-train.d.ts +0 -25
  292. package/dist/commands/nocturnal-train.js +0 -919
  293. package/dist/commands/pain.d.ts +0 -5
  294. package/dist/commands/principle-rollback.d.ts +0 -4
  295. package/dist/commands/principle-rollback.js +0 -22
  296. package/dist/commands/rollback.d.ts +0 -19
  297. package/dist/commands/samples.d.ts +0 -2
  298. package/dist/commands/samples.js +0 -55
  299. package/dist/commands/strategy.d.ts +0 -3
  300. package/dist/commands/strategy.js +0 -29
  301. package/dist/commands/thinking-os.d.ts +0 -2
  302. package/dist/config/defaults/runtime.d.ts +0 -40
  303. package/dist/config/errors.d.ts +0 -84
  304. package/dist/config/errors.js +0 -94
  305. package/dist/config/index.js +0 -7
  306. package/dist/constants/diagnostician.d.ts +0 -12
  307. package/dist/constants/diagnostician.js +0 -56
  308. package/dist/constants/tools.d.ts +0 -17
  309. package/dist/constants/tools.js +0 -54
  310. package/dist/core/adaptive-thresholds.d.ts +0 -186
  311. package/dist/core/adaptive-thresholds.js +0 -300
  312. package/dist/core/config-service.d.ts +0 -15
  313. package/dist/core/config.d.ts +0 -129
  314. package/dist/core/control-ui-db.d.ts +0 -95
  315. package/dist/core/control-ui-db.js +0 -292
  316. package/dist/core/detection-funnel.d.ts +0 -33
  317. package/dist/core/detection-service.d.ts +0 -15
  318. package/dist/core/dictionary-service.d.ts +0 -15
  319. package/dist/core/dictionary.d.ts +0 -38
  320. package/dist/core/event-log.d.ts +0 -82
  321. package/dist/core/event-log.js +0 -463
  322. package/dist/core/evolution-engine.d.ts +0 -118
  323. package/dist/core/evolution-engine.js +0 -464
  324. package/dist/core/evolution-logger.d.ts +0 -137
  325. package/dist/core/evolution-logger.js +0 -256
  326. package/dist/core/evolution-migration.d.ts +0 -5
  327. package/dist/core/evolution-migration.js +0 -65
  328. package/dist/core/evolution-reducer.d.ts +0 -98
  329. package/dist/core/evolution-reducer.js +0 -465
  330. package/dist/core/evolution-types.d.ts +0 -287
  331. package/dist/core/evolution-types.js +0 -78
  332. package/dist/core/external-training-contract.d.ts +0 -276
  333. package/dist/core/external-training-contract.js +0 -269
  334. package/dist/core/focus-history.d.ts +0 -210
  335. package/dist/core/focus-history.js +0 -1185
  336. package/dist/core/hygiene/tracker.d.ts +0 -22
  337. package/dist/core/hygiene/tracker.js +0 -106
  338. package/dist/core/init.d.ts +0 -12
  339. package/dist/core/local-worker-routing.d.ts +0 -175
  340. package/dist/core/local-worker-routing.js +0 -525
  341. package/dist/core/migration.d.ts +0 -6
  342. package/dist/core/model-deployment-registry.d.ts +0 -218
  343. package/dist/core/model-deployment-registry.js +0 -503
  344. package/dist/core/model-training-registry.d.ts +0 -295
  345. package/dist/core/model-training-registry.js +0 -475
  346. package/dist/core/nocturnal-arbiter.d.ts +0 -159
  347. package/dist/core/nocturnal-arbiter.js +0 -534
  348. package/dist/core/nocturnal-candidate-scoring.d.ts +0 -137
  349. package/dist/core/nocturnal-candidate-scoring.js +0 -266
  350. package/dist/core/nocturnal-compliance.d.ts +0 -175
  351. package/dist/core/nocturnal-compliance.js +0 -824
  352. package/dist/core/nocturnal-dataset.d.ts +0 -224
  353. package/dist/core/nocturnal-dataset.js +0 -443
  354. package/dist/core/nocturnal-executability.d.ts +0 -85
  355. package/dist/core/nocturnal-executability.js +0 -331
  356. package/dist/core/nocturnal-export.d.ts +0 -124
  357. package/dist/core/nocturnal-export.js +0 -275
  358. package/dist/core/nocturnal-paths.d.ts +0 -124
  359. package/dist/core/nocturnal-trajectory-extractor.d.ts +0 -242
  360. package/dist/core/nocturnal-trajectory-extractor.js +0 -307
  361. package/dist/core/nocturnal-trinity.d.ts +0 -311
  362. package/dist/core/nocturnal-trinity.js +0 -880
  363. package/dist/core/pain.d.ts +0 -4
  364. package/dist/core/pain.js +0 -70
  365. package/dist/core/path-resolver.d.ts +0 -46
  366. package/dist/core/paths.d.ts +0 -65
  367. package/dist/core/principle-training-state.d.ts +0 -121
  368. package/dist/core/principle-training-state.js +0 -321
  369. package/dist/core/profile.d.ts +0 -62
  370. package/dist/core/profile.js +0 -210
  371. package/dist/core/promotion-gate.d.ts +0 -238
  372. package/dist/core/promotion-gate.js +0 -529
  373. package/dist/core/risk-calculator.d.ts +0 -22
  374. package/dist/core/session-tracker.d.ts +0 -101
  375. package/dist/core/shadow-observation-registry.d.ts +0 -217
  376. package/dist/core/shadow-observation-registry.js +0 -308
  377. package/dist/core/system-logger.d.ts +0 -8
  378. package/dist/core/thinking-models.d.ts +0 -38
  379. package/dist/core/thinking-models.js +0 -170
  380. package/dist/core/training-program.d.ts +0 -233
  381. package/dist/core/training-program.js +0 -433
  382. package/dist/core/trajectory.d.ts +0 -411
  383. package/dist/core/trajectory.js +0 -1307
  384. package/dist/core/workspace-context.d.ts +0 -71
  385. package/dist/hooks/bash-risk.d.ts +0 -57
  386. package/dist/hooks/bash-risk.js +0 -137
  387. package/dist/hooks/edit-verification.d.ts +0 -62
  388. package/dist/hooks/edit-verification.js +0 -256
  389. package/dist/hooks/gate-block-helper.d.ts +0 -44
  390. package/dist/hooks/gate-block-helper.js +0 -119
  391. package/dist/hooks/gate.d.ts +0 -24
  392. package/dist/hooks/gate.js +0 -173
  393. package/dist/hooks/gfi-gate.d.ts +0 -40
  394. package/dist/hooks/gfi-gate.js +0 -113
  395. package/dist/hooks/lifecycle.d.ts +0 -5
  396. package/dist/hooks/lifecycle.js +0 -284
  397. package/dist/hooks/llm.d.ts +0 -13
  398. package/dist/hooks/message-sanitize.d.ts +0 -3
  399. package/dist/hooks/message-sanitize.js +0 -37
  400. package/dist/hooks/pain.d.ts +0 -5
  401. package/dist/hooks/pain.js +0 -301
  402. package/dist/hooks/progressive-trust-gate.d.ts +0 -52
  403. package/dist/hooks/progressive-trust-gate.js +0 -134
  404. package/dist/hooks/prompt.d.ts +0 -49
  405. package/dist/hooks/prompt.js +0 -905
  406. package/dist/hooks/subagent.d.ts +0 -10
  407. package/dist/hooks/subagent.js +0 -387
  408. package/dist/hooks/thinking-checkpoint.d.ts +0 -37
  409. package/dist/hooks/thinking-checkpoint.js +0 -51
  410. package/dist/hooks/trajectory-collector.d.ts +0 -32
  411. package/dist/hooks/trajectory-collector.js +0 -256
  412. package/dist/http/principles-console-route.d.ts +0 -9
  413. package/dist/http/principles-console-route.js +0 -681
  414. package/dist/i18n/commands.d.ts +0 -26
  415. package/dist/i18n/commands.js +0 -116
  416. package/dist/index.d.ts +0 -7
  417. package/dist/index.js +0 -581
  418. package/dist/service/central-database.d.ts +0 -104
  419. package/dist/service/central-database.js +0 -649
  420. package/dist/service/control-ui-query-service.d.ts +0 -221
  421. package/dist/service/control-ui-query-service.js +0 -543
  422. package/dist/service/empathy-observer-manager.d.ts +0 -88
  423. package/dist/service/empathy-observer-manager.js +0 -414
  424. package/dist/service/evolution-query-service.d.ts +0 -155
  425. package/dist/service/evolution-query-service.js +0 -258
  426. package/dist/service/evolution-worker.d.ts +0 -101
  427. package/dist/service/evolution-worker.js +0 -975
  428. package/dist/service/health-query-service.d.ts +0 -170
  429. package/dist/service/health-query-service.js +0 -662
  430. package/dist/service/nocturnal-runtime.d.ts +0 -183
  431. package/dist/service/nocturnal-service.d.ts +0 -163
  432. package/dist/service/nocturnal-service.js +0 -787
  433. package/dist/service/nocturnal-target-selector.d.ts +0 -145
  434. package/dist/service/nocturnal-target-selector.js +0 -315
  435. package/dist/service/phase3-input-filter.d.ts +0 -73
  436. package/dist/service/phase3-input-filter.js +0 -172
  437. package/dist/service/runtime-summary-service.d.ts +0 -122
  438. package/dist/service/runtime-summary-service.js +0 -485
  439. package/dist/service/subagent-workflow/empathy-observer-workflow-manager.d.ts +0 -48
  440. package/dist/service/subagent-workflow/index.d.ts +0 -4
  441. package/dist/service/subagent-workflow/index.js +0 -3
  442. package/dist/service/subagent-workflow/runtime-direct-driver.d.ts +0 -77
  443. package/dist/service/subagent-workflow/runtime-direct-driver.js +0 -75
  444. package/dist/service/subagent-workflow/types.js +0 -11
  445. package/dist/service/subagent-workflow/workflow-store.d.ts +0 -26
  446. package/dist/service/subagent-workflow/workflow-store.js +0 -165
  447. package/dist/service/trajectory-service.d.ts +0 -2
  448. package/dist/service/trajectory-service.js +0 -15
  449. package/dist/tools/critique-prompt.d.ts +0 -14
  450. package/dist/tools/deep-reflect.d.ts +0 -39
  451. package/dist/tools/deep-reflect.js +0 -350
  452. package/dist/tools/model-index.d.ts +0 -9
  453. package/dist/types/event-types.d.ts +0 -306
  454. package/dist/types/event-types.js +0 -106
  455. package/dist/types/hygiene-types.d.ts +0 -20
  456. package/dist/types/hygiene-types.js +0 -12
  457. package/dist/types/runtime-summary.d.ts +0 -47
  458. package/dist/types/runtime-summary.js +0 -1
  459. package/dist/types.d.ts +0 -50
  460. package/dist/types.js +0 -22
  461. package/dist/utils/file-lock.d.ts +0 -71
  462. package/dist/utils/file-lock.js +0 -309
  463. package/dist/utils/glob-match.d.ts +0 -28
  464. package/dist/utils/hashing.d.ts +0 -9
  465. package/dist/utils/io.d.ts +0 -6
  466. package/dist/utils/io.js +0 -106
  467. package/dist/utils/nlp.d.ts +0 -9
  468. package/dist/utils/plugin-logger.d.ts +0 -39
  469. package/dist/utils/subagent-probe.d.ts +0 -34
  470. package/dist/utils/subagent-probe.js +0 -81
@@ -0,0 +1,97 @@
1
+ # 🛠️ Principles Disciple 高阶参数调优指南 (Geek Mode)
2
+
3
+ > 💡 **给 99% 用户的建议**:您完全不需要阅读本文档。插件在默认配置下已经能在“保护代码安全”和“高效执行”之间取得最佳平衡。请直接享受 AI 编程吧!
4
+
5
+ ---
6
+
7
+ 如果您是那 1% 想要精细控制 AI 行为的极客,或者您发现 AI 最近太“怂”了总是拒绝干活,又或者觉得 AI 胆子太大经常改坏代码,那么欢迎来到**引擎核心区**。
8
+
9
+ 当您在一个目录下初始化了本插件后,系统会在该项目下生成一个隐藏配置文件:
10
+ 📂 `.state/pain_settings.json`
11
+
12
+ 修改这个文件,您可以直接改写 AI 的“性格”和“忍耐度”。
13
+
14
+ ## 📖 核心参数字典(说人话版)
15
+
16
+ ### 1. 痛点阈值 (`thresholds`)
17
+ 决定了 AI 遇到多大的挫折才会开始“反思”和“求助”。
18
+
19
+ * `pain_trigger` (默认: 30): **疼痛忍耐度**。当 AI 连续报错积攒的分数超过这个值,就会触发强制反思。调高它(比如 50),AI 就会变得更头铁,拼命尝试修复;调低它(比如 20),AI 一遇到困难就会停下来思考。
20
+ * `stuck_loops_trigger` (默认: 3): **死循环探测器**。如果 AI 连续修改同一个文件 3 次依然报错,系统判定它“卡死了”,会强制干预。
21
+
22
+ ### 2. 挫折评分 (`scores`)
23
+ 这些参数决定了 AI 犯错时“挨打”的力度。分数扣得越狠,AI 越容易进入“只读/保护模式”。
24
+
25
+ * `exit_code_penalty` (默认: 70): **报错惩罚**。只要跑代码报错了,瞬间增加这么多疼痛值。
26
+ * `tool_failure_friction` (默认: 30): **工具使用失败惩罚**。比如试图读取一个不存在的文件。
27
+ * `subagent_error_penalty` (默认: 80): **子系统崩溃惩罚**。这是非常严重的事故,分数很高。
28
+
29
+ ### 3. 时间与频率 (`intervals`)
30
+ * `worker_poll_ms` (默认: 900000 即 15分钟): **后台进化巡检间隔**。系统多久在后台扫描一次报错记录并总结出新规则。一般不需要改。
31
+ * `task_timeout_ms` (默认: 1800000 即 30分钟): **任务超时极限**。
32
+
33
+ ### 4. 信任与权限体系 (`trust`)
34
+ 这是系统的绝对核心。AI 初始有个“信任分”,干得好加分,瞎搞破坏减分。分数对应 4 个阶级(Observer -> Editor -> Developer -> Architect)。阶级越低,AI 受到的限制越多(比如不准写超过 10 行的代码)。
35
+
36
+ * **`stages` (阶级门槛)**:
37
+ * `stage_1_observer` (默认: 30): 低于 30 分,AI 沦为纯“只读”模式,只能帮你查 Bug,不能改代码。
38
+ * `stage_2_editor` (默认: 60): 能改小段代码,不能碰核心区。
39
+ * `stage_3_developer` (默认: 80): 可以修改核心代码,但必须先写 `PLAN.md` 计划书。
40
+ * **`penalties` (扣分项)**:
41
+ * `tool_failure_base` (默认: -8): 报错一次扣 8 分。
42
+ * `risky_failure_base` (默认: -15): 在核心保护区报错,罪加一等,扣 15 分。
43
+ * **`rewards` (加分项)**:
44
+ * `success_base` (默认: 1): 成功干完一个小任务,加 1 分。
45
+ * `streak_bonus` (默认: 5): 连续 5 次成功(连杀奖励),额外加 5 分。
46
+
47
+ ### 5. 元认知深度反思 (`deep_reflection`)
48
+ * `enabled`: 是否允许 AI 停下来深思熟虑。
49
+ * `auto_trigger_conditions.error_rate_threshold` (默认: 0.3): 当近期操作的错误率超过 30% 时,强制让 AI 停下手头的活,调用 `deep_reflect` 工具分析自己是不是大方向搞错了。
50
+
51
+ ---
52
+
53
+ ### ⚠️ 高风险操作警告!
54
+
55
+ 如果您把 `penalties` 里的扣分调得极低(比如改成 -1),或者把初始信任分调得极高(100分),**防爆拦截系统实际上就失效了**。AI 将变成一个彻头彻尾的“莽夫”,这在操作大型复杂项目时极易引发灾难性的代码破坏。
56
+
57
+ **修改建议**:推荐通过界面的 `auditLevel`(防爆拦截级别)来宏观调节,而不是直接魔改这些微观数值。
58
+
59
+ ---
60
+
61
+ ## ⚙️ 工作区目录配置
62
+
63
+ 系统通过以下方式确定工作区目录:
64
+
65
+ ### 配置文件(推荐)
66
+
67
+ 创建 `~/.openclaw/principles-disciple.json`:
68
+
69
+ ```json
70
+ {
71
+ "workspace": "/home/user/my-workspace",
72
+ "state": "/home/user/my-workspace/.state",
73
+ "debug": false
74
+ }
75
+ ```
76
+
77
+ ### 环境变量
78
+
79
+ | 变量名 | 描述 | 示例 |
80
+ |--------|------|------|
81
+ | `PD_WORKSPACE_DIR` | 自定义工作区目录 | `/home/user/workspace` |
82
+ | `PD_STATE_DIR` | 自定义状态目录 | `/home/user/workspace/.state` |
83
+ | `DEBUG` | 启用调试日志 | `true` |
84
+
85
+ ### 优先级
86
+
87
+ 1. 环境变量 > 配置文件 > 默认值
88
+
89
+ ### 调试日志
90
+
91
+ 开启 `DEBUG=true` 后,日志会显示:
92
+
93
+ ```
94
+ [PD:PathResolver] Using workspace from config file: /home/user/workspace
95
+ [PD:WorkspaceContext] Normalized workspaceDir: /home/user/clawd/memory -> /home/user/clawd
96
+ [PD:TrustEngine] Scorecard not found, creating initial scorecard
97
+ ```
@@ -0,0 +1,173 @@
1
+ # Principles Disciple - Agent Installation Guide
2
+
3
+ > **给智能体的安装指引** - 请仔细阅读并按步骤执行
4
+
5
+ ---
6
+
7
+ ## 🚨 高危文件警告
8
+
9
+ **以下文件包含用户积累的重要数据,绝不可删除或覆盖:**
10
+
11
+ ### 用户积累文件(最高优先级)
12
+
13
+ | 文件 | 内容 | 风险 |
14
+ |------|------|------|
15
+ | `.principles/PRINCIPLES.md` | 用户积累的原则和教训 | 🔴 **删除 = 丢失所有经验** |
16
+ | `.principles/PROFILE.json` | 用户配置和偏好 | 🔴 删除 = 重置所有设置 |
17
+ | `AGENTS.md` | Agent 身份和记忆 | 🔴 删除 = 丢失身份认知 |
18
+ | `SOUL.md` | Agent 核心人格 | 🔴 删除 = 丢失人格设定 |
19
+ | `USER.md` | 用户偏好和上下文 | 🟡 删除 = 丢失用户偏好 |
20
+ | `PLAN.md` | 当前工作计划 | 🟡 删除 = 丢失工作上下文 |
21
+ | `MEMORY.md` | 长期记忆 | 🔴 删除 = 丢失长期记忆 |
22
+
23
+ ### 状态文件(不可删除)
24
+
25
+ | 目录 | 内容 | 风险 |
26
+ |------|------|------|
27
+ | `.state/` | 运行状态、信任分、进化积分 | 🔴 删除 = 重置所有进度 |
28
+ | `.state/evolution_points.json` | 进化积分记录 | 🔴 删除 = 积分归零 |
29
+ | `.state/AGENT_SCORECARD.json` | 信任分数记录 | 🔴 删除 = 信任分重置 |
30
+
31
+ ### 可以安全更新/覆盖的文件
32
+
33
+ | 文件 | 说明 |
34
+ |------|------|
35
+ | `BOOT.md` | 启动模板,可以更新 |
36
+ | `HEARTBEAT.md` | 心跳模板,可以更新 |
37
+ | `IDENTITY.md` | 身份模板,可以更新 |
38
+ | `.principles/THINKING_OS.md` | 思维模型,更新后合并新模型 |
39
+ | `.principles/models/*.md` | 思维模型库,可以添加新模型 |
40
+
41
+ ### 安全操作原则
42
+
43
+ ```
44
+ 1. 更新时:始终使用 smart 模式(默认),生成 .update 文件
45
+ 2. 删除前:确认文件不是用户积累文件
46
+ 3. 覆盖前:先备份原文件
47
+ 4. 合并时:保留用户的所有自定义内容
48
+ ```
49
+
50
+ ---
51
+
52
+ ## 快速判断:首次安装 vs 更新
53
+
54
+ ```
55
+ 检查 ~/clawd/.principles/PRINCIPLES.md 是否存在:
56
+ ├── 不存在 → 首次安装(跳到 [首次安装] 章节)
57
+ └── 存在 → 更新(跳到 [更新] 章节)
58
+ ```
59
+
60
+ ---
61
+
62
+ ## 首次安装
63
+
64
+ ### 步骤 1:运行安装命令
65
+
66
+ ```bash
67
+ npx create-principles-disciple --non-interactive --lang zh --workspace ~/clawd
68
+ ```
69
+
70
+ ### 步骤 2:重启 OpenClaw Gateway
71
+
72
+ ```bash
73
+ openclaw gateway --force
74
+ ```
75
+
76
+ ### 步骤 3:验证安装
77
+
78
+ ```bash
79
+ openclaw plugins list | grep -A 2 "Principles"
80
+ ```
81
+
82
+ 应该看到 `Principles` 显示为 `loaded`。
83
+
84
+ ### 步骤 4:初始化项目
85
+
86
+ 在项目目录下运行:
87
+
88
+ ```
89
+ /init-strategy
90
+ ```
91
+
92
+ ---
93
+
94
+ ## 更新
95
+
96
+ ### ⚠️ 重要提醒
97
+
98
+ **更新会生成 .update 文件,不会直接覆盖你的文件!**
99
+
100
+ ### 步骤 1:运行更新命令
101
+
102
+ ```bash
103
+ npx create-principles-disciple --non-interactive --lang zh --workspace ~/clawd
104
+ ```
105
+
106
+ ### 步骤 2:查看更新内容
107
+
108
+ ```bash
109
+ # 查看变更日志
110
+ cat ~/clawd/docs/CHANGELOG.md | head -100
111
+
112
+ # 列出所有 .update 文件
113
+ find ~/clawd -name "*.update" -type f
114
+ ```
115
+
116
+ ### 步骤 3:合并更新
117
+
118
+ **必须手动合并 .update 文件到原文件!**
119
+
120
+ ```
121
+ 对于每个 .update 文件:
122
+ 1. 读取原文件内容
123
+ 2. 读取 .update 文件内容
124
+ 3. 对比差异,将有价值的更新合并到原文件
125
+ 4. 删除 .update 文件
126
+ ```
127
+
128
+ 示例流程:
129
+ ```
130
+ 1. 发现 AGENTS.md.update
131
+ 2. diff AGENTS.md AGENTS.md.update
132
+ 3. 识别新增的章节或修改
133
+ 4. 将需要的更新合并到 AGENTS.md
134
+ 5. rm AGENTS.md.update
135
+ ```
136
+
137
+ ### 步骤 4:重启 OpenClaw Gateway
138
+
139
+ ```bash
140
+ openclaw gateway --force
141
+ ```
142
+
143
+ ---
144
+
145
+ ## 常见问题
146
+
147
+ ### Q: 报错 "Cannot find module 'micromatch'"
148
+
149
+ 手动安装依赖:
150
+ ```bash
151
+ cd ~/.openclaw/extensions/principles-disciple
152
+ npm install micromatch@^4.0.8 @sinclair/typebox@^0.34.48
153
+ ```
154
+
155
+ ### Q: 如何查看当前版本?
156
+
157
+ ```bash
158
+ cat ~/.openclaw/extensions/principles-disciple/package.json | grep version
159
+ ```
160
+
161
+ ### Q: 如何查看所有更新?
162
+
163
+ ```bash
164
+ cat ~/clawd/docs/CHANGELOG.md
165
+ ```
166
+
167
+ ---
168
+
169
+ ## 版本信息
170
+
171
+ 当前文档版本:1.6.0
172
+
173
+ 更新此文档时,请同步更新版本号。
@@ -0,0 +1,173 @@
1
+ # Principles Disciple - Agent Installation Guide
2
+
3
+ > **Installation Guide for AI Agents** - Read carefully and follow the steps
4
+
5
+ ---
6
+
7
+ ## 🚨 High-Risk Files Warning
8
+
9
+ **The following files contain user-accumulated data and must NEVER be deleted or overwritten:**
10
+
11
+ ### User Accumulated Files (Highest Priority)
12
+
13
+ | File | Content | Risk |
14
+ |------|---------|------|
15
+ | `.principles/PRINCIPLES.md` | User's accumulated principles and lessons | 🔴 **Delete = Lose all experience** |
16
+ | `.principles/PROFILE.json` | User configuration and preferences | 🔴 Delete = Reset all settings |
17
+ | `AGENTS.md` | Agent identity and memory | 🔴 Delete = Lose identity cognition |
18
+ | `SOUL.md` | Agent core personality | 🔴 Delete = Lose personality |
19
+ | `USER.md` | User preferences and context | 🟡 Delete = Lose user preferences |
20
+ | `PLAN.md` | Current work plan | 🟡 Delete = Lose work context |
21
+ | `MEMORY.md` | Long-term memory | 🔴 Delete = Lose long-term memory |
22
+
23
+ ### State Files (Do Not Delete)
24
+
25
+ | Directory | Content | Risk |
26
+ |-----------|---------|------|
27
+ | `.state/` | Runtime state, trust score, evolution points | 🔴 Delete = Reset all progress |
28
+ | `.state/evolution_points.json` | Evolution points record | 🔴 Delete = Points reset to zero |
29
+ | `.state/AGENT_SCORECARD.json` | Trust score record | 🔴 Delete = Trust score reset |
30
+
31
+ ### Files Safe to Update/Overwrite
32
+
33
+ | File | Description |
34
+ |------|-------------|
35
+ | `BOOT.md` | Boot template, can be updated |
36
+ | `HEARTBEAT.md` | Heartbeat template, can be updated |
37
+ | `IDENTITY.md` | Identity template, can be updated |
38
+ | `.principles/THINKING_OS.md` | Thinking models, merge new models after update |
39
+ | `.principles/models/*.md` | Thinking model library, can add new models |
40
+
41
+ ### Safe Operation Principles
42
+
43
+ ```
44
+ 1. When updating: Always use smart mode (default), generates .update files
45
+ 2. Before deleting: Confirm file is not a user accumulated file
46
+ 3. Before overwriting: Backup original file first
47
+ 4. When merging: Preserve all user customizations
48
+ ```
49
+
50
+ ---
51
+
52
+ ## Quick Check: First Install vs Update
53
+
54
+ ```
55
+ Check if ~/clawd/.principles/PRINCIPLES.md exists:
56
+ ├── Does not exist → First Install (skip to [First Install] section)
57
+ └── Exists → Update (skip to [Update] section)
58
+ ```
59
+
60
+ ---
61
+
62
+ ## First Install
63
+
64
+ ### Step 1: Run Installation Command
65
+
66
+ ```bash
67
+ npx create-principles-disciple --non-interactive --lang en --workspace ~/clawd
68
+ ```
69
+
70
+ ### Step 2: Restart OpenClaw Gateway
71
+
72
+ ```bash
73
+ openclaw gateway --force
74
+ ```
75
+
76
+ ### Step 3: Verify Installation
77
+
78
+ ```bash
79
+ openclaw plugins list | grep -A 2 "Principles"
80
+ ```
81
+
82
+ You should see `Principles` showing as `loaded`.
83
+
84
+ ### Step 4: Initialize Project
85
+
86
+ Run in your project directory:
87
+
88
+ ```
89
+ /init-strategy
90
+ ```
91
+
92
+ ---
93
+
94
+ ## Update
95
+
96
+ ### ⚠️ Important Notice
97
+
98
+ **Updates generate .update files, they will NOT directly overwrite your files!**
99
+
100
+ ### Step 1: Run Update Command
101
+
102
+ ```bash
103
+ npx create-principles-disciple --non-interactive --lang en --workspace ~/clawd
104
+ ```
105
+
106
+ ### Step 2: Check Update Content
107
+
108
+ ```bash
109
+ # View changelog
110
+ cat ~/clawd/docs/CHANGELOG.md | head -100
111
+
112
+ # List all .update files
113
+ find ~/clawd -name "*.update" -type f
114
+ ```
115
+
116
+ ### Step 3: Merge Updates
117
+
118
+ **You must manually merge .update files into original files!**
119
+
120
+ ```
121
+ For each .update file:
122
+ 1. Read original file content
123
+ 2. Read .update file content
124
+ 3. Compare differences, merge valuable updates into original file
125
+ 4. Delete .update file
126
+ ```
127
+
128
+ Example workflow:
129
+ ```
130
+ 1. Found AGENTS.md.update
131
+ 2. diff AGENTS.md AGENTS.md.update
132
+ 3. Identify new sections or modifications
133
+ 4. Merge needed updates into AGENTS.md
134
+ 5. rm AGENTS.md.update
135
+ ```
136
+
137
+ ### Step 4: Restart OpenClaw Gateway
138
+
139
+ ```bash
140
+ openclaw gateway --force
141
+ ```
142
+
143
+ ---
144
+
145
+ ## FAQ
146
+
147
+ ### Q: Error "Cannot find module 'micromatch'"
148
+
149
+ Install dependencies manually:
150
+ ```bash
151
+ cd ~/.openclaw/extensions/principles-disciple
152
+ npm install micromatch@^4.0.8 @sinclair/typebox@^0.34.48
153
+ ```
154
+
155
+ ### Q: How to check current version?
156
+
157
+ ```bash
158
+ cat ~/.openclaw/extensions/principles-disciple/package.json | grep version
159
+ ```
160
+
161
+ ### Q: How to view all updates?
162
+
163
+ ```bash
164
+ cat ~/clawd/docs/CHANGELOG.md
165
+ ```
166
+
167
+ ---
168
+
169
+ ## Version Info
170
+
171
+ Current document version: 1.6.0
172
+
173
+ Update this version number when updating this document.
package/INSTALL.md ADDED
@@ -0,0 +1,256 @@
1
+ # Installation Guide
2
+
3
+ ## ⚠️ Known Issue: Plugin Dependencies
4
+
5
+ ### Problem
6
+
7
+ When installing the plugin from source, you may encounter errors like:
8
+
9
+ ```bash
10
+ Error: Cannot find module 'micromatch'
11
+ Error: Cannot find module '@sinclair/typebox'
12
+ ```
13
+
14
+ **Root Cause**: The plugin depends on external npm packages that are not automatically installed when using `openclaw plugins install` with a local path.
15
+
16
+ ---
17
+
18
+ ## ✅ Solution
19
+
20
+ ### Option 1: Automated Installation Script (Recommended)
21
+
22
+ Run the provided installation script:
23
+
24
+ ```bash
25
+ cd /path/to/principles
26
+ ./packages/openclaw-plugin/scripts/install.sh
27
+ ```
28
+
29
+ This script will:
30
+ 1. ✅ Build the plugin
31
+ 2. ✅ Install all dependencies
32
+ 3. ✅ Copy files to the correct location
33
+ 4. ✅ Verify installation
34
+
35
+ ---
36
+
37
+ ### Option 2: Manual Installation
38
+
39
+ If the script doesn't work, follow these steps:
40
+
41
+ #### Step 1: Build the plugin
42
+
43
+ ```bash
44
+ cd /path/to/principles/packages/openclaw-plugin
45
+ npm install
46
+ npm run build
47
+ ```
48
+
49
+ #### Step 2: Install plugin dependencies
50
+
51
+ ```bash
52
+ # Create the plugin directory
53
+ mkdir -p ~/.openclaw/extensions/principles-disciple
54
+
55
+ # Install dependencies in the plugin directory
56
+ cd ~/.openclaw/extensions/principles-disciple
57
+ npm install micromatch@^4.0.8 @sinclair/typebox@^0.34.48
58
+ ```
59
+
60
+ #### Step 3: Copy plugin files
61
+
62
+ ```bash
63
+ # Copy built files
64
+ cp -r /path/to/principles/packages/openclaw-plugin/dist/* \
65
+ ~/.openclaw/extensions/principles-disciple/
66
+
67
+ # Copy plugin metadata
68
+ cp /path/to/principles/packages/openclaw-plugin/openclaw.plugin.json \
69
+ ~/.openclaw/extensions/principles-disciple/
70
+ ```
71
+
72
+ #### Step 4: Verify installation
73
+
74
+ ```bash
75
+ openclaw plugins list | grep -A 2 "Principles"
76
+ ```
77
+
78
+ You should see:
79
+ ```
80
+ │ Principles │ principl │ loaded │ ...
81
+ ```
82
+
83
+ ---
84
+
85
+ ### Option 3: Install from npm (Future)
86
+
87
+ In future releases, the plugin will be published to npm:
88
+
89
+ ```bash
90
+ npm install -g @openclaw/principles-disciple
91
+ openclaw plugins install principles-disciple
92
+ ```
93
+
94
+ This will automatically handle all dependencies.
95
+
96
+ ---
97
+
98
+ ## 📁 Workspace Configuration
99
+
100
+ Principles Disciple needs to know where your agent's workspace directory is located. This is configured during installation.
101
+
102
+ ### Automatic Configuration
103
+
104
+ The installer will automatically detect your OpenClaw workspace directory. You can also specify a custom directory:
105
+
106
+ ```bash
107
+ # Run installer with custom workspace
108
+ ./install-openclaw.sh
109
+ # Select "Custom directory" when prompted
110
+ ```
111
+
112
+ ### Manual Configuration
113
+
114
+ If you skipped configuration during installation, you can set it up manually:
115
+
116
+ #### Option 1: Configuration File (Recommended)
117
+
118
+ Create `~/.openclaw/principles-disciple.json`:
119
+
120
+ ```json
121
+ {
122
+ "workspace": "/path/to/your/workspace",
123
+ "state": "/path/to/your/workspace/.state",
124
+ "debug": false
125
+ }
126
+ ```
127
+
128
+ #### Option 2: Environment Variables
129
+
130
+ ```bash
131
+ # Add to your shell profile (~/.bashrc, ~/.zshrc)
132
+ export PD_WORKSPACE_DIR=/path/to/your/workspace
133
+ export PD_STATE_DIR=/path/to/your/workspace/.state
134
+
135
+ # Or set when starting OpenClaw
136
+ PD_WORKSPACE_DIR=/path/to/your/workspace openclaw-gateway start
137
+ ```
138
+
139
+ #### Option 3: Debug Mode
140
+
141
+ To enable debug logging for path resolution:
142
+
143
+ ```bash
144
+ export DEBUG=true
145
+ ```
146
+
147
+ This will show detailed logs like:
148
+
149
+ ```
150
+ [PD:PathResolver] Using workspace from config file: /home/user/workspace
151
+ [PD:WorkspaceContext] Normalized workspaceDir: /home/user/clawd/memory -> /home/user/clawd
152
+ ```
153
+
154
+ ### Configuration Priority
155
+
156
+ Configuration is resolved in this order (highest to lowest):
157
+
158
+ 1. Environment variables (`PD_WORKSPACE_DIR`, `PD_STATE_DIR`)
159
+ 2. Configuration file (`~/.openclaw/principles-disciple.json`)
160
+ 3. OpenClaw environment (`OPENCLAW_WORKSPACE`)
161
+ 4. Default (`~/.openclaw/workspace`)
162
+
163
+ ---
164
+
165
+ ## 🔍 Troubleshooting
166
+
167
+ ### Plugin fails to load
168
+
169
+ **Error**: `Cannot find module 'micromatch'`
170
+
171
+ **Solution**:
172
+ ```bash
173
+ cd ~/.openclaw/extensions/principles-disciple
174
+ npm install micromatch@^4.0.8
175
+ ```
176
+
177
+ ### Plugin version mismatch
178
+
179
+ **Error**: Plugin shows old version
180
+
181
+ **Solution**:
182
+ ```bash
183
+ # Remove old version
184
+ rm -rf ~/.openclaw/extensions/principles-disciple
185
+
186
+ # Reinstall
187
+ cd /path/to/principles
188
+ ./packages/openclaw-plugin/scripts/install.sh
189
+ ```
190
+
191
+ ### Configuration errors
192
+
193
+ **Error**: `Invalid config: plugin not found: principles-disciple`
194
+
195
+ **Solution**:
196
+ ```bash
197
+ # Reset OpenClaw config
198
+ openclaw doctor --fix
199
+
200
+ # Reinstall plugin
201
+ ./packages/openclaw-plugin/scripts/install.sh
202
+ ```
203
+
204
+ ---
205
+
206
+ ## 📦 Dependencies
207
+
208
+ The plugin requires the following npm packages:
209
+
210
+ | Package | Version | Purpose |
211
+ |---------|---------|---------|
212
+ | `micromatch` | ^4.0.8 | Glob pattern matching for PLAN whitelist |
213
+ | `@sinclair/typebox` | ^0.34.48 | Type definitions and validation |
214
+
215
+ These are **not** included in the plugin bundle to keep the distribution size small. They must be installed separately in the plugin directory.
216
+
217
+ ---
218
+
219
+ ## 🚀 Quick Start
220
+
221
+ After installation, enable the PLAN whitelist feature:
222
+
223
+ 1. Edit your workspace's `docs/PROFILE.json`:
224
+
225
+ ```json
226
+ {
227
+ "progressive_gate": {
228
+ "enabled": true,
229
+ "plan_approvals": {
230
+ "enabled": true,
231
+ "max_lines_override": -1,
232
+ "allowed_patterns": ["docs/**", "skills/**"],
233
+ "allowed_operations": ["write", "edit"]
234
+ }
235
+ }
236
+ }
237
+ ```
238
+
239
+ 2. Ensure `docs/PLAN.md` has `STATUS: READY`
240
+
241
+ 3. Restart your agent session
242
+
243
+ Now even Stage 1 agents can edit files when a READY plan exists!
244
+
245
+ ---
246
+
247
+ ## 📞 Support
248
+
249
+ If you encounter issues not covered here:
250
+
251
+ 1. Check the [GitHub Issues](https://github.com/csuzngjh/principles/issues)
252
+ 2. Create a new issue with:
253
+ - Error message
254
+ - OpenClaw version (`openclaw --version`)
255
+ - Plugin version (check in `openclaw plugins list`)
256
+ - Installation method used