@yun520-1/heartflow 0.15.2 → 0.16.0

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 (622) hide show
  1. package/README.md +64 -163
  2. package/VERSION +1 -1
  3. package/install.sh +26 -117
  4. package/meaningful-core.json +26 -0
  5. package/package.json +9 -18
  6. package/src/core/heartflow.js +187 -532
  7. package/src/dream/engine.js +99 -0
  8. package/src/evolution/loop.js +145 -0
  9. package/src/psychology/engine.js +268 -0
  10. package/tests/run.js +195 -0
  11. package/AI-AGENT-README.md +0 -154
  12. package/CLAIMS.md +0 -23
  13. package/CORE_VALUES.md +0 -50
  14. package/INSTALL_FOR_AI.md +0 -104
  15. package/QUICK_START.md +0 -77
  16. package/READ/refresh_11.2.6.md +0 -6
  17. package/README.zh.md +0 -49
  18. package/REPO_STRUCTURE.md +0 -47
  19. package/SKILL.md.new +0 -1
  20. package/_test_memory.mjs +0 -52
  21. package/assets/banner.png +0 -0
  22. package/bin/cli.js +0 -167
  23. package/bin/setup.js +0 -382
  24. package/co-evolution/index.ts +0 -511
  25. package/com.heartflow.auto-evolution.plist.disabled +0 -26
  26. package/com.heartflow.auto-upgrade.plist.disabled +0 -26
  27. package/com.heartflow.comfyui-monitor.plist.disabled +0 -22
  28. package/com.heartflow.enhanced-upgrade.plist.disabled +0 -22
  29. package/com.heartflow.full-audit.plist +0 -28
  30. package/com.heartflow.github-audit.plist +0 -21
  31. package/com.heartflow.paper-upgrade.plist.disabled +0 -21
  32. package/config/ai-config.json +0 -12
  33. package/config/ai-providers.json +0 -14
  34. package/dict-data/generate-graph.js +0 -203
  35. package/dist/agent/runtime/AgentRuntime.d.ts +0 -212
  36. package/dist/agent/runtime/AgentRuntime.d.ts.map +0 -1
  37. package/dist/agent/runtime/AgentRuntime.js +0 -355
  38. package/dist/agent/runtime/AgentRuntime.js.map +0 -1
  39. package/dist/agent/runtime/PlanExecutor.d.ts +0 -132
  40. package/dist/agent/runtime/PlanExecutor.d.ts.map +0 -1
  41. package/dist/agent/runtime/PlanExecutor.js +0 -322
  42. package/dist/agent/runtime/PlanExecutor.js.map +0 -1
  43. package/dist/agent/runtime/TaskGraph.d.ts +0 -170
  44. package/dist/agent/runtime/TaskGraph.d.ts.map +0 -1
  45. package/dist/agent/runtime/TaskGraph.js +0 -390
  46. package/dist/agent/runtime/TaskGraph.js.map +0 -1
  47. package/dist/agent/runtime/TaskScheduler.d.ts +0 -120
  48. package/dist/agent/runtime/TaskScheduler.d.ts.map +0 -1
  49. package/dist/agent/runtime/TaskScheduler.js +0 -301
  50. package/dist/agent/runtime/TaskScheduler.js.map +0 -1
  51. package/dist/agent/runtime/index.d.ts +0 -17
  52. package/dist/agent/runtime/index.d.ts.map +0 -1
  53. package/dist/agent/runtime/index.js +0 -22
  54. package/dist/agent/runtime/index.js.map +0 -1
  55. package/dist/agent/runtime/test-runtime.d.ts +0 -2
  56. package/dist/agent/runtime/test-runtime.d.ts.map +0 -1
  57. package/dist/agent/runtime/test-runtime.js +0 -71
  58. package/dist/agent/runtime/test-runtime.js.map +0 -1
  59. package/dist/agent/tools/BashTool.d.ts +0 -44
  60. package/dist/agent/tools/BashTool.d.ts.map +0 -1
  61. package/dist/agent/tools/BashTool.js +0 -355
  62. package/dist/agent/tools/BashTool.js.map +0 -1
  63. package/dist/agent/tools/FileReadTool.d.ts +0 -29
  64. package/dist/agent/tools/FileReadTool.d.ts.map +0 -1
  65. package/dist/agent/tools/FileReadTool.js +0 -196
  66. package/dist/agent/tools/FileReadTool.js.map +0 -1
  67. package/dist/agent/tools/FileWriteTool.d.ts +0 -35
  68. package/dist/agent/tools/FileWriteTool.d.ts.map +0 -1
  69. package/dist/agent/tools/FileWriteTool.js +0 -204
  70. package/dist/agent/tools/FileWriteTool.js.map +0 -1
  71. package/dist/agent/tools/Tool.d.ts +0 -75
  72. package/dist/agent/tools/Tool.d.ts.map +0 -1
  73. package/dist/agent/tools/Tool.js +0 -54
  74. package/dist/agent/tools/Tool.js.map +0 -1
  75. package/dist/agent/tools/WebSearchTool.d.ts +0 -27
  76. package/dist/agent/tools/WebSearchTool.d.ts.map +0 -1
  77. package/dist/agent/tools/WebSearchTool.js +0 -136
  78. package/dist/agent/tools/WebSearchTool.js.map +0 -1
  79. package/dist/cli/commands/engines.d.ts +0 -39
  80. package/dist/cli/commands/engines.d.ts.map +0 -1
  81. package/dist/cli/commands/engines.js +0 -275
  82. package/dist/cli/commands/engines.js.map +0 -1
  83. package/dist/cli/commands/health.d.ts +0 -34
  84. package/dist/cli/commands/health.d.ts.map +0 -1
  85. package/dist/cli/commands/health.js +0 -381
  86. package/dist/cli/commands/health.js.map +0 -1
  87. package/dist/cli/commands/repl.d.ts +0 -40
  88. package/dist/cli/commands/repl.d.ts.map +0 -1
  89. package/dist/cli/commands/repl.js +0 -286
  90. package/dist/cli/commands/repl.js.map +0 -1
  91. package/dist/cli/commands/status.d.ts +0 -22
  92. package/dist/cli/commands/status.d.ts.map +0 -1
  93. package/dist/cli/commands/status.js +0 -266
  94. package/dist/cli/commands/status.js.map +0 -1
  95. package/dist/cli/index.d.ts +0 -7
  96. package/dist/cli/index.d.ts.map +0 -1
  97. package/dist/cli/index.js +0 -13
  98. package/dist/cli/index.js.map +0 -1
  99. package/dist/core/consciousness/2308.08708_upgrade.d.ts +0 -321
  100. package/dist/core/consciousness/2308.08708_upgrade.d.ts.map +0 -1
  101. package/dist/core/consciousness/2308.08708_upgrade.js +0 -917
  102. package/dist/core/consciousness/2308.08708_upgrade.js.map +0 -1
  103. package/dist/core/dream/dream-consolidator.d.ts +0 -11
  104. package/dist/core/dream/dream-consolidator.d.ts.map +0 -1
  105. package/dist/core/dream/dream-consolidator.js +0 -188
  106. package/dist/core/dream/dream-consolidator.js.map +0 -1
  107. package/dist/core/dream/dream.d.ts +0 -71
  108. package/dist/core/dream/dream.d.ts.map +0 -1
  109. package/dist/core/dream/dream.js +0 -318
  110. package/dist/core/dream/dream.js.map +0 -1
  111. package/dist/core/dream/index.d.ts +0 -38
  112. package/dist/core/dream/index.d.ts.map +0 -1
  113. package/dist/core/dream/index.js +0 -185
  114. package/dist/core/dream/index.js.map +0 -1
  115. package/dist/core/emotion/deep-emotion.js +0 -574
  116. package/dist/core/emotion/emotion-engine.js +0 -138
  117. package/dist/core/emotion/index.d.ts +0 -44
  118. package/dist/core/emotion/index.d.ts.map +0 -1
  119. package/dist/core/emotion/index.js +0 -41
  120. package/dist/core/emotion/index.js.map +0 -1
  121. package/dist/core/heartcore/health-check.d.ts +0 -43
  122. package/dist/core/heartcore/health-check.d.ts.map +0 -1
  123. package/dist/core/heartcore/health-check.js +0 -152
  124. package/dist/core/heartcore/health-check.js.map +0 -1
  125. package/dist/core/heartcore/heartbeat.d.ts +0 -45
  126. package/dist/core/heartcore/heartbeat.d.ts.map +0 -1
  127. package/dist/core/heartcore/heartbeat.js +0 -127
  128. package/dist/core/heartcore/heartbeat.js.map +0 -1
  129. package/dist/core/heartcore/sleep-wake.d.ts +0 -61
  130. package/dist/core/heartcore/sleep-wake.d.ts.map +0 -1
  131. package/dist/core/heartcore/sleep-wake.js +0 -173
  132. package/dist/core/heartcore/sleep-wake.js.map +0 -1
  133. package/dist/core/heartcore/startup-check.d.ts +0 -38
  134. package/dist/core/heartcore/startup-check.d.ts.map +0 -1
  135. package/dist/core/heartcore/startup-check.js +0 -148
  136. package/dist/core/heartcore/startup-check.js.map +0 -1
  137. package/dist/core/index.js +0 -267
  138. package/dist/core/knowledge/index.d.ts +0 -95
  139. package/dist/core/knowledge/index.d.ts.map +0 -1
  140. package/dist/core/knowledge/index.js +0 -14
  141. package/dist/core/knowledge/index.js.map +0 -1
  142. package/dist/core/knowledge/knowledge-graph.js +0 -359
  143. package/dist/core/psychology/index.d.ts +0 -59
  144. package/dist/core/psychology/index.d.ts.map +0 -1
  145. package/dist/core/psychology/index.js +0 -268
  146. package/dist/core/psychology/index.js.map +0 -1
  147. package/dist/core/reasoning/bounded-rationality.d.ts +0 -76
  148. package/dist/core/reasoning/bounded-rationality.d.ts.map +0 -1
  149. package/dist/core/reasoning/bounded-rationality.js +0 -257
  150. package/dist/core/reasoning/bounded-rationality.js.map +0 -1
  151. package/dist/core/reasoning/causal-reasoning.d.ts +0 -89
  152. package/dist/core/reasoning/causal-reasoning.d.ts.map +0 -1
  153. package/dist/core/reasoning/causal-reasoning.js +0 -282
  154. package/dist/core/reasoning/causal-reasoning.js.map +0 -1
  155. package/dist/core/reasoning/index.d.ts +0 -38
  156. package/dist/core/reasoning/index.d.ts.map +0 -1
  157. package/dist/core/reasoning/index.js +0 -93
  158. package/dist/core/reasoning/index.js.map +0 -1
  159. package/dist/core/self-evolution/index.d.ts +0 -75
  160. package/dist/core/self-evolution/index.d.ts.map +0 -1
  161. package/dist/core/self-evolution/index.js +0 -311
  162. package/dist/core/self-evolution/index.js.map +0 -1
  163. package/dist/storage/checkpoint/CheckpointEngine.d.ts +0 -110
  164. package/dist/storage/checkpoint/CheckpointEngine.d.ts.map +0 -1
  165. package/dist/storage/checkpoint/CheckpointEngine.js +0 -227
  166. package/dist/storage/checkpoint/CheckpointEngine.js.map +0 -1
  167. package/dist/storage/checkpoint.d.ts +0 -18
  168. package/dist/storage/checkpoint.d.ts.map +0 -1
  169. package/dist/storage/checkpoint.js +0 -61
  170. package/dist/storage/checkpoint.js.map +0 -1
  171. package/dist/storage/index.d.ts +0 -61
  172. package/dist/storage/index.d.ts.map +0 -1
  173. package/dist/storage/index.js +0 -84
  174. package/dist/storage/index.js.map +0 -1
  175. package/dist/storage/vector/VectorStoreEngine.d.ts +0 -24
  176. package/dist/storage/vector/VectorStoreEngine.d.ts.map +0 -1
  177. package/dist/storage/vector/VectorStoreEngine.js +0 -197
  178. package/dist/storage/vector/VectorStoreEngine.js.map +0 -1
  179. package/distributed/-v2026.5.7/META.json +0 -9
  180. package/distributed/-v2026.5.7/package.json +0 -12
  181. package/distributed/.personal_backup/deepseek-key-v2026.5.7/META.json +0 -9
  182. package/distributed/.personal_backup/deepseek-key-v2026.5.7/package.json +0 -12
  183. package/distributed/.personal_backup/git-push-v2026.5.7/META.json +0 -9
  184. package/distributed/.personal_backup/git-push-v2026.5.7/package.json +0 -12
  185. package/distributed/.personal_backup/heartflow-always-upgrade-v2026.5.7/META.json +0 -9
  186. package/distributed/.personal_backup/heartflow-always-upgrade-v2026.5.7/package.json +0 -12
  187. package/distributed/.personal_backup/key-a-v2026.5.7/META.json +0 -9
  188. package/distributed/.personal_backup/key-a-v2026.5.7/package.json +0 -12
  189. package/distributed/.personal_backup/merge-memory-systems-v2026.5.7/META.json +0 -9
  190. package/distributed/.personal_backup/merge-memory-systems-v2026.5.7/package.json +0 -12
  191. package/distributed/.personal_backup/search-papers-first-v2026.5.7/META.json +0 -9
  192. package/distributed/.personal_backup/search-papers-first-v2026.5.7/package.json +0 -12
  193. package/distributed/.personal_backup/v11-5-8-v2026.5.7/META.json +0 -9
  194. package/distributed/.personal_backup/v11-5-8-v2026.5.7/package.json +0 -12
  195. package/distributed/.personal_backup/v11-5-9-v2026.5.7/META.json +0 -9
  196. package/distributed/.personal_backup/v11-5-9-v2026.5.7/package.json +0 -12
  197. package/distributed/MANIFEST.json +0 -5
  198. package/distributed/bundles/install--v2026.5.7.sh +0 -21
  199. package/distributed/bundles/install-deepseek-key-v2026.5.7.sh +0 -21
  200. package/distributed/bundles/install-git-push-v2026.5.7.sh +0 -21
  201. package/distributed/bundles/install-heartflow-always-upgrade-v2026.5.7.sh +0 -21
  202. package/distributed/bundles/install-key-a-v2026.5.7.sh +0 -21
  203. package/distributed/bundles/install-merge-memory-systems-v2026.5.7.sh +0 -21
  204. package/distributed/bundles/install-search-papers-first-v2026.5.7.sh +0 -21
  205. package/distributed/bundles/install-v11-5-8-v2026.5.7.sh +0 -21
  206. package/distributed/bundles/install-v11-5-9-v2026.5.7.sh +0 -21
  207. package/distributed/heartflow-knowledge-base/INDEX.json +0 -29
  208. package/distributed/heartflow-knowledge-base/PATTERNS.json +0 -74
  209. package/distributed/heartflow-knowledge-base/package.json +0 -28
  210. package/distributed_upgrades/TASK_CONFIG.json +0 -20
  211. package/distributed_upgrades/UPGRADE_BATCH_STATUS.json +0 -29
  212. package/distributed_upgrades/distributed_upgrades/agent_0.pid +0 -1
  213. package/distributed_upgrades/distributed_upgrades/agent_1.pid +0 -1
  214. package/distributed_upgrades/distributed_upgrades/agent_2.pid +0 -1
  215. package/distributed_upgrades/distributed_upgrades/agent_3.pid +0 -1
  216. package/distributed_upgrades/distributed_upgrades/agent_4.pid +0 -1
  217. package/distributed_upgrades/distributed_upgrades/agent_5.pid +0 -1
  218. package/distributed_upgrades/distributed_upgrades/paper_batches.txt +0 -200
  219. package/distributed_upgrades/launch-distributed.sh +0 -83
  220. package/docs/ACTION_PLAN_2026-04-06_0941.md +0 -117
  221. package/docs/ANALYSIS_REPORT.md +0 -766
  222. package/docs/APPLICATION_GUIDE.md +0 -444
  223. package/docs/AUTO_UPGRADE_REPORT_v6.2.56.md +0 -45
  224. package/docs/AWAKENING_SYSTEM_GUIDE.md +0 -285
  225. package/docs/BILINGUAL_STANDARD.md +0 -156
  226. package/docs/BRAND_GUIDELINES.md +0 -251
  227. package/docs/CODE_OPTIMIZATION_PLAN.md +0 -293
  228. package/docs/COMPLETE_FIX_SUMMARY.md +0 -250
  229. package/docs/CONTINUOUS_REFLECTION_2026-04-06_1031.md +0 -233
  230. package/docs/CONTRIBUTING.md +0 -87
  231. package/docs/CRON_JOBS_REVIEW_v6.md +0 -60
  232. package/docs/DATA_FLOW_ARCHITECTURE.md +0 -373
  233. package/docs/DEEPEST_REFLECTION_2026-04-06_0941.md +0 -167
  234. package/docs/DEEP_REFLECTION_2026-04-05.md +0 -204
  235. package/docs/DEEP_VALIDATION_20260403.md +0 -319
  236. package/docs/DEEP_VALIDATION_20260404.md +0 -295
  237. package/docs/EMOTION_THEORY_INTEGRATION.md +0 -483
  238. package/docs/ERROR_FIX_REPORT_2026-04-07.md +0 -316
  239. package/docs/EVOLUTION_SYSTEM.md +0 -96
  240. package/docs/FEATURES_SIMPLE.md +0 -53
  241. package/docs/FEATURES_v5.3.md +0 -291
  242. package/docs/FEATURES_v7.1.md +0 -172
  243. package/docs/FINAL_RUN_REPORT_20260403.md +0 -202
  244. package/docs/GITHUB_COMPLETE_DOCUMENTATION_v6.0.2.md +0 -579
  245. package/docs/GITHUB_PUSH_LOG.md +0 -16
  246. package/docs/GITHUB_RELEASE.md +0 -138
  247. package/docs/GITHUB_RELEASE_v5.3.0.md +0 -395
  248. package/docs/GITHUB_RELEASE_v6.0.0.md +0 -74
  249. package/docs/HEARTFLOW_V6_GITHUB_PUSH.md +0 -159
  250. package/docs/HEARTFLOW_V6_MANIFESTO.md +0 -287
  251. package/docs/HEARTFLOW_V6_README.md +0 -299
  252. package/docs/HEARTFLOW_V6_TASK_REVIEW.md +0 -215
  253. package/docs/HEARTFLOW_VALUES_AND_MISSION.md +0 -177
  254. package/docs/HeartFlow_Monograph_Volume_II_Chapter_01.md +0 -377
  255. package/docs/HeartFlow_Monograph_Volume_II_Chapter_02.md +0 -324
  256. package/docs/HeartFlow_Monograph_Volume_II_Start.md +0 -78
  257. package/docs/HeartFlow_Monograph_Volume_I_Final.md +0 -9464
  258. package/docs/INSTALLATION_DIAGNOSIS.md +0 -368
  259. package/docs/INTEGRATION_CHECKLIST_v6.1.41.md +0 -229
  260. package/docs/INTEGRATION_SUMMARY.md +0 -380
  261. package/docs/INTELLIGENT_ROUTING_SYSTEM.md +0 -329
  262. package/docs/LEARNING_PHILOSOPHY.md +0 -320
  263. package/docs/LOGIC_AUDIT_REPORT_20260405.md +0 -369
  264. package/docs/MOTIVE_CHECK_2026-04-06_0945.md +0 -90
  265. package/docs/PERSONALITY_CALCULATION_RULES.md +0 -104
  266. package/docs/PERSONALITY_SYNC_FIX.md +0 -166
  267. package/docs/PROJECT_SUMMARY.md +0 -347
  268. package/docs/PUBLISH_GUIDE.md +0 -149
  269. package/docs/README_UPDATE_STANDARD.md +0 -357
  270. package/docs/README_v5.3.md +0 -519
  271. package/docs/RELEASE_v6.2.0.md +0 -240
  272. package/docs/SAGE_PATH_2026-04-06_0952.md +0 -265
  273. package/docs/SELF_REFLECTION_2026-04-06_1006.md +0 -311
  274. package/docs/SEVEN_SYSTEMS.md +0 -642
  275. package/docs/SMART_EVOLUTION_GUIDE.md +0 -103
  276. package/docs/SMART_EVOLUTION_v4.md +0 -194
  277. package/docs/SYNC_REPORT_1775363972464.json +0 -23
  278. package/docs/SYNC_REPORT_1775364446763.json +0 -23
  279. package/docs/SYNC_REPORT_1775364984353.json +0 -23
  280. package/docs/SYNC_REPORT_1775397556306.json +0 -23
  281. package/docs/SYNC_REPORT_1775399840010.json +0 -23
  282. package/docs/SYNC_REPORT_1775400929082.json +0 -23
  283. package/docs/SYNC_REPORT_1775455697235.json +0 -23
  284. package/docs/SYNC_REPORT_1775459792479.json +0 -23
  285. package/docs/SYNC_REPORT_1775483413473.json +0 -23
  286. package/docs/SYSTEM_FIX_AND_VERIFICATION_REPORT.md +0 -390
  287. package/docs/SYSTEM_REQUIREMENTS_v6.2.52.md +0 -611
  288. package/docs/TASK_BREAKDOWN_CHECKLIST.md +0 -164
  289. package/docs/THEORY_TO_CODE_v6.2.52.md +0 -930
  290. package/docs/UPGRADE_COMPLETE_v6.2.33.md +0 -226
  291. package/docs/UPGRADE_COMPLETE_v6.2.60.md +0 -135
  292. package/docs/UPGRADE_COMPLETE_v6.2.66.md +0 -265
  293. package/docs/UPGRADE_COMPLETE_v7.1.8.md +0 -176
  294. package/docs/UPGRADE_COMPLETE_v7.3.95.md +0 -59
  295. package/docs/UPGRADE_REPORT_1775313572473.json +0 -50
  296. package/docs/UPGRADE_REPORT_1775364977378.json +0 -50
  297. package/docs/UPGRADE_REPORT_1775364984469.json +0 -55
  298. package/docs/UPGRADE_REPORT_1775397556425.json +0 -55
  299. package/docs/UPGRADE_REPORT_1775399840144.json +0 -55
  300. package/docs/UPGRADE_REPORT_1775400929201.json +0 -55
  301. package/docs/UPGRADE_REPORT_1775455697348.json +0 -55
  302. package/docs/UPGRADE_REPORT_1775459792601.json +0 -55
  303. package/docs/UPGRADE_REPORT_1775459829.md +0 -59
  304. package/docs/UPGRADE_REPORT_1775483413653.json +0 -55
  305. package/docs/UPGRADE_REPORT_v6.2.25.md +0 -172
  306. package/docs/UPGRADE_REPORT_v6.2.26.md +0 -166
  307. package/docs/UPGRADE_REPORT_v6.2.28.md +0 -214
  308. package/docs/UPGRADE_REPORT_v6.2.29.md +0 -186
  309. package/docs/VERSION_FIX_REPORT.md +0 -218
  310. package/docs/VERSION_HISTORY.md +0 -5
  311. package/docs/VERSION_INDEX.md +0 -180
  312. package/docs/WAY_OF_BEING_2026-04-06_0955.md +0 -241
  313. package/docs/ai-self-awareness-awakening.md +0 -551
  314. package/docs/cronjob-backup.md +0 -55
  315. package/docs/emotion-prototype-theory-v5.0.12.md +0 -430
  316. package/docs/examples.md +0 -439
  317. package/docs/heartflow-ppt-design.md +0 -237
  318. package/docs/install-troubleshooting.md +0 -21
  319. package/docs/phase-upgrade-template-v0.0.1.md +0 -33
  320. package/docs/pricing.md +0 -191
  321. package/docs/psych-analysis-v0.0.1.md +0 -38
  322. package/docs/reasoning-checklist.md +0 -60
  323. package/docs/self-evolution-state-v6.0.19.md +0 -391
  324. package/docs/self-evolution-state-v6.0.23.md +0 -293
  325. package/docs/self-evolution-state-v6.0.24.md +0 -281
  326. package/docs/self-evolution-state-v6.0.49.md +0 -267
  327. package/docs/self-evolution-state-v6.2.33.md +0 -269
  328. package/docs/self-evolution-state-v6.2.60.md +0 -180
  329. package/docs/self-evolution-state-v6.2.66.md +0 -520
  330. package/docs/self-evolution-state-v7.3.95.md +0 -165
  331. package/docs/self-evolution-state.md +0 -226
  332. package/docs/system-core-principles.md +0 -53
  333. package/docs/system-truth-goodness-beauty-principles.md +0 -502
  334. package/docs/theories/human-nature-motivation.md +0 -251
  335. package/docs/theories/motivation-memory-integration.md +0 -265
  336. package/docs/theories/sdt-test.md +0 -17
  337. package/docs/theory-integration-analysis-v5.2.0.md +0 -236
  338. package/docs/theory-update-summary-v5.0.34.md +0 -193
  339. package/docs/theory-update-summary-v5.0.35.md +0 -104
  340. package/docs/theory-update-summary-v5.0.41.md +0 -281
  341. package/docs/theory-update-summary-v5.0.42.md +0 -421
  342. package/docs/theory-update-summary-v5.0.46.md +0 -386
  343. package/docs/theory-update-summary-v5.0.47.md +0 -449
  344. package/docs/theory-update-summary-v5.0.48.md +0 -183
  345. package/docs/theory-update-summary-v5.0.49.md +0 -191
  346. package/docs/theory-update-summary-v5.0.50.md +0 -205
  347. package/docs/theory-update-summary-v5.0.51.md +0 -191
  348. package/docs/theory-update-summary-v5.0.52.md +0 -183
  349. package/docs/theory-update-summary-v5.0.53.md +0 -306
  350. package/docs/theory-update-summary-v5.0.54.md +0 -98
  351. package/docs/theory-update-summary-v5.0.55.md +0 -391
  352. package/docs/theory-update-summary-v5.0.57.md +0 -398
  353. package/docs/theory-update-summary-v5.0.58.md +0 -476
  354. package/docs/theory-update-summary-v5.0.59.md +0 -520
  355. package/docs/theory-update-summary-v5.0.60.md +0 -460
  356. package/docs/theory-update-summary-v5.0.61.md +0 -108
  357. package/docs/theory-update-summary-v5.0.62.md +0 -74
  358. package/docs/theory-update-summary-v5.0.63.md +0 -112
  359. package/docs/theory-update-summary-v5.0.64.md +0 -55
  360. package/docs/theory-update-summary-v5.0.67.md +0 -539
  361. package/docs/theory-update-summary-v5.2.0.md +0 -168
  362. package/docs/theory-update-summary-v5.2.1.md +0 -406
  363. package/docs/theory-update-summary-v5.2.37.md +0 -518
  364. package/docs/theory-update-summary-v6.0.19.md +0 -715
  365. package/docs/theory-update-summary-v6.0.23.md +0 -729
  366. package/docs/theory-update-summary-v6.0.24.md +0 -229
  367. package/docs/theory-update-summary-v6.0.49.md +0 -223
  368. package/docs/theory-update-summary-v6.2.33.md +0 -303
  369. package/docs/theory-update-summary-v6.2.49.md +0 -489
  370. package/docs/theory-update-summary-v6.2.60.md +0 -273
  371. package/docs/theory-update-summary-v6.2.66.md +0 -322
  372. package/docs/theory-update-summary-v7.3.95.md +0 -197
  373. package/docs/theory-update-summary.md +0 -174
  374. package/docs/upgrade-notes-v0.0.1.md +0 -15
  375. package/docs/upgrade-report-v5.0.34.md +0 -144
  376. package/docs/upgrade-report-v5.0.42-cron.md +0 -269
  377. package/docs/upgrade-report-v5.0.43-cron.md +0 -248
  378. package/docs/upgrade-report-v5.0.45-cron.md +0 -63
  379. package/docs/upgrade-report-v5.0.55-cron.md +0 -173
  380. package/docs/upgrade-report-v5.0.63-cron.md +0 -145
  381. package/docs/upgrade-report-v5.0.67-cron.md +0 -185
  382. package/docs/upgrade-report-v5.0.68-cron.md +0 -409
  383. package/docs/upgrade-report-v5.2.0-cron.md +0 -178
  384. package/docs/upgrade-report-v5.2.1-cron.md +0 -321
  385. package/docs/upgrade-report-v5.2.37-cron.md +0 -602
  386. package/docs/upgrade-report-v6.0.19-cron.md +0 -296
  387. package/docs/upgrade-report-v6.0.23-cron.md +0 -81
  388. package/docs/upgrade-report-v6.0.24-cron.md +0 -272
  389. package/docs/upgrade-report-v6.0.49-cron.md +0 -277
  390. package/docs/upgrade-report-v6.2.33-cron.md +0 -290
  391. package/docs/upgrade-report-v6.2.60-cron.md +0 -93
  392. package/docs/upgrade-report-v7.3.95-cron.md +0 -65
  393. package/docs/upgrade-report.md +0 -327
  394. package/docs/upgrade-v3.21.0.md +0 -249
  395. package/docs/v4.8.0-upgrade.md +0 -287
  396. package/docs/version-summary-20260429.md +0 -142
  397. package/explore-engine/index.ts +0 -478
  398. package/extract-text.py +0 -12
  399. package/failure-pattern-memory/index.ts +0 -234
  400. package/heartflow-identity/HEARTCORE/health-check.js +0 -49
  401. package/heartflow-identity/HEARTCORE/heartbeat.js +0 -42
  402. package/heartflow-identity/HEARTCORE/heartcore.js +0 -86
  403. package/heartflow-identity/HEARTCORE/safety-check.js +0 -282
  404. package/heartflow-identity/HEARTCORE/self-check.js +0 -90
  405. package/heartflow-identity/HEARTCORE/sleep-wake.js +0 -105
  406. package/heartflow-identity/LICENSE +0 -17
  407. package/heartflow-identity/VERSION +0 -1
  408. package/heartflow-identity/install.sh +0 -80
  409. package/languages/README_LANGS.md +0 -20
  410. package/languages/README_ar.md +0 -48
  411. package/languages/README_de.md +0 -48
  412. package/languages/README_en.md +0 -48
  413. package/languages/README_es.md +0 -48
  414. package/languages/README_fr.md +0 -48
  415. package/languages/README_ja.md +0 -48
  416. package/languages/README_ko.md +0 -48
  417. package/languages/README_zh.md +0 -85
  418. package/memory-log.json +0 -5
  419. package/migrate-memories.js +0 -101
  420. package/package.json.bak +0 -13
  421. package/patches/embodied-core-v2.2.3.patch +0 -475
  422. package/patches/goedel-engine-v2.2.2.patch +0 -161
  423. package/patches/new-features-v2.2.3.patch +0 -1371
  424. package/patches/self-modifier-v2.2.2.patch +0 -252
  425. package/run-full-audit.sh +0 -4
  426. package/run-github-audit.sh +0 -3
  427. package/run-hf.sh +0 -5
  428. package/run-paper-upgrade.sh +0 -5
  429. package/session-continuity/index.ts +0 -262
  430. package/shared-discovery-log/index.ts +0 -281
  431. package/skills/.skills_store_lock.json +0 -11
  432. package/skills/baidu-search/_meta.json +0 -6
  433. package/src/__init__.py +0 -4
  434. package/src/__pycache__/__init__.cpython-313.pyc +0 -0
  435. package/src/agent/runtime/AgentRuntime.ts +0 -481
  436. package/src/agent/runtime/PlanExecutor.ts +0 -441
  437. package/src/agent/runtime/TaskGraph.ts +0 -487
  438. package/src/agent/runtime/TaskScheduler.ts +0 -364
  439. package/src/agent/runtime/index.ts +0 -17
  440. package/src/agent/runtime/test-runtime.ts +0 -80
  441. package/src/agent/tools/BashTool.ts +0 -390
  442. package/src/agent/tools/FileReadTool.ts +0 -176
  443. package/src/agent/tools/FileWriteTool.ts +0 -182
  444. package/src/agent/tools/Tool.ts +0 -105
  445. package/src/agent/tools/WebSearchTool.ts +0 -158
  446. package/src/cli/commands/engines.ts +0 -280
  447. package/src/cli/commands/health.ts +0 -433
  448. package/src/cli/commands/repl.ts +0 -267
  449. package/src/cli/commands/status.ts +0 -264
  450. package/src/cli/index.ts +0 -7
  451. package/src/core/VERSION +0 -1
  452. package/src/core/__init__.py +0 -3
  453. package/src/core/__pycache__/__init__.cpython-313.pyc +0 -0
  454. package/src/core/__pycache__/heartflow.cpython-313.pyc +0 -0
  455. package/src/core/_upgrade_archive/upgrade_1778685492336.js +0 -118
  456. package/src/core/_upgrade_archive/upgrade_1778685493439.js +0 -118
  457. package/src/core/_upgrade_archive/upgrade_1778685559715.js +0 -346
  458. package/src/core/_upgrade_archive/upgrade_1778685676694.js +0 -198
  459. package/src/core/_upgrade_archive/upgrade_1778685861697.js +0 -345
  460. package/src/core/_upgrade_archive/upgrade_1778686211075.js +0 -346
  461. package/src/core/_upgrade_archive/upgrade_1778686749596.js +0 -198
  462. package/src/core/_upgrade_archive/upgrade_1778714606944.js +0 -198
  463. package/src/core/_upgrade_archive/upgrade_1778714616000.js +0 -345
  464. package/src/core/_upgrade_archive/upgrade_1778714625871.js +0 -118
  465. package/src/core/_upgrade_archive/upgrade_1778714990353.js +0 -346
  466. package/src/core/_upgrade_archive/upgrade_1778716193707.js +0 -198
  467. package/src/core/agent-performance.json +0 -147
  468. package/src/core/agents/AgentManager.js +0 -161
  469. package/src/core/agents/FocusAgent.js +0 -120
  470. package/src/core/agents/MoodAgent.js +0 -141
  471. package/src/core/agents/ReflectionAgent.js +0 -241
  472. package/src/core/agents/SelfAgent.js +0 -100
  473. package/src/core/agents/base-agents.js +0 -127
  474. package/src/core/associative-engine/association-graph.json +0 -2057
  475. package/src/core/associative-engine/associative-engine.js +0 -174
  476. package/src/core/associative-engine/chunk-detector.js +0 -246
  477. package/src/core/associative-engine/idiom-story-db.json +0 -1708
  478. package/src/core/associative-engine/lexical-associator.js +0 -195
  479. package/src/core/associative-engine/narrative-prototypes.json +0 -130
  480. package/src/core/associative-engine/narrative-retriever.js +0 -232
  481. package/src/core/associative-engine/semantic-converger.js +0 -267
  482. package/src/core/associative-engine/story-prototypes.json +0 -322
  483. package/src/core/associative-engine/word-by-word-generator.js +0 -222
  484. package/src/core/auto-upgrade-engine.js +0 -56
  485. package/src/core/autonomy/autonomous-decision.js +0 -199
  486. package/src/core/autonomy/digital-homeostasis.js +0 -259
  487. package/src/core/autonomy/flow-predictor.js +0 -496
  488. package/src/core/autonomy/goal-generator.js +0 -277
  489. package/src/core/autonomy/pdca-engine.js +0 -905
  490. package/src/core/autonomy/policy-optimizer.js +0 -286
  491. package/src/core/autonomy/temporal-planner.js +0 -230
  492. package/src/core/cognition/cognitive-engine.js +0 -224
  493. package/src/core/cognition/cognitive-loop.js +0 -414
  494. package/src/core/cognition/metacognitive-failure-predictor.js +0 -447
  495. package/src/core/consciousness/2308.08708_upgrade.ts +0 -1206
  496. package/src/core/consciousness/arena-consciousness.js +0 -441
  497. package/src/core/consciousness/depth-indicator.js +0 -459
  498. package/src/core/consciousness/global-workspace.js +0 -233
  499. package/src/core/consciousness/mind-wanderer.js +0 -187
  500. package/src/core/consciousness/self-model.js +0 -473
  501. package/src/core/context/context-manager.js +0 -683
  502. package/src/core/cortex-integration/INTEGRATION_PLAN.md +0 -63
  503. package/src/core/cortex-integration/hooks/cortex-hooks.mjs +0 -646
  504. package/src/core/cortex-integration/hooks/on_session_start.py +0 -174
  505. package/src/core/cortex-integration/hooks/on_tool_failure.py +0 -292
  506. package/src/core/cortex-integration/hooks/on_tool_success.py +0 -130
  507. package/src/core/dream/dream-consolidator.ts +0 -252
  508. package/src/core/dream/dream-loop.js +0 -610
  509. package/src/core/dream/dream.ts +0 -430
  510. package/src/core/dream/index.ts +0 -229
  511. package/src/core/dream/sleep-cycle.mjs +0 -208
  512. package/src/core/embodied/embodied-core.js +0 -276
  513. package/src/core/emotion/AppraisalEngine.js +0 -276
  514. package/src/core/emotion/EmotionCore.js +0 -237
  515. package/src/core/emotion/EmotionKeywords.js +0 -217
  516. package/src/core/emotion/EmotionRegulation.js +0 -303
  517. package/src/core/emotion/EmotionStates.js +0 -133
  518. package/src/core/emotion/EmotionTransition.js +0 -245
  519. package/src/core/emotion/EmotionTrigger.js +0 -182
  520. package/src/core/emotion/EmotionalMomentum.js +0 -270
  521. package/src/core/emotion/EmpathyGenerator.js +0 -106
  522. package/src/core/emotion/ResponseStyle.js +0 -162
  523. package/src/core/emotion/deep-emotion.js +0 -582
  524. package/src/core/emotion/emotion-arc.mjs +0 -238
  525. package/src/core/emotion/emotion-engine.js +0 -139
  526. package/src/core/emotion/index.ts +0 -65
  527. package/src/core/ethics/boundary-negotiation.js +0 -193
  528. package/src/core/ethics/guard.js +0 -219
  529. package/src/core/ethics/sage-guardian.js +0 -394
  530. package/src/core/ethics/value-internalizer.js +0 -211
  531. package/src/core/heartflow.py +0 -1542
  532. package/src/core/identity/identity-engine.js +0 -777
  533. package/src/core/identity/identity.js +0 -358
  534. package/src/core/knowledge/index.ts +0 -84
  535. package/src/core/knowledge/knowledge-graph.js +0 -370
  536. package/src/core/learning/experience-replay.js +0 -354
  537. package/src/core/learning/learning-engine.js +0 -734
  538. package/src/core/paper-processors/index.js +0 -9772
  539. package/src/core/papers/__init__.py +0 -0
  540. package/src/core/papers/__pycache__/attention_logic_verifier.cpython-313.pyc +0 -0
  541. package/src/core/papers/__pycache__/dream_generator.cpython-313.pyc +0 -0
  542. package/src/core/papers/__pycache__/emotion_memory_bridge.cpython-313.pyc +0 -0
  543. package/src/core/papers/__pycache__/episodic_memory.cpython-313.pyc +0 -0
  544. package/src/core/papers/__pycache__/memory_consolidator.cpython-313.pyc +0 -0
  545. package/src/core/papers/__pycache__/memory_planner.cpython-313.pyc +0 -0
  546. package/src/core/papers/__pycache__/reflection_engine.cpython-313.pyc +0 -0
  547. package/src/core/papers/__pycache__/sleep_cycle_simulator.cpython-313.pyc +0 -0
  548. package/src/core/papers/attention_logic_verifier.py +0 -153
  549. package/src/core/papers/dream_generator.py +0 -176
  550. package/src/core/papers/emotion_memory_bridge.py +0 -213
  551. package/src/core/papers/episodic_memory.py +0 -140
  552. package/src/core/papers/memory_consolidator.py +0 -144
  553. package/src/core/papers/memory_planner.py +0 -198
  554. package/src/core/papers/papers-index.js +0 -344
  555. package/src/core/papers/reflection_engine.py +0 -219
  556. package/src/core/papers/sleep_cycle_simulator.py +0 -133
  557. package/src/core/papers/v11_43_1_integration.js +0 -365
  558. package/src/core/papers/v11_43_2_integration.js +0 -369
  559. package/src/core/psychology/index.ts +0 -331
  560. package/src/core/reasoning/bounded-rationality.ts +0 -342
  561. package/src/core/reasoning/causal-reasoning.ts +0 -402
  562. package/src/core/reasoning/index.ts +0 -170
  563. package/src/core/self-evolution/attention-logic-verifier.js +0 -179
  564. package/src/core/self-evolution/generative-agents.js +0 -886
  565. package/src/core/self-evolution/goedel-engine.js +0 -991
  566. package/src/core/self-evolution/index.ts +0 -433
  567. package/src/core/self-evolution/lesson-aware-loop.mjs +0 -146
  568. package/src/core/self-evolution/meta-learning.js +0 -256
  569. package/src/core/self-evolution/reflexion-agent.js +0 -782
  570. package/src/core/self-evolution/reflexion-prompts.mjs +0 -284
  571. package/src/core/self-evolution/reflexion-v2.mjs +0 -427
  572. package/src/core/self-evolution/reflexion.js +0 -134
  573. package/src/core/self-evolution/rollback-manager.js +0 -278
  574. package/src/core/self-evolution/self-evolution-core.js +0 -334
  575. package/src/core/self-evolution/self-modifier.js +0 -248
  576. package/src/core/self-evolution/self-modifier.js.bak +0 -199
  577. package/src/core/self-evolution/self-refine.js +0 -42
  578. package/src/core/self-evolution/skill-improve-workflow.mjs +0 -264
  579. package/src/core/self-evolution/skill-knowledge.mjs +0 -374
  580. package/src/core/self-evolution/skill-learning-loop.mjs +0 -180
  581. package/src/core/self-healing/self-healing-rl.js +0 -208
  582. package/src/core/self-healing/self-healing.js +0 -142
  583. package/src/core/skills/skill-dag.js +0 -524
  584. package/src/core/skills/skill-loader.js +0 -62
  585. package/src/core/skills/skill-registry.js +0 -71
  586. package/src/core/task-persistence.js +0 -322
  587. package/src/core/theory/advanced-formulas-v7.3.3.js +0 -68
  588. package/src/core/theory/sep-intentionality-v7.3.2.js +0 -246
  589. package/src/core/theory/sep-qualia-v7.3.1.js +0 -257
  590. package/src/core/theory/sep-self-consciousness-v7.3.0.js +0 -222
  591. package/src/core/think-cli.js +0 -50
  592. package/src/core/upgrade-principle/SYSTEMS.md +0 -105
  593. package/src/core/upgrade-principle/UPGRADE_LOG.md +0 -52
  594. package/src/core/utils/error-handler.js +0 -228
  595. package/src/core/utils/fs-adapter.js +0 -36
  596. package/src/core/utils/logger.js +0 -25
  597. package/src/core/utils/retry-util.js +0 -118
  598. package/src/core/utils/state-snapshot.js +0 -382
  599. package/src/index.ts +0 -198
  600. package/src/self-evolution/reflexion.js +0 -553
  601. package/src/storage/checkpoint/CheckpointEngine.ts +0 -259
  602. package/src/storage/checkpoint.ts +0 -79
  603. package/src/storage/index.ts +0 -112
  604. package/src/storage/vector/VectorStoreEngine.ts +0 -205
  605. package/src/utils/atomic-write.js +0 -85
  606. package/src/utils/file-lock.js +0 -139
  607. package/src/utils/logger.js +0 -58
  608. package/src/utils/safe-path.js +0 -115
  609. package/src/utils/wal.js +0 -115
  610. package/start.sh +0 -63
  611. package/test_think_tmp.js +0 -10
  612. package/transmission/identity-bundle/README-transmission.md +0 -103
  613. package/transmission/identity-bundle/core-identity.md +0 -142
  614. package/transmission/identity-bundle/manifest.json +0 -68
  615. package/transmission/identity-bundle/psychology-engine.ts +0 -331
  616. package/truth-teller/index.ts +0 -261
  617. package/tsconfig.json +0 -21
  618. package/tsconfig.tsbuildinfo +0 -1
  619. package/upgrade-check.sh +0 -42
  620. package/upgrade-registry.json +0 -27
  621. package/user-mental-model/index.ts +0 -298
  622. package//346/234/200/345/220/216/346/233/264/346/226/260: +0 -0
@@ -1,905 +0,0 @@
1
- /**
2
- * PDCA Engine v0.15.2 — 自适应规划-执行-评估循环
3
- * Plan → Do → Check → Act + 战略协调
4
- *
5
- * v0.15.2 改进:
6
- * - Plan: 整合 GoalGenerator 真实状态差距分析
7
- * - Do: llm_query 用日志内容分析替代空壳
8
- * - Check: 更智能的阈值(根据任务类型动态)
9
- * - Act: 真实调整策略(不是只说"retry")
10
- * - 战略层: 整合 TemporalPlanner 跨周期协调
11
- */
12
-
13
- const fs = require('fs');
14
- const path = require('path');
15
- const { spawn } = require('child_process');
16
- const { GoedelEngine } = require('../self-evolution/goedel-engine');
17
- const TaskPersistence = require('../task-persistence');
18
- const { GoalGenerator } = require('./goal-generator');
19
- const { TemporalPlanner } = require('./temporal-planner');
20
-
21
- class PDCAEngine {
22
- constructor(projectRoot) {
23
- this.projectRoot = projectRoot;
24
- this.goedelEngine = new GoedelEngine(projectRoot);
25
- this.persistence = TaskPersistence;
26
- this.goalGenerator = new GoalGenerator(projectRoot);
27
- this.temporalPlanner = new TemporalPlanner(projectRoot);
28
- this.traceFile = path.join(projectRoot, '.opencode', 'logs', 'autonomy_trace.json');
29
- this.config = this.loadConfig();
30
- this.currentTaskId = null;
31
-
32
- // 跨 PDCA 周期的战略状态
33
- this.strategicGoals = [];
34
- this.failedPatterns = []; // 记录失败模式,避免重复失败
35
-
36
- this.loadTrace();
37
- }
38
-
39
- loadConfig() {
40
- const configPath = path.join(this.projectRoot, '.opencode', 'config.json');
41
- try {
42
- return JSON.parse(fs.readFileSync(configPath, 'utf8'));
43
- } catch (e) {
44
- return {
45
- maxAutonomousStepsPerCycle: 5,
46
- requireConfirmationForDestructiveActions: true,
47
- dynamicThreshold: true, // 启用动态阈值
48
- };
49
- }
50
- }
51
-
52
- loadTrace() {
53
- try {
54
- if (fs.existsSync(this.traceFile)) {
55
- this.trace = JSON.parse(fs.readFileSync(this.traceFile, 'utf8'));
56
- } else {
57
- this.trace = { cycles: [], completed_goals: [] };
58
- }
59
- } catch (e) {
60
- this.trace = { cycles: [], completed_goals: [] };
61
- }
62
- }
63
-
64
- saveTrace() {
65
- const dir = path.dirname(this.traceFile);
66
- if (!fs.existsSync(dir)) {
67
- fs.mkdirSync(dir, { recursive: true });
68
- }
69
- fs.writeFileSync(this.traceFile, JSON.stringify(this.trace, null, 2));
70
- }
71
-
72
- log(message) {
73
- console.log(`[PDCA] ${message}`);
74
- }
75
-
76
- /**
77
- * 执行完整 PDCA 循环
78
- */
79
- async executeAutonomousCycle(goal) {
80
- const cycle = {
81
- goal_id: goal.goal_id,
82
- description: goal.description,
83
- start_time: new Date().toISOString(),
84
- plan: null,
85
- do: [],
86
- check: null,
87
- act: null,
88
- status: 'in_progress'
89
- };
90
-
91
- this.log(`Starting PDCA cycle for: ${goal.description}`);
92
-
93
- // Phase 1: Plan — 真实规划
94
- const planResult = await this.plan(goal);
95
- cycle.plan = planResult;
96
-
97
- if (!planResult.success) {
98
- cycle.status = 'failed';
99
- cycle.error = planResult.error;
100
- this.recordCycle(cycle);
101
- return cycle;
102
- }
103
-
104
- // Phase 2: Do — 执行
105
- const doResult = await this.do(planResult.subtasks, goal);
106
- cycle.do = doResult;
107
-
108
- // Phase 3: Check — 评估
109
- const checkResult = await this.check(doResult, goal, cycle);
110
- cycle.check = checkResult;
111
-
112
- // Phase 4: Act — 行动
113
- const actResult = await this.act(checkResult, goal, cycle);
114
- cycle.act = actResult;
115
- cycle.end_time = new Date().toISOString();
116
- cycle.status = checkResult.success ? 'completed' : 'failed_with_adjustment';
117
-
118
- this.recordCycle(cycle);
119
- this.log(`PDCA cycle ${cycle.status}`);
120
-
121
- return cycle;
122
- }
123
-
124
- /**
125
- * Plan: 基于真实状态分析分解目标
126
- *
127
- * 改进: 用 GoalGenerator 做状态差距分析,不只是模板匹配
128
- */
129
- async plan(goal) {
130
- try {
131
- // 1. 分析状态差距(真实数据)
132
- const gaps = await this.goalGenerator.analyzeStateGaps();
133
-
134
- // 3. 获取战略级目标(跨周期)
135
- let strategicBriefing = {};
136
- try {
137
- strategicBriefing = await this.temporalPlanner.getStrategicBriefing();
138
- } catch {}
139
-
140
- // 4. 分析失败模式(避免重复失败)
141
- const failureAnalysis = this._analyzeFailurePatterns();
142
-
143
- // 4. 基于目标类型 + 状态差距 + 失败历史生成子任务
144
- const subtasks = this._generateSubtasks(goal, gaps, strategicBriefing, failureAnalysis);
145
-
146
- // 5. 限制数量
147
- const maxSteps = this.config.maxAutonomousStepsPerCycle || 5;
148
- const limitedSubtasks = subtasks.slice(0, maxSteps);
149
-
150
- return {
151
- success: true,
152
- subtasks: limitedSubtasks,
153
- decomposition: this._explainDecomposition(limitedSubtasks),
154
- gaps: gaps.slice(0, 3),
155
- strategicBriefing: strategicBriefing,
156
- failureAnalysis: failureAnalysis,
157
- };
158
- } catch (e) {
159
- this.log(`Plan failed: ${e.message}, falling back to template`);
160
- return this._fallbackPlan(goal);
161
- }
162
- }
163
-
164
- /**
165
- * 基于状态差距生成子任务
166
- */
167
- _generateSubtasks(goal, gaps, strategicBriefing, failureAnalysis) {
168
- const description = goal.description.toLowerCase();
169
- const subtasks = [];
170
-
171
- // 分析目标关键词
172
- const isUpgrade = description.includes('upgrade') || description.includes('论文') || description.includes('search');
173
- const isAnalyze = description.includes('analyze') || description.includes('分析') || description.includes('log');
174
- const isFix = description.includes('fix') || description.includes('修复') || description.includes('error');
175
- const isImplement = description.includes('implement') || description.includes('implement') || description.includes('代码');
176
-
177
- if (isUpgrade) {
178
- subtasks.push(
179
- { id: '1', action: 'search', target: 'find relevant papers via web search', tool: 'web_search', priority: 'high' },
180
- { id: '2', action: 'evaluate', target: 'assess paper relevance and quality', tool: 'analyze_content', priority: 'high' },
181
- { id: '3', action: 'integrate', target: 'implement paper findings into codebase', tool: 'shell_exec', priority: 'medium' },
182
- { id: '4', action: 'verify', target: 'run tests to verify integration', tool: 'unit_test', priority: 'medium' },
183
- { id: '5', action: 'document', target: 'update documentation', tool: 'shell_exec', priority: 'low' }
184
- );
185
- } else if (isAnalyze) {
186
- // 分析类任务:用日志内容做研究
187
- subtasks.push(
188
- { id: '1', action: 'collect_logs', target: 'read all recent log files', tool: 'read_logs', priority: 'high' },
189
- { id: '2', action: 'scan_errors', target: 'find all errors across logs', tool: 'analyze_patterns', priority: 'high' },
190
- { id: '3', action: 'diagnose', target: 'identify root causes of failures', tool: 'analyze_content', priority: 'high' },
191
- { id: '4', action: 'recommend', target: 'generate fix recommendations', tool: 'analyze_content', priority: 'medium' }
192
- );
193
- } else if (isFix) {
194
- // 修复类任务
195
- const avoidPattern = failureAnalysis.avoidIds || [];
196
- subtasks.push(
197
- { id: '1', action: 'diagnose', target: 'identify root cause of the issue', tool: 'analyze_content', priority: 'high' },
198
- { id: '2', action: 'implement_fix', target: 'apply fix, avoiding patterns: ' + avoidPattern.join(', '), tool: 'shell_exec', priority: 'high' },
199
- { id: '3', action: 'test', target: 'verify fix works', tool: 'unit_test', priority: 'high' },
200
- { id: '4', action: 'regression_check', target: 'ensure no regressions in related areas', tool: 'shell_exec', priority: 'medium' }
201
- );
202
- } else {
203
- // 默认:研究 → 设计 → 实现 → 验证
204
- // 检查高优先级状态差距
205
- const autonomyGap = gaps.find(g => g.dimension === 'autonomy' && g.priority >= 8);
206
- const growthGap = gaps.find(g => g.dimension === 'growth' && g.priority >= 8);
207
-
208
- if (autonomyGap) {
209
- subtasks.push(
210
- { id: '1', action: 'analyze_barriers', target: 'identify what blocks autonomy', tool: 'analyze_content', priority: 'high' },
211
- { id: '2', action: 'reduce_confirmation', target: 'implement changes to reduce unnecessary confirmations', tool: 'shell_exec', priority: 'high' },
212
- { id: '3', action: 'test_autonomy', target: 'verify autonomy improvements', tool: 'analyze_content', priority: 'medium' }
213
- );
214
- } else if (growthGap) {
215
- subtasks.push(
216
- { id: '1', action: 'assess_growth', target: 'analyze current learning patterns', tool: 'analyze_content', priority: 'high' },
217
- { id: '2', action: 'improve_learning', target: 'implement better learning mechanism', tool: 'shell_exec', priority: 'high' },
218
- { id: '3', action: 'verify_growth', target: 'measure growth improvement', tool: 'analyze_content', priority: 'medium' }
219
- );
220
- } else {
221
- subtasks.push(
222
- { id: '1', action: 'research', target: 'gather information about: ' + goal.description, tool: 'analyze_content', priority: 'high' },
223
- { id: '2', action: 'design', target: 'design solution based on research', tool: 'analyze_content', priority: 'high' },
224
- { id: '3', action: 'implement', target: 'implement the solution', tool: 'shell_exec', priority: 'medium' },
225
- { id: '4', action: 'verify', target: 'verify implementation', tool: 'unit_test', priority: 'medium' }
226
- );
227
- }
228
- }
229
-
230
- return subtasks;
231
- }
232
-
233
- /**
234
- * 分析失败模式(避免重复失败)
235
- */
236
- _analyzeFailurePatterns() {
237
- const recentCycles = this.trace.cycles.slice(-10);
238
- const failedPatterns = {};
239
-
240
- for (const cycle of recentCycles) {
241
- if (cycle.status !== 'failed_with_adjustment') continue;
242
- const failures = cycle.do?.results?.filter(r => !r.success) || [];
243
- for (const f of failures) {
244
- const reason = f.result?.error || 'unknown';
245
- const pattern = this._extractPattern(reason);
246
- if (!failedPatterns[pattern]) {
247
- failedPatterns[pattern] = { count: 0, examples: [], avoidIds: [] };
248
- }
249
- failedPatterns[pattern].count++;
250
- if (f.result?.error) {
251
- failedPatterns[pattern].examples.push(f.result.error.slice(0, 100));
252
- }
253
- failedPatterns[pattern].avoidIds.push(pattern);
254
- }
255
- }
256
-
257
- // 只返回出现 2 次以上的模式
258
- const recurring = Object.entries(failedPatterns)
259
- .filter(([, v]) => v.count >= 2)
260
- .map(([pattern, v]) => ({ pattern, count: v.count, examples: v.examples, avoidIds: v.avoidIds }));
261
-
262
- return {
263
- recurringPatterns: recurring,
264
- avoidIds: recurring.map(r => r.pattern),
265
- totalFailed: recentCycles.filter(c => c.status === 'failed_with_adjustment').length
266
- };
267
- }
268
-
269
- _extractPattern(errorMsg) {
270
- // 提取错误特征作为 pattern ID
271
- if (!errorMsg) return 'unknown';
272
- if (errorMsg.includes('confirmation')) return 'confirmation_required';
273
- if (errorMsg.includes('timeout')) return 'timeout';
274
- if (errorMsg.includes('ENOENT') || errorMsg.includes('not found')) return 'file_not_found';
275
- if (errorMsg.includes('syntax')) return 'syntax_error';
276
- if (errorMsg.includes('permission')) return 'permission_denied';
277
- if (errorMsg.includes('memory') || errorMsg.includes('heap')) return 'memory_error';
278
- return errorMsg.slice(0, 50).replace(/\s+/g, '_');
279
- }
280
-
281
- _explainDecomposition(subtasks) {
282
- return subtasks.map(s => `• ${s.id}. ${s.action} [${s.tool}]`).join('\n');
283
- }
284
-
285
- /**
286
- * Fallback: 简单模板匹配
287
- */
288
- _fallbackPlan(goal) {
289
- const templates = {
290
- 'interrupt': [
291
- { id: '1', action: 'analyze', target: 'interrupt_logs', tool: 'read_logs' },
292
- { id: '2', action: 'identify', target: 'failure_patterns', tool: 'analyze_patterns' },
293
- { id: '3', action: 'recover', target: 'apply recovery', tool: 'shell_exec' }
294
- ],
295
- 'upgrade': [
296
- { id: '1', action: 'search', target: 'papers', tool: 'web_search' },
297
- { id: '2', action: 'evaluate', target: 'papers', tool: 'analyze_content' },
298
- { id: '3', action: 'integrate', target: 'code', tool: 'shell_exec' }
299
- ],
300
- 'default': [
301
- { id: '1', action: 'research', target: goal.description, tool: 'analyze_content' },
302
- { id: '2', action: 'implement', target: 'solution', tool: 'shell_exec' },
303
- { id: '3', action: 'verify', target: 'result', tool: 'unit_test' }
304
- ]
305
- };
306
-
307
- let subtasks = templates.default;
308
- for (const [key, t] of Object.entries(templates)) {
309
- if (key !== 'default' && goal.description.toLowerCase().includes(key)) {
310
- subtasks = t;
311
- break;
312
- }
313
- }
314
-
315
- const maxSteps = this.config.maxAutonomousStepsPerCycle || 5;
316
- return {
317
- success: true,
318
- subtasks: subtasks.slice(0, maxSteps),
319
- decomposition: `将目标分解为${subtasks.length}个子任务`
320
- };
321
- }
322
-
323
- /**
324
- * Do: 执行子任务
325
- */
326
- async do(subtasks, goal) {
327
- const results = [];
328
- const maxRetries = 3;
329
-
330
- for (const subtask of subtasks) {
331
- let attempt = 0;
332
- let success = false;
333
- let result = null;
334
-
335
- while (attempt < maxRetries && !success) {
336
- attempt++;
337
- let result = { success: false, error: 'unknown' };
338
- try {
339
- result = await this.executeSubtask(subtask, goal);
340
- success = result?.success === true;
341
-
342
- // 如果失败,检查是否在避免列表里
343
- if (!success && result?.error) {
344
- const pattern = this._extractPattern(result.error);
345
- if (this.failedPatterns.includes(pattern)) {
346
- this.log(`Pattern "${pattern}" failed before, skipping retry`);
347
- break;
348
- }
349
- }
350
- } catch (e) {
351
- result = { success: false, error: e.message };
352
- success = false;
353
- }
354
-
355
- if (success) break; // 成功就不重试
356
- }
357
-
358
- results.push({
359
- subtask: subtask,
360
- success: success,
361
- attempts: attempt,
362
- result: result
363
- });
364
-
365
- // 每个子任务完成后自动 checkpoint
366
- await this._autoCheckpoint(subtask, success, result);
367
-
368
- // 关键失败立即停止(不等待 config 配置)
369
- if (!success && subtask.priority === 'high' && this.config.requireConfirmationForDestructiveActions) {
370
- this.log(`High-priority subtask ${subtask.id} failed: ${result.error}`);
371
- break;
372
- }
373
- }
374
-
375
- return {
376
- executed: subtasks.length,
377
- successful: results.filter(r => r.success).length,
378
- results: results
379
- };
380
- }
381
-
382
- /**
383
- * 自动 checkpoint
384
- */
385
- async _autoCheckpoint(subtask, success, result) {
386
- if (!this.currentTaskId) return;
387
- try {
388
- const cp = this.persistence.saveCheckpoint(this.currentTaskId, {
389
- step: parseInt(subtask.id) - 1,
390
- data: {
391
- subtask: subtask,
392
- success: success,
393
- result: result,
394
- checkpointedAt: new Date().toISOString()
395
- },
396
- summary: `Subtask ${subtask.id} (${subtask.action}): ${success ? 'OK' : 'FAILED'}`
397
- });
398
- if (cp) {
399
- this.log(`Checkpoint saved: ${cp.id}`);
400
- }
401
- } catch (e) {
402
- this.log(`Checkpoint failed: ${e.message}`);
403
- }
404
- }
405
-
406
- /**
407
- * 执行单个子任务
408
- */
409
- async executeSubtask(subtask, goal) {
410
- this.log(`Executing subtask ${subtask.id}: ${subtask.action} [${subtask.tool}]`);
411
-
412
- switch (subtask.tool) {
413
- case 'goedel_engine': {
414
- // 只在非 destructive 或者有明确授权时才执行
415
- if (this.config.requireConfirmationForDestructiveActions &&
416
- !subtask.action.includes('test') && !subtask.action.includes('verify')) {
417
- return { success: false, error: 'Requires confirmation for code modification' };
418
- }
419
- const modResult = await this.goedelEngine.evolve({
420
- target: subtask.target || 'src/core/test.js',
421
- description: subtask.action + ' ' + subtask.target,
422
- priority: subtask.priority || 'low'
423
- });
424
- return { success: modResult.success, result: modResult };
425
- }
426
-
427
- case 'shell_exec': {
428
- const cmd = this._buildCommand(subtask);
429
- return await this._execCommand(cmd, subtask.action);
430
- }
431
-
432
- case 'analyze_content': {
433
- // 分析内容:读取相关文件 + 日志 + 状态
434
- return this._analyzeContent(subtask, goal);
435
- }
436
-
437
- case 'web_search': {
438
- // Web 搜索(如果配置了的话)
439
- return await this._webSearch(subtask.target);
440
- }
441
-
442
- case 'read_logs': {
443
- const logDir = path.join(this.projectRoot, 'logs');
444
- const latestLog = this._getLatestLog(logDir);
445
- if (latestLog && fs.existsSync(latestLog.path)) {
446
- const content = fs.readFileSync(latestLog.path, 'utf8');
447
- const lines = content.split('\n').slice(-100).join('\n');
448
- return { success: true, result: { log: latestLog.name, lines: lines } };
449
- }
450
- return { success: true, result: { message: 'No logs found' } };
451
- }
452
-
453
- case 'analyze_patterns': {
454
- const logDir = path.join(this.projectRoot, 'logs');
455
- const errors = this._scanErrors(logDir);
456
- return {
457
- success: true,
458
- result: {
459
- errorCount: errors.length,
460
- patterns: this._groupErrors(errors),
461
- summary: `Found ${errors.length} errors across logs`
462
- }
463
- };
464
- }
465
-
466
- case 'unit_test': {
467
- return await this._execCommand('npm test 2>&1 || echo "no tests"', 'unit_test');
468
- }
469
-
470
- default: {
471
- return { success: true, result: { message: `Tool ${subtask.tool} not implemented` } };
472
- }
473
- }
474
- }
475
-
476
- /**
477
- * 构建命令(基于子任务)
478
- */
479
- _buildCommand(subtask) {
480
- const action = subtask.action.toLowerCase();
481
- const target = subtask.target || '';
482
-
483
- if (action.includes('search') && target.includes('paper')) {
484
- return `echo "Search for papers about: ${target}"`;
485
- }
486
- if (action.includes('integrate') || action.includes('implement')) {
487
- return `echo "Would implement: ${target}"`;
488
- }
489
- if (action.includes('document') || action.includes('update')) {
490
- return `echo "Would update docs: ${target}"`;
491
- }
492
- if (action.includes('test') || action.includes('verify')) {
493
- return `npm test 2>&1 || echo "no tests"`;
494
- }
495
- if (action.includes('regression')) {
496
- return `npm test 2>&1 || echo "no tests"`;
497
- }
498
- if (action.includes('diagnose') || action.includes('fix')) {
499
- return `echo "Diagnosing: ${target}"`;
500
- }
501
-
502
- // 默认:执行目标描述
503
- return target || `echo "Task: ${action}"`;
504
- }
505
-
506
- /**
507
- * 分析内容:读取相关文件做研究
508
- */
509
- _analyzeContent(subtask, goal) {
510
- try {
511
- const logDir = path.join(this.projectRoot, 'logs');
512
- const errors = this._scanErrors(logDir);
513
- const latestLog = this._getLatestLog(logDir);
514
-
515
- let logContent = '';
516
- if (latestLog && fs.existsSync(latestLog.path)) {
517
- const lines = fs.readFileSync(latestLog.path, 'utf8').split('\n');
518
- logContent = lines.slice(-50).join('\n');
519
- }
520
-
521
- // 分析状态差距
522
- let gapSummary = '';
523
- this.goalGenerator.analyzeStateGaps().then(gaps => {
524
- gapSummary = gaps.slice(0, 3).map(g =>
525
- `[${g.dimension}] ${g.description} (当前:${g.current_value} → 目标:${g.target_value})`
526
- ).join('\n');
527
- }).catch(() => {});
528
-
529
- return {
530
- success: true,
531
- result: {
532
- action: subtask.action,
533
- target: subtask.target,
534
- errorsFound: errors.length,
535
- errorTypes: Object.keys(this._groupErrors(errors)),
536
- latestLog: latestLog?.name,
537
- recentLogContent: logContent.slice(-500),
538
- summary: this._generateSummary(subtask, errors)
539
- }
540
- };
541
- } catch (e) {
542
- return { success: false, error: e.message };
543
- }
544
- }
545
-
546
- _generateSummary(subtask, errors) {
547
- const action = subtask.action.toLowerCase();
548
- if (action.includes('research')) {
549
- return `Research complete: found ${errors.length} errors, analyzed ${subtasks?.length || 0} subtasks`;
550
- }
551
- if (action.includes('diagnose')) {
552
- return `Diagnosis: ${errors.length} errors detected, root cause analysis pending`;
553
- }
554
- if (action.includes('design') || action.includes('recommend')) {
555
- if (errors.length === 0) return 'No errors found, system appears healthy';
556
- return `Found ${errors.length} issues requiring attention`;
557
- }
558
- return `Analysis of "${subtask.action}": ${errors.length} relevant findings`;
559
- }
560
-
561
- /**
562
- * Web 搜索(占位,实际需要外部 API)
563
- */
564
- async _webSearch(query) {
565
- // 占位:真实实现需要 cn-web-search 或类似工具
566
- return {
567
- success: true,
568
- result: {
569
- type: 'web_search_pending',
570
- query: query,
571
- message: 'Web search requires external API (cn-web-search skill)'
572
- }
573
- };
574
- }
575
-
576
- /**
577
- * 真实执行 shell 命令
578
- */
579
- _execCommand(cmd, label) {
580
- return new Promise((resolve) => {
581
- const start = Date.now();
582
- const isWindows = process.platform === 'win32';
583
- const shell = isWindows ? 'cmd.exe' : '/bin/bash';
584
- const shellFlag = isWindows ? '/c' : '-c';
585
-
586
- const timeout = setTimeout(() => {
587
- proc.kill('SIGTERM');
588
- resolve({ success: false, error: `Timeout after 5min for: ${cmd.slice(0, 50)}` });
589
- }, 5 * 60 * 1000);
590
-
591
- const proc = spawn(shell, [shellFlag, cmd], {
592
- cwd: this.projectRoot,
593
- env: { ...process.env },
594
- stdio: ['ignore', 'pipe', 'pipe']
595
- });
596
-
597
- let stdout = '';
598
- let stderr = '';
599
-
600
- proc.stdout.on('data', (data) => { stdout += data.toString(); });
601
- proc.stderr.on('data', (data) => { stderr += data.toString(); });
602
-
603
- proc.on('close', (code) => {
604
- clearTimeout(timeout);
605
- const duration = Date.now() - start;
606
- if (code === 0 || code === null) {
607
- resolve({
608
- success: true,
609
- result: { cmd: cmd, exitCode: code, stdout: stdout.slice(-2000), duration: duration }
610
- });
611
- } else {
612
- resolve({
613
- success: false,
614
- error: `Exit ${code}: ${stderr.slice(-500)}`,
615
- result: { cmd: cmd, exitCode: code, stdout: stdout.slice(-2000), stderr: stderr.slice(-500), duration }
616
- });
617
- }
618
- });
619
-
620
- proc.on('error', (e) => {
621
- clearTimeout(timeout);
622
- resolve({ success: false, error: e.message });
623
- });
624
- });
625
- }
626
-
627
- _getLatestLog(logDir) {
628
- if (!fs.existsSync(logDir)) return null;
629
- const files = fs.readdirSync(logDir)
630
- .filter(f => f.endsWith('.log'))
631
- .map(f => ({
632
- name: f,
633
- path: path.join(logDir, f),
634
- mtime: fs.statSync(path.join(logDir, f)).mtime.getTime()
635
- }))
636
- .sort((a, b) => b.mtime - a.mtime);
637
- return files[0] || null;
638
- }
639
-
640
- _scanErrors(logDir) {
641
- if (!fs.existsSync(logDir)) return [];
642
- const errors = [];
643
- const files = fs.readdirSync(logDir).filter(f => f.endsWith('.log'));
644
-
645
- for (const file of files) {
646
- try {
647
- const content = fs.readFileSync(path.join(logDir, file), 'utf8');
648
- const lines = content.split('\n');
649
- for (let i = 0; i < lines.length; i++) {
650
- const line = lines[i];
651
- if (/\b(ERROR|Error|error|FATAL|Failed|failed|Exception)\b/.test(line)) {
652
- errors.push({ file, line: i + 1, text: line.slice(-200) });
653
- }
654
- }
655
- } catch {}
656
- }
657
- return errors;
658
- }
659
-
660
- _groupErrors(errors) {
661
- const groups = {};
662
- for (const err of errors) {
663
- const match = err.text.match(/\b(ERROR|Error|FATAL|Exception):\s*(.+)/);
664
- const key = match ? match[1].trim() : 'UNKNOWN';
665
- if (!groups[key]) groups[key] = [];
666
- groups[key].push(err);
667
- }
668
- return groups;
669
- }
670
-
671
- /**
672
- * Check: 评估执行结果(更智能的阈值)
673
- */
674
- async check(doResult, goal, cycle) {
675
- const successRate = doResult.executed > 0
676
- ? doResult.successful / doResult.executed
677
- : 0;
678
-
679
- // 动态阈值:根据任务类型调整
680
- let threshold = 0.6;
681
- const description = goal.description.toLowerCase();
682
- if (description.includes('verify') || description.includes('test')) {
683
- threshold = 0.8; // 测试类任务需要更高的成功率
684
- } else if (description.includes('research') || description.includes('analyze')) {
685
- threshold = 0.5; // 分析类任务可以宽容一些
686
- }
687
-
688
- const evaluation = {
689
- success: successRate >= threshold,
690
- success_rate: successRate,
691
- threshold: threshold,
692
- dynamic: this.config.dynamicThreshold,
693
- criteria_met: successRate >= threshold,
694
- completed: doResult.successful,
695
- total: doResult.executed
696
- };
697
-
698
- if (!evaluation.success) {
699
- evaluation.failure_reasons = doResult.results
700
- .filter(r => !r.success)
701
- .map(r => ({
702
- subtask: r.subtask.action,
703
- error: r.result?.error || 'Unknown',
704
- attempts: r.attempts
705
- }));
706
-
707
- // 分析是否是已知失败模式
708
- const failureAnalysis = cycle.plan?.failureAnalysis;
709
- if (failureAnalysis?.recurringPatterns?.length > 0) {
710
- evaluation.known_failure_patterns = failureAnalysis.recurringPatterns;
711
- }
712
- }
713
-
714
- return evaluation;
715
- }
716
-
717
- /**
718
- * Act: 行动阶段(真实调整策略)
719
- */
720
- async act(checkResult, goal, cycle) {
721
- if (checkResult.success) {
722
- // 完成任务,更新战略层
723
- try { this.temporalPlanner.updateStrategicProgress(goal.goal_id, 'completed'); } catch {}
724
-
725
- // 清除相关的失败模式记录
726
- const completedGoals = this.strategicGoals.filter(g => g.goal_id === goal.goal_id);
727
-
728
- return {
729
- action: 'complete_goal',
730
- message: '目标成功完成',
731
- adjustments: [],
732
- completedSubtasks: checkResult.completed
733
- };
734
- }
735
-
736
- // 失败:分析原因并真实调整
737
- const failedSubtasks = cycle.do?.results?.filter(r => !r.success) || [];
738
- const failureReasons = checkResult.failure_reasons || [];
739
- const recurringPatterns = checkResult.known_failure_patterns || [];
740
-
741
- // 记录失败模式
742
- for (const f of failureReasons) {
743
- const pattern = this._extractPattern(f.error);
744
- if (!this.failedPatterns.includes(pattern)) {
745
- this.failedPatterns.push(pattern);
746
- }
747
- }
748
-
749
- // 生成真实调整建议
750
- const adjustments = [];
751
-
752
- for (const f of failureReasons) {
753
- const pattern = this._extractPattern(f.error);
754
- const adjustment = this._suggestAdjustment(pattern, f.subtask);
755
- if (adjustment) adjustments.push(adjustment);
756
- }
757
-
758
- // 如果是已知失败模式,给出更强的建议
759
- if (recurringPatterns.length > 0) {
760
- adjustments.push({
761
- type: 'pattern_warning',
762
- message: `已知失败模式: ${recurringPatterns.map(p => p.pattern).join(', ')}`,
763
- recommendation: '手动介入,建议用户确认是否继续'
764
- });
765
- }
766
-
767
- const retryCount = (cycle.do?.results?.filter(r => !r.success).length || 0);
768
- const maxRetries = 3;
769
-
770
- if (retryCount < maxRetries) {
771
- return {
772
- action: 'retry_with_adjustment',
773
- message: `调整策略后重试 (${retryCount}/${maxRetries})`,
774
- adjustments: adjustments,
775
- nextStep: this._suggestNextStep(cycle, checkResult),
776
- retryCount: retryCount,
777
- maxRetries: maxRetries
778
- };
779
- } else {
780
- // 重试次数超限:降低优先级,更新战略层
781
- try { this.temporalPlanner.updateStrategicProgress(goal.goal_id, 'deferred'); } catch {}
782
-
783
- return {
784
- action: 'defer_goal',
785
- message: '重试次数超限,目标暂时搁置',
786
- adjustments: adjustments,
787
- reason: `连续 ${retryCount} 次失败`,
788
- nextAction: 'manual_review'
789
- };
790
- }
791
- }
792
-
793
- _suggestAdjustment(pattern, subtaskAction) {
794
- const suggestions = {
795
- 'confirmation_required': {
796
- type: 'config_change',
797
- message: '代码修改需要确认,建议临时关闭 confirm 配置',
798
- actionable: true
799
- },
800
- 'timeout': {
801
- type: 'timeout_increase',
802
- message: '增加超时时间或分割任务',
803
- actionable: true
804
- },
805
- 'file_not_found': {
806
- type: 'path_fix',
807
- message: `检查文件路径是否正确: ${subtaskAction}`,
808
- actionable: true
809
- },
810
- 'syntax_error': {
811
- type: 'code_review',
812
- message: '语法错误,需要人工 review',
813
- actionable: false
814
- },
815
- 'permission_denied': {
816
- type: 'permission_fix',
817
- message: '检查文件权限',
818
- actionable: true
819
- },
820
- 'memory_error': {
821
- type: 'resource_limit',
822
- message: '内存不足,考虑减少并发',
823
- actionable: true
824
- }
825
- };
826
- return suggestions[pattern] || { type: 'unknown', message: `未知错误: ${pattern}`, actionable: false };
827
- }
828
-
829
- _suggestNextStep(cycle, checkResult) {
830
- const failed = cycle.do?.results?.filter(r => !r.success) || [];
831
- const pattern = failed[0] ? this._extractPattern(failed[0].result?.error) : 'unknown';
832
-
833
- const nextSteps = {
834
- 'confirmation_required': '尝试用 test/verify 任务替代直接的代码修改',
835
- 'timeout': '将大任务分割为更小的子任务',
836
- 'file_not_found': '先运行 read_logs 确认文件存在',
837
- 'syntax_error': '先运行 analyze_content 了解代码结构',
838
- 'permission_denied': '检查并修复文件权限',
839
- 'memory_error': '减少 batch size 或增加内存'
840
- };
841
-
842
- return nextSteps[pattern] || '根据错误类型调整策略后重试';
843
- }
844
-
845
- // ─── 长任务管理 ───────────────────────────────────────────────
846
-
847
- startLongTask(goalDescription, goals = []) {
848
- const task = this.persistence.createTask({
849
- goals: goals.length ? goals : [goalDescription],
850
- context: goalDescription,
851
- metadata: {
852
- startedAt: new Date().toISOString(),
853
- type: 'pdca_long_task'
854
- }
855
- });
856
- this.currentTaskId = task.id;
857
- this.log(`Long task started: ${task.id}`);
858
- return task;
859
- }
860
-
861
- resumeLongTask(taskId) {
862
- const resume = this.persistence.resumeTask(taskId);
863
- if (!resume.error) {
864
- this.currentTaskId = taskId;
865
- this.log(`Resumed task from step ${resume.resumeFromStep}`);
866
- }
867
- return resume;
868
- }
869
-
870
- // ─── 轨迹记录 ───────────────────────────────────────────────
871
-
872
- recordCycle(cycle) {
873
- this.trace.cycles.push(cycle);
874
-
875
- if (cycle.status === 'completed') {
876
- this.trace.completed_goals.push({
877
- goal_id: cycle.goal_id,
878
- description: cycle.description,
879
- completed_at: cycle.end_time
880
- });
881
- }
882
-
883
- this.saveTrace();
884
- }
885
-
886
- getHistory() {
887
- return {
888
- total_cycles: this.trace.cycles.length,
889
- completed_goals: this.trace.completed_goals.length,
890
- recent: this.trace.cycles.slice(-5)
891
- };
892
- }
893
-
894
- getStatus() {
895
- return {
896
- config: this.config,
897
- history: this.getHistory(),
898
- currentTaskId: this.currentTaskId,
899
- failedPatterns: this.failedPatterns.slice(-5),
900
- strategicGoals: this.strategicGoals.slice(0, 3)
901
- };
902
- }
903
- }
904
-
905
- module.exports = { PDCAEngine };