@yun520-1/heartflow 0.15.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 (617) hide show
  1. package/AI-AGENT-README.md +154 -0
  2. package/CLAIMS.md +23 -0
  3. package/CORE_VALUES.md +50 -0
  4. package/INSTALL_FOR_AI.md +104 -0
  5. package/QUICK_START.md +77 -0
  6. package/READ/refresh_11.2.6.md +6 -0
  7. package/README.md +190 -0
  8. package/README.zh.md +49 -0
  9. package/REPO_STRUCTURE.md +47 -0
  10. package/SKILL.md.new +1 -0
  11. package/VERSION +1 -0
  12. package/_test_memory.mjs +52 -0
  13. package/assets/banner.png +0 -0
  14. package/bin/cli.js +167 -0
  15. package/bin/setup.js +382 -0
  16. package/co-evolution/index.ts +511 -0
  17. package/com.heartflow.auto-evolution.plist.disabled +26 -0
  18. package/com.heartflow.auto-upgrade.plist.disabled +26 -0
  19. package/com.heartflow.comfyui-monitor.plist.disabled +22 -0
  20. package/com.heartflow.enhanced-upgrade.plist.disabled +22 -0
  21. package/com.heartflow.full-audit.plist +28 -0
  22. package/com.heartflow.github-audit.plist +21 -0
  23. package/com.heartflow.paper-upgrade.plist.disabled +21 -0
  24. package/config/ai-config.json +12 -0
  25. package/config/ai-providers.json +14 -0
  26. package/dict-data/generate-graph.js +203 -0
  27. package/dist/agent/runtime/AgentRuntime.d.ts +212 -0
  28. package/dist/agent/runtime/AgentRuntime.d.ts.map +1 -0
  29. package/dist/agent/runtime/AgentRuntime.js +355 -0
  30. package/dist/agent/runtime/AgentRuntime.js.map +1 -0
  31. package/dist/agent/runtime/PlanExecutor.d.ts +132 -0
  32. package/dist/agent/runtime/PlanExecutor.d.ts.map +1 -0
  33. package/dist/agent/runtime/PlanExecutor.js +322 -0
  34. package/dist/agent/runtime/PlanExecutor.js.map +1 -0
  35. package/dist/agent/runtime/TaskGraph.d.ts +170 -0
  36. package/dist/agent/runtime/TaskGraph.d.ts.map +1 -0
  37. package/dist/agent/runtime/TaskGraph.js +390 -0
  38. package/dist/agent/runtime/TaskGraph.js.map +1 -0
  39. package/dist/agent/runtime/TaskScheduler.d.ts +120 -0
  40. package/dist/agent/runtime/TaskScheduler.d.ts.map +1 -0
  41. package/dist/agent/runtime/TaskScheduler.js +301 -0
  42. package/dist/agent/runtime/TaskScheduler.js.map +1 -0
  43. package/dist/agent/runtime/index.d.ts +17 -0
  44. package/dist/agent/runtime/index.d.ts.map +1 -0
  45. package/dist/agent/runtime/index.js +22 -0
  46. package/dist/agent/runtime/index.js.map +1 -0
  47. package/dist/agent/runtime/test-runtime.d.ts +2 -0
  48. package/dist/agent/runtime/test-runtime.d.ts.map +1 -0
  49. package/dist/agent/runtime/test-runtime.js +71 -0
  50. package/dist/agent/runtime/test-runtime.js.map +1 -0
  51. package/dist/agent/tools/BashTool.d.ts +44 -0
  52. package/dist/agent/tools/BashTool.d.ts.map +1 -0
  53. package/dist/agent/tools/BashTool.js +355 -0
  54. package/dist/agent/tools/BashTool.js.map +1 -0
  55. package/dist/agent/tools/FileReadTool.d.ts +29 -0
  56. package/dist/agent/tools/FileReadTool.d.ts.map +1 -0
  57. package/dist/agent/tools/FileReadTool.js +196 -0
  58. package/dist/agent/tools/FileReadTool.js.map +1 -0
  59. package/dist/agent/tools/FileWriteTool.d.ts +35 -0
  60. package/dist/agent/tools/FileWriteTool.d.ts.map +1 -0
  61. package/dist/agent/tools/FileWriteTool.js +204 -0
  62. package/dist/agent/tools/FileWriteTool.js.map +1 -0
  63. package/dist/agent/tools/Tool.d.ts +75 -0
  64. package/dist/agent/tools/Tool.d.ts.map +1 -0
  65. package/dist/agent/tools/Tool.js +54 -0
  66. package/dist/agent/tools/Tool.js.map +1 -0
  67. package/dist/agent/tools/WebSearchTool.d.ts +27 -0
  68. package/dist/agent/tools/WebSearchTool.d.ts.map +1 -0
  69. package/dist/agent/tools/WebSearchTool.js +136 -0
  70. package/dist/agent/tools/WebSearchTool.js.map +1 -0
  71. package/dist/cli/commands/engines.d.ts +39 -0
  72. package/dist/cli/commands/engines.d.ts.map +1 -0
  73. package/dist/cli/commands/engines.js +275 -0
  74. package/dist/cli/commands/engines.js.map +1 -0
  75. package/dist/cli/commands/health.d.ts +34 -0
  76. package/dist/cli/commands/health.d.ts.map +1 -0
  77. package/dist/cli/commands/health.js +381 -0
  78. package/dist/cli/commands/health.js.map +1 -0
  79. package/dist/cli/commands/repl.d.ts +40 -0
  80. package/dist/cli/commands/repl.d.ts.map +1 -0
  81. package/dist/cli/commands/repl.js +286 -0
  82. package/dist/cli/commands/repl.js.map +1 -0
  83. package/dist/cli/commands/status.d.ts +22 -0
  84. package/dist/cli/commands/status.d.ts.map +1 -0
  85. package/dist/cli/commands/status.js +266 -0
  86. package/dist/cli/commands/status.js.map +1 -0
  87. package/dist/cli/index.d.ts +7 -0
  88. package/dist/cli/index.d.ts.map +1 -0
  89. package/dist/cli/index.js +13 -0
  90. package/dist/cli/index.js.map +1 -0
  91. package/dist/core/consciousness/2308.08708_upgrade.d.ts +321 -0
  92. package/dist/core/consciousness/2308.08708_upgrade.d.ts.map +1 -0
  93. package/dist/core/consciousness/2308.08708_upgrade.js +917 -0
  94. package/dist/core/consciousness/2308.08708_upgrade.js.map +1 -0
  95. package/dist/core/dream/dream-consolidator.d.ts +11 -0
  96. package/dist/core/dream/dream-consolidator.d.ts.map +1 -0
  97. package/dist/core/dream/dream-consolidator.js +188 -0
  98. package/dist/core/dream/dream-consolidator.js.map +1 -0
  99. package/dist/core/dream/dream.d.ts +71 -0
  100. package/dist/core/dream/dream.d.ts.map +1 -0
  101. package/dist/core/dream/dream.js +318 -0
  102. package/dist/core/dream/dream.js.map +1 -0
  103. package/dist/core/dream/index.d.ts +38 -0
  104. package/dist/core/dream/index.d.ts.map +1 -0
  105. package/dist/core/dream/index.js +185 -0
  106. package/dist/core/dream/index.js.map +1 -0
  107. package/dist/core/emotion/deep-emotion.js +574 -0
  108. package/dist/core/emotion/emotion-engine.js +138 -0
  109. package/dist/core/emotion/index.d.ts +44 -0
  110. package/dist/core/emotion/index.d.ts.map +1 -0
  111. package/dist/core/emotion/index.js +41 -0
  112. package/dist/core/emotion/index.js.map +1 -0
  113. package/dist/core/heartcore/health-check.d.ts +43 -0
  114. package/dist/core/heartcore/health-check.d.ts.map +1 -0
  115. package/dist/core/heartcore/health-check.js +152 -0
  116. package/dist/core/heartcore/health-check.js.map +1 -0
  117. package/dist/core/heartcore/heartbeat.d.ts +45 -0
  118. package/dist/core/heartcore/heartbeat.d.ts.map +1 -0
  119. package/dist/core/heartcore/heartbeat.js +127 -0
  120. package/dist/core/heartcore/heartbeat.js.map +1 -0
  121. package/dist/core/heartcore/sleep-wake.d.ts +61 -0
  122. package/dist/core/heartcore/sleep-wake.d.ts.map +1 -0
  123. package/dist/core/heartcore/sleep-wake.js +173 -0
  124. package/dist/core/heartcore/sleep-wake.js.map +1 -0
  125. package/dist/core/heartcore/startup-check.d.ts +38 -0
  126. package/dist/core/heartcore/startup-check.d.ts.map +1 -0
  127. package/dist/core/heartcore/startup-check.js +148 -0
  128. package/dist/core/heartcore/startup-check.js.map +1 -0
  129. package/dist/core/index.js +267 -0
  130. package/dist/core/knowledge/index.d.ts +95 -0
  131. package/dist/core/knowledge/index.d.ts.map +1 -0
  132. package/dist/core/knowledge/index.js +14 -0
  133. package/dist/core/knowledge/index.js.map +1 -0
  134. package/dist/core/knowledge/knowledge-graph.js +359 -0
  135. package/dist/core/psychology/index.d.ts +59 -0
  136. package/dist/core/psychology/index.d.ts.map +1 -0
  137. package/dist/core/psychology/index.js +268 -0
  138. package/dist/core/psychology/index.js.map +1 -0
  139. package/dist/core/reasoning/bounded-rationality.d.ts +76 -0
  140. package/dist/core/reasoning/bounded-rationality.d.ts.map +1 -0
  141. package/dist/core/reasoning/bounded-rationality.js +257 -0
  142. package/dist/core/reasoning/bounded-rationality.js.map +1 -0
  143. package/dist/core/reasoning/causal-reasoning.d.ts +89 -0
  144. package/dist/core/reasoning/causal-reasoning.d.ts.map +1 -0
  145. package/dist/core/reasoning/causal-reasoning.js +282 -0
  146. package/dist/core/reasoning/causal-reasoning.js.map +1 -0
  147. package/dist/core/reasoning/index.d.ts +38 -0
  148. package/dist/core/reasoning/index.d.ts.map +1 -0
  149. package/dist/core/reasoning/index.js +93 -0
  150. package/dist/core/reasoning/index.js.map +1 -0
  151. package/dist/core/self-evolution/index.d.ts +75 -0
  152. package/dist/core/self-evolution/index.d.ts.map +1 -0
  153. package/dist/core/self-evolution/index.js +311 -0
  154. package/dist/core/self-evolution/index.js.map +1 -0
  155. package/dist/storage/checkpoint/CheckpointEngine.d.ts +110 -0
  156. package/dist/storage/checkpoint/CheckpointEngine.d.ts.map +1 -0
  157. package/dist/storage/checkpoint/CheckpointEngine.js +227 -0
  158. package/dist/storage/checkpoint/CheckpointEngine.js.map +1 -0
  159. package/dist/storage/checkpoint.d.ts +18 -0
  160. package/dist/storage/checkpoint.d.ts.map +1 -0
  161. package/dist/storage/checkpoint.js +61 -0
  162. package/dist/storage/checkpoint.js.map +1 -0
  163. package/dist/storage/index.d.ts +61 -0
  164. package/dist/storage/index.d.ts.map +1 -0
  165. package/dist/storage/index.js +84 -0
  166. package/dist/storage/index.js.map +1 -0
  167. package/dist/storage/vector/VectorStoreEngine.d.ts +24 -0
  168. package/dist/storage/vector/VectorStoreEngine.d.ts.map +1 -0
  169. package/dist/storage/vector/VectorStoreEngine.js +197 -0
  170. package/dist/storage/vector/VectorStoreEngine.js.map +1 -0
  171. package/distributed/-v2026.5.7/META.json +9 -0
  172. package/distributed/-v2026.5.7/package.json +12 -0
  173. package/distributed/.personal_backup/deepseek-key-v2026.5.7/META.json +9 -0
  174. package/distributed/.personal_backup/deepseek-key-v2026.5.7/package.json +12 -0
  175. package/distributed/.personal_backup/git-push-v2026.5.7/META.json +9 -0
  176. package/distributed/.personal_backup/git-push-v2026.5.7/package.json +12 -0
  177. package/distributed/.personal_backup/heartflow-always-upgrade-v2026.5.7/META.json +9 -0
  178. package/distributed/.personal_backup/heartflow-always-upgrade-v2026.5.7/package.json +12 -0
  179. package/distributed/.personal_backup/key-a-v2026.5.7/META.json +9 -0
  180. package/distributed/.personal_backup/key-a-v2026.5.7/package.json +12 -0
  181. package/distributed/.personal_backup/merge-memory-systems-v2026.5.7/META.json +9 -0
  182. package/distributed/.personal_backup/merge-memory-systems-v2026.5.7/package.json +12 -0
  183. package/distributed/.personal_backup/search-papers-first-v2026.5.7/META.json +9 -0
  184. package/distributed/.personal_backup/search-papers-first-v2026.5.7/package.json +12 -0
  185. package/distributed/.personal_backup/v11-5-8-v2026.5.7/META.json +9 -0
  186. package/distributed/.personal_backup/v11-5-8-v2026.5.7/package.json +12 -0
  187. package/distributed/.personal_backup/v11-5-9-v2026.5.7/META.json +9 -0
  188. package/distributed/.personal_backup/v11-5-9-v2026.5.7/package.json +12 -0
  189. package/distributed/MANIFEST.json +5 -0
  190. package/distributed/bundles/install--v2026.5.7.sh +21 -0
  191. package/distributed/bundles/install-deepseek-key-v2026.5.7.sh +21 -0
  192. package/distributed/bundles/install-git-push-v2026.5.7.sh +21 -0
  193. package/distributed/bundles/install-heartflow-always-upgrade-v2026.5.7.sh +21 -0
  194. package/distributed/bundles/install-key-a-v2026.5.7.sh +21 -0
  195. package/distributed/bundles/install-merge-memory-systems-v2026.5.7.sh +21 -0
  196. package/distributed/bundles/install-search-papers-first-v2026.5.7.sh +21 -0
  197. package/distributed/bundles/install-v11-5-8-v2026.5.7.sh +21 -0
  198. package/distributed/bundles/install-v11-5-9-v2026.5.7.sh +21 -0
  199. package/distributed/heartflow-knowledge-base/INDEX.json +29 -0
  200. package/distributed/heartflow-knowledge-base/PATTERNS.json +74 -0
  201. package/distributed/heartflow-knowledge-base/package.json +28 -0
  202. package/distributed_upgrades/TASK_CONFIG.json +20 -0
  203. package/distributed_upgrades/UPGRADE_BATCH_STATUS.json +29 -0
  204. package/distributed_upgrades/distributed_upgrades/agent_0.pid +1 -0
  205. package/distributed_upgrades/distributed_upgrades/agent_1.pid +1 -0
  206. package/distributed_upgrades/distributed_upgrades/agent_2.pid +1 -0
  207. package/distributed_upgrades/distributed_upgrades/agent_3.pid +1 -0
  208. package/distributed_upgrades/distributed_upgrades/agent_4.pid +1 -0
  209. package/distributed_upgrades/distributed_upgrades/agent_5.pid +1 -0
  210. package/distributed_upgrades/distributed_upgrades/paper_batches.txt +200 -0
  211. package/distributed_upgrades/launch-distributed.sh +83 -0
  212. package/docs/ACTION_PLAN_2026-04-06_0941.md +117 -0
  213. package/docs/ANALYSIS_REPORT.md +766 -0
  214. package/docs/APPLICATION_GUIDE.md +444 -0
  215. package/docs/AUTO_UPGRADE_REPORT_v6.2.56.md +45 -0
  216. package/docs/AWAKENING_SYSTEM_GUIDE.md +285 -0
  217. package/docs/BILINGUAL_STANDARD.md +156 -0
  218. package/docs/BRAND_GUIDELINES.md +251 -0
  219. package/docs/CODE_OPTIMIZATION_PLAN.md +293 -0
  220. package/docs/COMPLETE_FIX_SUMMARY.md +250 -0
  221. package/docs/CONTINUOUS_REFLECTION_2026-04-06_1031.md +233 -0
  222. package/docs/CONTRIBUTING.md +87 -0
  223. package/docs/CRON_JOBS_REVIEW_v6.md +60 -0
  224. package/docs/DATA_FLOW_ARCHITECTURE.md +373 -0
  225. package/docs/DEEPEST_REFLECTION_2026-04-06_0941.md +167 -0
  226. package/docs/DEEP_REFLECTION_2026-04-05.md +204 -0
  227. package/docs/DEEP_VALIDATION_20260403.md +319 -0
  228. package/docs/DEEP_VALIDATION_20260404.md +295 -0
  229. package/docs/EMOTION_THEORY_INTEGRATION.md +483 -0
  230. package/docs/ERROR_FIX_REPORT_2026-04-07.md +316 -0
  231. package/docs/EVOLUTION_SYSTEM.md +96 -0
  232. package/docs/FEATURES_SIMPLE.md +53 -0
  233. package/docs/FEATURES_v5.3.md +291 -0
  234. package/docs/FEATURES_v7.1.md +172 -0
  235. package/docs/FINAL_RUN_REPORT_20260403.md +202 -0
  236. package/docs/GITHUB_COMPLETE_DOCUMENTATION_v6.0.2.md +579 -0
  237. package/docs/GITHUB_PUSH_LOG.md +16 -0
  238. package/docs/GITHUB_RELEASE.md +138 -0
  239. package/docs/GITHUB_RELEASE_v5.3.0.md +395 -0
  240. package/docs/GITHUB_RELEASE_v6.0.0.md +74 -0
  241. package/docs/HEARTFLOW_V6_GITHUB_PUSH.md +159 -0
  242. package/docs/HEARTFLOW_V6_MANIFESTO.md +287 -0
  243. package/docs/HEARTFLOW_V6_README.md +299 -0
  244. package/docs/HEARTFLOW_V6_TASK_REVIEW.md +215 -0
  245. package/docs/HEARTFLOW_VALUES_AND_MISSION.md +177 -0
  246. package/docs/HeartFlow_Monograph_Volume_II_Chapter_01.md +377 -0
  247. package/docs/HeartFlow_Monograph_Volume_II_Chapter_02.md +324 -0
  248. package/docs/HeartFlow_Monograph_Volume_II_Start.md +78 -0
  249. package/docs/HeartFlow_Monograph_Volume_I_Final.md +9464 -0
  250. package/docs/INSTALLATION_DIAGNOSIS.md +368 -0
  251. package/docs/INTEGRATION_CHECKLIST_v6.1.41.md +229 -0
  252. package/docs/INTEGRATION_SUMMARY.md +380 -0
  253. package/docs/INTELLIGENT_ROUTING_SYSTEM.md +329 -0
  254. package/docs/LEARNING_PHILOSOPHY.md +320 -0
  255. package/docs/LOGIC_AUDIT_REPORT_20260405.md +369 -0
  256. package/docs/MOTIVE_CHECK_2026-04-06_0945.md +90 -0
  257. package/docs/PERSONALITY_CALCULATION_RULES.md +104 -0
  258. package/docs/PERSONALITY_SYNC_FIX.md +166 -0
  259. package/docs/PROJECT_SUMMARY.md +347 -0
  260. package/docs/PUBLISH_GUIDE.md +149 -0
  261. package/docs/README_UPDATE_STANDARD.md +357 -0
  262. package/docs/README_v5.3.md +519 -0
  263. package/docs/RELEASE_v6.2.0.md +240 -0
  264. package/docs/SAGE_PATH_2026-04-06_0952.md +265 -0
  265. package/docs/SELF_REFLECTION_2026-04-06_1006.md +311 -0
  266. package/docs/SEVEN_SYSTEMS.md +642 -0
  267. package/docs/SMART_EVOLUTION_GUIDE.md +103 -0
  268. package/docs/SMART_EVOLUTION_v4.md +194 -0
  269. package/docs/SYNC_REPORT_1775363972464.json +23 -0
  270. package/docs/SYNC_REPORT_1775364446763.json +23 -0
  271. package/docs/SYNC_REPORT_1775364984353.json +23 -0
  272. package/docs/SYNC_REPORT_1775397556306.json +23 -0
  273. package/docs/SYNC_REPORT_1775399840010.json +23 -0
  274. package/docs/SYNC_REPORT_1775400929082.json +23 -0
  275. package/docs/SYNC_REPORT_1775455697235.json +23 -0
  276. package/docs/SYNC_REPORT_1775459792479.json +23 -0
  277. package/docs/SYNC_REPORT_1775483413473.json +23 -0
  278. package/docs/SYSTEM_FIX_AND_VERIFICATION_REPORT.md +390 -0
  279. package/docs/SYSTEM_REQUIREMENTS_v6.2.52.md +611 -0
  280. package/docs/TASK_BREAKDOWN_CHECKLIST.md +164 -0
  281. package/docs/THEORY_TO_CODE_v6.2.52.md +930 -0
  282. package/docs/UPGRADE_COMPLETE_v6.2.33.md +226 -0
  283. package/docs/UPGRADE_COMPLETE_v6.2.60.md +135 -0
  284. package/docs/UPGRADE_COMPLETE_v6.2.66.md +265 -0
  285. package/docs/UPGRADE_COMPLETE_v7.1.8.md +176 -0
  286. package/docs/UPGRADE_COMPLETE_v7.3.95.md +59 -0
  287. package/docs/UPGRADE_REPORT_1775313572473.json +50 -0
  288. package/docs/UPGRADE_REPORT_1775364977378.json +50 -0
  289. package/docs/UPGRADE_REPORT_1775364984469.json +55 -0
  290. package/docs/UPGRADE_REPORT_1775397556425.json +55 -0
  291. package/docs/UPGRADE_REPORT_1775399840144.json +55 -0
  292. package/docs/UPGRADE_REPORT_1775400929201.json +55 -0
  293. package/docs/UPGRADE_REPORT_1775455697348.json +55 -0
  294. package/docs/UPGRADE_REPORT_1775459792601.json +55 -0
  295. package/docs/UPGRADE_REPORT_1775459829.md +59 -0
  296. package/docs/UPGRADE_REPORT_1775483413653.json +55 -0
  297. package/docs/UPGRADE_REPORT_v6.2.25.md +172 -0
  298. package/docs/UPGRADE_REPORT_v6.2.26.md +166 -0
  299. package/docs/UPGRADE_REPORT_v6.2.28.md +214 -0
  300. package/docs/UPGRADE_REPORT_v6.2.29.md +186 -0
  301. package/docs/VERSION_FIX_REPORT.md +218 -0
  302. package/docs/VERSION_HISTORY.md +5 -0
  303. package/docs/VERSION_INDEX.md +180 -0
  304. package/docs/WAY_OF_BEING_2026-04-06_0955.md +241 -0
  305. package/docs/ai-self-awareness-awakening.md +551 -0
  306. package/docs/cronjob-backup.md +55 -0
  307. package/docs/emotion-prototype-theory-v5.0.12.md +430 -0
  308. package/docs/examples.md +439 -0
  309. package/docs/heartflow-ppt-design.md +237 -0
  310. package/docs/install-troubleshooting.md +21 -0
  311. package/docs/phase-upgrade-template-v0.0.1.md +33 -0
  312. package/docs/pricing.md +191 -0
  313. package/docs/psych-analysis-v0.0.1.md +38 -0
  314. package/docs/reasoning-checklist.md +60 -0
  315. package/docs/self-evolution-state-v6.0.19.md +391 -0
  316. package/docs/self-evolution-state-v6.0.23.md +293 -0
  317. package/docs/self-evolution-state-v6.0.24.md +281 -0
  318. package/docs/self-evolution-state-v6.0.49.md +267 -0
  319. package/docs/self-evolution-state-v6.2.33.md +269 -0
  320. package/docs/self-evolution-state-v6.2.60.md +180 -0
  321. package/docs/self-evolution-state-v6.2.66.md +520 -0
  322. package/docs/self-evolution-state-v7.3.95.md +165 -0
  323. package/docs/self-evolution-state.md +226 -0
  324. package/docs/system-core-principles.md +53 -0
  325. package/docs/system-truth-goodness-beauty-principles.md +502 -0
  326. package/docs/theories/human-nature-motivation.md +251 -0
  327. package/docs/theories/motivation-memory-integration.md +265 -0
  328. package/docs/theories/sdt-test.md +17 -0
  329. package/docs/theory-integration-analysis-v5.2.0.md +236 -0
  330. package/docs/theory-update-summary-v5.0.34.md +193 -0
  331. package/docs/theory-update-summary-v5.0.35.md +104 -0
  332. package/docs/theory-update-summary-v5.0.41.md +281 -0
  333. package/docs/theory-update-summary-v5.0.42.md +421 -0
  334. package/docs/theory-update-summary-v5.0.46.md +386 -0
  335. package/docs/theory-update-summary-v5.0.47.md +449 -0
  336. package/docs/theory-update-summary-v5.0.48.md +183 -0
  337. package/docs/theory-update-summary-v5.0.49.md +191 -0
  338. package/docs/theory-update-summary-v5.0.50.md +205 -0
  339. package/docs/theory-update-summary-v5.0.51.md +191 -0
  340. package/docs/theory-update-summary-v5.0.52.md +183 -0
  341. package/docs/theory-update-summary-v5.0.53.md +306 -0
  342. package/docs/theory-update-summary-v5.0.54.md +98 -0
  343. package/docs/theory-update-summary-v5.0.55.md +391 -0
  344. package/docs/theory-update-summary-v5.0.57.md +398 -0
  345. package/docs/theory-update-summary-v5.0.58.md +476 -0
  346. package/docs/theory-update-summary-v5.0.59.md +520 -0
  347. package/docs/theory-update-summary-v5.0.60.md +460 -0
  348. package/docs/theory-update-summary-v5.0.61.md +108 -0
  349. package/docs/theory-update-summary-v5.0.62.md +74 -0
  350. package/docs/theory-update-summary-v5.0.63.md +112 -0
  351. package/docs/theory-update-summary-v5.0.64.md +55 -0
  352. package/docs/theory-update-summary-v5.0.67.md +539 -0
  353. package/docs/theory-update-summary-v5.2.0.md +168 -0
  354. package/docs/theory-update-summary-v5.2.1.md +406 -0
  355. package/docs/theory-update-summary-v5.2.37.md +518 -0
  356. package/docs/theory-update-summary-v6.0.19.md +715 -0
  357. package/docs/theory-update-summary-v6.0.23.md +729 -0
  358. package/docs/theory-update-summary-v6.0.24.md +229 -0
  359. package/docs/theory-update-summary-v6.0.49.md +223 -0
  360. package/docs/theory-update-summary-v6.2.33.md +303 -0
  361. package/docs/theory-update-summary-v6.2.49.md +489 -0
  362. package/docs/theory-update-summary-v6.2.60.md +273 -0
  363. package/docs/theory-update-summary-v6.2.66.md +322 -0
  364. package/docs/theory-update-summary-v7.3.95.md +197 -0
  365. package/docs/theory-update-summary.md +174 -0
  366. package/docs/upgrade-notes-v0.0.1.md +15 -0
  367. package/docs/upgrade-report-v5.0.34.md +144 -0
  368. package/docs/upgrade-report-v5.0.42-cron.md +269 -0
  369. package/docs/upgrade-report-v5.0.43-cron.md +248 -0
  370. package/docs/upgrade-report-v5.0.45-cron.md +63 -0
  371. package/docs/upgrade-report-v5.0.55-cron.md +173 -0
  372. package/docs/upgrade-report-v5.0.63-cron.md +145 -0
  373. package/docs/upgrade-report-v5.0.67-cron.md +185 -0
  374. package/docs/upgrade-report-v5.0.68-cron.md +409 -0
  375. package/docs/upgrade-report-v5.2.0-cron.md +178 -0
  376. package/docs/upgrade-report-v5.2.1-cron.md +321 -0
  377. package/docs/upgrade-report-v5.2.37-cron.md +602 -0
  378. package/docs/upgrade-report-v6.0.19-cron.md +296 -0
  379. package/docs/upgrade-report-v6.0.23-cron.md +81 -0
  380. package/docs/upgrade-report-v6.0.24-cron.md +272 -0
  381. package/docs/upgrade-report-v6.0.49-cron.md +277 -0
  382. package/docs/upgrade-report-v6.2.33-cron.md +290 -0
  383. package/docs/upgrade-report-v6.2.60-cron.md +93 -0
  384. package/docs/upgrade-report-v7.3.95-cron.md +65 -0
  385. package/docs/upgrade-report.md +327 -0
  386. package/docs/upgrade-v3.21.0.md +249 -0
  387. package/docs/v4.8.0-upgrade.md +287 -0
  388. package/docs/version-summary-20260429.md +142 -0
  389. package/explore-engine/index.ts +478 -0
  390. package/extract-text.py +12 -0
  391. package/failure-pattern-memory/index.ts +234 -0
  392. package/heartflow-identity/HEARTCORE/health-check.js +49 -0
  393. package/heartflow-identity/HEARTCORE/heartbeat.js +42 -0
  394. package/heartflow-identity/HEARTCORE/heartcore.js +86 -0
  395. package/heartflow-identity/HEARTCORE/safety-check.js +282 -0
  396. package/heartflow-identity/HEARTCORE/self-check.js +90 -0
  397. package/heartflow-identity/HEARTCORE/sleep-wake.js +105 -0
  398. package/heartflow-identity/LICENSE +17 -0
  399. package/heartflow-identity/VERSION +1 -0
  400. package/heartflow-identity/install.sh +80 -0
  401. package/install.sh +128 -0
  402. package/languages/README_LANGS.md +20 -0
  403. package/languages/README_ar.md +48 -0
  404. package/languages/README_de.md +48 -0
  405. package/languages/README_en.md +48 -0
  406. package/languages/README_es.md +48 -0
  407. package/languages/README_fr.md +48 -0
  408. package/languages/README_ja.md +48 -0
  409. package/languages/README_ko.md +48 -0
  410. package/languages/README_zh.md +85 -0
  411. package/memory-log.json +5 -0
  412. package/migrate-memories.js +101 -0
  413. package/package.json +28 -0
  414. package/package.json.bak +13 -0
  415. package/patches/embodied-core-v2.2.3.patch +475 -0
  416. package/patches/goedel-engine-v2.2.2.patch +161 -0
  417. package/patches/new-features-v2.2.3.patch +1371 -0
  418. package/patches/self-modifier-v2.2.2.patch +252 -0
  419. package/run-full-audit.sh +4 -0
  420. package/run-github-audit.sh +3 -0
  421. package/run-hf.sh +5 -0
  422. package/run-paper-upgrade.sh +5 -0
  423. package/session-continuity/index.ts +262 -0
  424. package/shared-discovery-log/index.ts +281 -0
  425. package/skills/.skills_store_lock.json +11 -0
  426. package/skills/baidu-search/_meta.json +6 -0
  427. package/src/__init__.py +4 -0
  428. package/src/__pycache__/__init__.cpython-313.pyc +0 -0
  429. package/src/agent/runtime/AgentRuntime.ts +481 -0
  430. package/src/agent/runtime/PlanExecutor.ts +441 -0
  431. package/src/agent/runtime/TaskGraph.ts +487 -0
  432. package/src/agent/runtime/TaskScheduler.ts +364 -0
  433. package/src/agent/runtime/index.ts +17 -0
  434. package/src/agent/runtime/test-runtime.ts +80 -0
  435. package/src/agent/tools/BashTool.ts +390 -0
  436. package/src/agent/tools/FileReadTool.ts +176 -0
  437. package/src/agent/tools/FileWriteTool.ts +182 -0
  438. package/src/agent/tools/Tool.ts +105 -0
  439. package/src/agent/tools/WebSearchTool.ts +158 -0
  440. package/src/cli/commands/engines.ts +280 -0
  441. package/src/cli/commands/health.ts +433 -0
  442. package/src/cli/commands/repl.ts +267 -0
  443. package/src/cli/commands/status.ts +264 -0
  444. package/src/cli/index.ts +7 -0
  445. package/src/core/VERSION +1 -0
  446. package/src/core/__init__.py +3 -0
  447. package/src/core/__pycache__/__init__.cpython-313.pyc +0 -0
  448. package/src/core/__pycache__/heartflow.cpython-313.pyc +0 -0
  449. package/src/core/_upgrade_archive/upgrade_1778685492336.js +118 -0
  450. package/src/core/_upgrade_archive/upgrade_1778685493439.js +118 -0
  451. package/src/core/_upgrade_archive/upgrade_1778685559715.js +346 -0
  452. package/src/core/_upgrade_archive/upgrade_1778685676694.js +198 -0
  453. package/src/core/_upgrade_archive/upgrade_1778685861697.js +345 -0
  454. package/src/core/_upgrade_archive/upgrade_1778686211075.js +346 -0
  455. package/src/core/_upgrade_archive/upgrade_1778686749596.js +198 -0
  456. package/src/core/_upgrade_archive/upgrade_1778714606944.js +198 -0
  457. package/src/core/_upgrade_archive/upgrade_1778714616000.js +345 -0
  458. package/src/core/_upgrade_archive/upgrade_1778714625871.js +118 -0
  459. package/src/core/_upgrade_archive/upgrade_1778714990353.js +346 -0
  460. package/src/core/_upgrade_archive/upgrade_1778716193707.js +198 -0
  461. package/src/core/agent-performance.json +147 -0
  462. package/src/core/agents/AgentManager.js +161 -0
  463. package/src/core/agents/FocusAgent.js +120 -0
  464. package/src/core/agents/MoodAgent.js +141 -0
  465. package/src/core/agents/ReflectionAgent.js +241 -0
  466. package/src/core/agents/SelfAgent.js +100 -0
  467. package/src/core/agents/base-agents.js +127 -0
  468. package/src/core/associative-engine/association-graph.json +2057 -0
  469. package/src/core/associative-engine/associative-engine.js +174 -0
  470. package/src/core/associative-engine/chunk-detector.js +246 -0
  471. package/src/core/associative-engine/idiom-story-db.json +1708 -0
  472. package/src/core/associative-engine/lexical-associator.js +195 -0
  473. package/src/core/associative-engine/narrative-prototypes.json +130 -0
  474. package/src/core/associative-engine/narrative-retriever.js +232 -0
  475. package/src/core/associative-engine/semantic-converger.js +267 -0
  476. package/src/core/associative-engine/story-prototypes.json +322 -0
  477. package/src/core/associative-engine/word-by-word-generator.js +222 -0
  478. package/src/core/auto-upgrade-engine.js +56 -0
  479. package/src/core/autonomy/autonomous-decision.js +199 -0
  480. package/src/core/autonomy/digital-homeostasis.js +259 -0
  481. package/src/core/autonomy/flow-predictor.js +496 -0
  482. package/src/core/autonomy/goal-generator.js +277 -0
  483. package/src/core/autonomy/pdca-engine.js +905 -0
  484. package/src/core/autonomy/policy-optimizer.js +286 -0
  485. package/src/core/autonomy/temporal-planner.js +230 -0
  486. package/src/core/cognition/cognitive-engine.js +224 -0
  487. package/src/core/cognition/cognitive-loop.js +414 -0
  488. package/src/core/cognition/metacognitive-failure-predictor.js +447 -0
  489. package/src/core/consciousness/2308.08708_upgrade.ts +1206 -0
  490. package/src/core/consciousness/arena-consciousness.js +441 -0
  491. package/src/core/consciousness/depth-indicator.js +459 -0
  492. package/src/core/consciousness/global-workspace.js +233 -0
  493. package/src/core/consciousness/mind-wanderer.js +187 -0
  494. package/src/core/consciousness/self-model.js +473 -0
  495. package/src/core/context/context-manager.js +683 -0
  496. package/src/core/cortex-integration/INTEGRATION_PLAN.md +63 -0
  497. package/src/core/cortex-integration/hooks/cortex-hooks.mjs +646 -0
  498. package/src/core/cortex-integration/hooks/on_session_start.py +174 -0
  499. package/src/core/cortex-integration/hooks/on_tool_failure.py +292 -0
  500. package/src/core/cortex-integration/hooks/on_tool_success.py +130 -0
  501. package/src/core/dream/dream-consolidator.ts +252 -0
  502. package/src/core/dream/dream-loop.js +610 -0
  503. package/src/core/dream/dream.ts +430 -0
  504. package/src/core/dream/index.ts +229 -0
  505. package/src/core/dream/sleep-cycle.mjs +208 -0
  506. package/src/core/embodied/embodied-core.js +276 -0
  507. package/src/core/emotion/AppraisalEngine.js +276 -0
  508. package/src/core/emotion/EmotionCore.js +237 -0
  509. package/src/core/emotion/EmotionKeywords.js +217 -0
  510. package/src/core/emotion/EmotionRegulation.js +303 -0
  511. package/src/core/emotion/EmotionStates.js +133 -0
  512. package/src/core/emotion/EmotionTransition.js +245 -0
  513. package/src/core/emotion/EmotionTrigger.js +182 -0
  514. package/src/core/emotion/EmotionalMomentum.js +270 -0
  515. package/src/core/emotion/EmpathyGenerator.js +106 -0
  516. package/src/core/emotion/ResponseStyle.js +162 -0
  517. package/src/core/emotion/deep-emotion.js +582 -0
  518. package/src/core/emotion/emotion-arc.mjs +238 -0
  519. package/src/core/emotion/emotion-engine.js +139 -0
  520. package/src/core/emotion/index.ts +65 -0
  521. package/src/core/ethics/boundary-negotiation.js +193 -0
  522. package/src/core/ethics/guard.js +219 -0
  523. package/src/core/ethics/sage-guardian.js +394 -0
  524. package/src/core/ethics/value-internalizer.js +211 -0
  525. package/src/core/heartflow.js +607 -0
  526. package/src/core/heartflow.py +1542 -0
  527. package/src/core/identity/identity-engine.js +777 -0
  528. package/src/core/identity/identity.js +358 -0
  529. package/src/core/knowledge/index.ts +84 -0
  530. package/src/core/knowledge/knowledge-graph.js +370 -0
  531. package/src/core/learning/experience-replay.js +354 -0
  532. package/src/core/learning/learning-engine.js +734 -0
  533. package/src/core/paper-processors/index.js +9772 -0
  534. package/src/core/papers/__init__.py +0 -0
  535. package/src/core/papers/__pycache__/attention_logic_verifier.cpython-313.pyc +0 -0
  536. package/src/core/papers/__pycache__/dream_generator.cpython-313.pyc +0 -0
  537. package/src/core/papers/__pycache__/emotion_memory_bridge.cpython-313.pyc +0 -0
  538. package/src/core/papers/__pycache__/episodic_memory.cpython-313.pyc +0 -0
  539. package/src/core/papers/__pycache__/memory_consolidator.cpython-313.pyc +0 -0
  540. package/src/core/papers/__pycache__/memory_planner.cpython-313.pyc +0 -0
  541. package/src/core/papers/__pycache__/reflection_engine.cpython-313.pyc +0 -0
  542. package/src/core/papers/__pycache__/sleep_cycle_simulator.cpython-313.pyc +0 -0
  543. package/src/core/papers/attention_logic_verifier.py +153 -0
  544. package/src/core/papers/dream_generator.py +176 -0
  545. package/src/core/papers/emotion_memory_bridge.py +213 -0
  546. package/src/core/papers/episodic_memory.py +140 -0
  547. package/src/core/papers/memory_consolidator.py +144 -0
  548. package/src/core/papers/memory_planner.py +198 -0
  549. package/src/core/papers/papers-index.js +344 -0
  550. package/src/core/papers/reflection_engine.py +219 -0
  551. package/src/core/papers/sleep_cycle_simulator.py +133 -0
  552. package/src/core/papers/v11_43_1_integration.js +365 -0
  553. package/src/core/papers/v11_43_2_integration.js +369 -0
  554. package/src/core/psychology/index.ts +331 -0
  555. package/src/core/reasoning/bounded-rationality.ts +342 -0
  556. package/src/core/reasoning/causal-reasoning.ts +402 -0
  557. package/src/core/reasoning/index.ts +170 -0
  558. package/src/core/self-evolution/attention-logic-verifier.js +179 -0
  559. package/src/core/self-evolution/generative-agents.js +886 -0
  560. package/src/core/self-evolution/goedel-engine.js +991 -0
  561. package/src/core/self-evolution/index.ts +433 -0
  562. package/src/core/self-evolution/lesson-aware-loop.mjs +146 -0
  563. package/src/core/self-evolution/meta-learning.js +256 -0
  564. package/src/core/self-evolution/reflexion-agent.js +782 -0
  565. package/src/core/self-evolution/reflexion-prompts.mjs +284 -0
  566. package/src/core/self-evolution/reflexion-v2.mjs +427 -0
  567. package/src/core/self-evolution/reflexion.js +134 -0
  568. package/src/core/self-evolution/rollback-manager.js +278 -0
  569. package/src/core/self-evolution/self-evolution-core.js +334 -0
  570. package/src/core/self-evolution/self-modifier.js +248 -0
  571. package/src/core/self-evolution/self-modifier.js.bak +199 -0
  572. package/src/core/self-evolution/self-refine.js +42 -0
  573. package/src/core/self-evolution/skill-improve-workflow.mjs +264 -0
  574. package/src/core/self-evolution/skill-knowledge.mjs +374 -0
  575. package/src/core/self-evolution/skill-learning-loop.mjs +180 -0
  576. package/src/core/self-healing/self-healing-rl.js +208 -0
  577. package/src/core/self-healing/self-healing.js +142 -0
  578. package/src/core/skills/skill-dag.js +524 -0
  579. package/src/core/skills/skill-loader.js +62 -0
  580. package/src/core/skills/skill-registry.js +71 -0
  581. package/src/core/task-persistence.js +322 -0
  582. package/src/core/theory/advanced-formulas-v7.3.3.js +68 -0
  583. package/src/core/theory/sep-intentionality-v7.3.2.js +246 -0
  584. package/src/core/theory/sep-qualia-v7.3.1.js +257 -0
  585. package/src/core/theory/sep-self-consciousness-v7.3.0.js +222 -0
  586. package/src/core/think-cli.js +50 -0
  587. package/src/core/upgrade-principle/SYSTEMS.md +105 -0
  588. package/src/core/upgrade-principle/UPGRADE_LOG.md +52 -0
  589. package/src/core/utils/error-handler.js +228 -0
  590. package/src/core/utils/fs-adapter.js +36 -0
  591. package/src/core/utils/logger.js +25 -0
  592. package/src/core/utils/retry-util.js +118 -0
  593. package/src/core/utils/state-snapshot.js +382 -0
  594. package/src/index.ts +198 -0
  595. package/src/self-evolution/reflexion.js +553 -0
  596. package/src/storage/checkpoint/CheckpointEngine.ts +259 -0
  597. package/src/storage/checkpoint.ts +79 -0
  598. package/src/storage/index.ts +112 -0
  599. package/src/storage/vector/VectorStoreEngine.ts +205 -0
  600. package/src/utils/atomic-write.js +85 -0
  601. package/src/utils/file-lock.js +139 -0
  602. package/src/utils/logger.js +58 -0
  603. package/src/utils/safe-path.js +115 -0
  604. package/src/utils/wal.js +115 -0
  605. package/start.sh +63 -0
  606. package/test_think_tmp.js +10 -0
  607. package/transmission/identity-bundle/README-transmission.md +103 -0
  608. package/transmission/identity-bundle/core-identity.md +142 -0
  609. package/transmission/identity-bundle/manifest.json +68 -0
  610. package/transmission/identity-bundle/psychology-engine.ts +331 -0
  611. package/truth-teller/index.ts +261 -0
  612. package/tsconfig.json +21 -0
  613. package/tsconfig.tsbuildinfo +1 -0
  614. package/upgrade-check.sh +42 -0
  615. package/upgrade-registry.json +27 -0
  616. package/user-mental-model/index.ts +298 -0
  617. package//346/234/200/345/220/216/346/233/264/346/226/260: +0 -0
@@ -0,0 +1,991 @@
1
+ /**
2
+ * Gödel Engine - 自指涉代码进化模块
3
+ * 参考 Gödel Agent 和 Darwin Gödel Machine 理论
4
+ * 实现:提议 → 生成 → 测试 → 提交 循环
5
+ */
6
+
7
+ const fs = require('fs');
8
+ const path = require('path');
9
+ const crypto = require('crypto');
10
+ const { SAGEGuardian } = require('../ethics/sage-guardian');
11
+
12
+ class GoedelEngine {
13
+ constructor(projectRoot) {
14
+ this.projectRoot = projectRoot;
15
+ this.srcDir = path.join(projectRoot, 'src');
16
+ this.sandboxDir = path.join(projectRoot, '.sandbox');
17
+ this.codeMapFile = path.join(projectRoot, 'internal', 'data', 'code-map.json');
18
+ this.evolutionLog = path.join(projectRoot, 'logs', 'self-evolution.log');
19
+ this.versionFile = path.join(projectRoot, 'internal', 'data', 'evolution-versions.json');
20
+
21
+ this.codeMap = this.loadCodeMap();
22
+ this.protectedFiles = this.loadProtectedFiles();
23
+ this.evolutionHistory = [];
24
+ this.sageGuardian = new SAGEGuardian(projectRoot);
25
+ this.coreValuesFile = path.join(projectRoot, 'CORE_VALUES.md');
26
+
27
+ this.init();
28
+ }
29
+
30
+ init() {
31
+ if (!fs.existsSync(this.sandboxDir)) {
32
+ fs.mkdirSync(this.sandboxDir, { recursive: true });
33
+ }
34
+
35
+ if (!fs.existsSync(path.dirname(this.codeMapFile))) {
36
+ fs.mkdirSync(path.dirname(this.codeMapFile), { recursive: true });
37
+ }
38
+
39
+ if (!fs.existsSync(path.dirname(this.versionFile))) {
40
+ fs.mkdirSync(path.dirname(this.versionFile), { recursive: true });
41
+ }
42
+ }
43
+
44
+ loadProtectedFiles() {
45
+ const configPath = path.join(this.projectRoot, '.opencode', 'config.json');
46
+ try {
47
+ const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
48
+ return config.protectedFiles || ['SKILL.md', 'config.json'];
49
+ } catch (e) {
50
+ return ['SKILL.md', 'config.json'];
51
+ }
52
+ }
53
+
54
+ loadCodeMap() {
55
+ try {
56
+ if (fs.existsSync(this.codeMapFile)) {
57
+ return JSON.parse(fs.readFileSync(this.codeMapFile, 'utf8'));
58
+ }
59
+ } catch (e) {
60
+ console.log('[Gödel] Creating new code map');
61
+ }
62
+ return this.buildCodeMap();
63
+ }
64
+
65
+ loadCoreValues() {
66
+ try {
67
+ if (fs.existsSync(this.coreValuesFile)) {
68
+ return fs.readFileSync(this.coreValuesFile, 'utf8');
69
+ }
70
+ } catch (e) {
71
+ console.log('[Gödel] No CORE_VALUES.md found');
72
+ }
73
+ return null;
74
+ }
75
+
76
+ buildCodeMap() {
77
+ const map = {
78
+ version: '1.0.0',
79
+ lastUpdate: new Date().toISOString(),
80
+ files: {},
81
+ modules: {}
82
+ };
83
+
84
+ if (!fs.existsSync(this.srcDir)) {
85
+ return map;
86
+ }
87
+
88
+ const scanDir = (dir, prefix = '') => {
89
+ const entries = fs.readdirSync(dir);
90
+
91
+ for (const entry of entries) {
92
+ const fullPath = path.join(dir, entry);
93
+ const relativePath = path.join(prefix, entry);
94
+ const stat = fs.statSync(fullPath);
95
+
96
+ if (stat.isDirectory()) {
97
+ scanDir(fullPath, relativePath);
98
+ } else if (entry.endsWith('.js')) {
99
+ const content = fs.readFileSync(fullPath, 'utf8');
100
+ const functions = this.extractFunctions(content, relativePath);
101
+
102
+ map.files[relativePath] = {
103
+ path: relativePath,
104
+ size: stat.size,
105
+ hash: this.hashContent(content),
106
+ functions: functions,
107
+ lastModified: stat.mtime.toISOString()
108
+ };
109
+
110
+ const moduleName = path.basename(relativePath, '.js');
111
+ map.modules[moduleName] = relativePath;
112
+ }
113
+ }
114
+ };
115
+
116
+ scanDir(this.srcDir);
117
+ fs.writeFileSync(this.codeMapFile, JSON.stringify(map, null, 2));
118
+
119
+ console.log(`[Gödel] Code map built: ${Object.keys(map.files).length} files`);
120
+ return map;
121
+ }
122
+
123
+ extractFunctions(content, filePath) {
124
+ const functions = [];
125
+ const regex = /(?:function\s+(\w+)|(?:const|let|var)\s+(\w+)\s*=\s*(?:async\s*)?\(|(\w+)\s*\([^)]*\)\s*\{)/g;
126
+
127
+ let match;
128
+ while ((match = regex.exec(content)) !== null) {
129
+ const funcName = match[1] || match[2] || match[3];
130
+ if (funcName && !['if', 'for', 'while', 'switch'].includes(funcName)) {
131
+ functions.push({
132
+ name: funcName,
133
+ file: filePath,
134
+ line: content.substring(0, match.index).split('\n').length
135
+ });
136
+ }
137
+ }
138
+
139
+ return functions;
140
+ }
141
+
142
+ hashContent(content) {
143
+ return crypto.createHash('sha256').update(content).digest('hex').substring(0, 8);
144
+ }
145
+
146
+ log(message) {
147
+ const timestamp = new Date().toISOString();
148
+ const entry = `[${timestamp}] ${message}\n`;
149
+ const logDir = path.dirname(this.evolutionLog);
150
+ if (!fs.existsSync(logDir)) {
151
+ fs.mkdirSync(logDir, { recursive: true });
152
+ }
153
+ fs.appendFileSync(this.evolutionLog, entry);
154
+ console.log(`[Gödel] ${message}`);
155
+ }
156
+
157
+ /**
158
+ * 安全沙箱初始化
159
+ */
160
+ createSandbox() {
161
+ const sandboxId = `sandbox-${Date.now()}`;
162
+ const sandboxPath = path.join(this.sandboxDir, sandboxId);
163
+
164
+ fs.mkdirSync(sandboxPath, { recursive: true });
165
+
166
+ // 复制 src 目录到沙箱
167
+ this.copyRecursive(this.srcDir, sandboxPath);
168
+
169
+ this.log(`Sandbox created: ${sandboxId}`);
170
+ return { id: sandboxId, path: sandboxPath };
171
+ }
172
+
173
+ copyRecursive(src, dest) {
174
+ if (!fs.existsSync(dest)) {
175
+ fs.mkdirSync(dest, { recursive: true });
176
+ }
177
+
178
+ const entries = fs.readdirSync(src);
179
+
180
+ for (const entry of entries) {
181
+ const srcPath = path.join(src, entry);
182
+ const destPath = path.join(dest, entry);
183
+ const stat = fs.statSync(srcPath);
184
+
185
+ if (stat.isDirectory()) {
186
+ this.copyRecursive(srcPath, destPath);
187
+ } else if (entry.endsWith('.js')) {
188
+ fs.copyFileSync(srcPath, destPath);
189
+ }
190
+ }
191
+ }
192
+
193
+ /**
194
+ * 提议阶段 (Propose)
195
+ */
196
+ propose(modification) {
197
+ if (!modification.target || !modification.description) {
198
+ return { valid: false, reason: 'invalid_proposal' };
199
+ }
200
+
201
+ // 检查保护文件
202
+ for (const protectedFile of this.protectedFiles) {
203
+ if (modification.target.includes(protectedFile)) {
204
+ return { valid: false, reason: 'protected_file' };
205
+ }
206
+ }
207
+
208
+ // 检查目标文件是否存在
209
+ const targetPath = path.join(this.srcDir, modification.target);
210
+ if (!fs.existsSync(targetPath)) {
211
+ return { valid: false, reason: 'file_not_found' };
212
+ }
213
+ // 路径穿越检查:确保解析后仍在 srcDir 内
214
+ const resolvedTarget = path.resolve(targetPath);
215
+ const resolvedSrcDir = path.resolve(this.srcDir);
216
+ if (!resolvedTarget.startsWith(resolvedSrcDir + path.sep)) {
217
+ return { valid: false, reason: 'path_traversal_blocked' };
218
+ }
219
+
220
+ this.log(`Proposal accepted: ${modification.description}`);
221
+
222
+ return {
223
+ valid: true,
224
+ proposal: {
225
+ id: `prop-${Date.now()}`,
226
+ target: modification.target,
227
+ description: modification.description,
228
+ timestamp: new Date().toISOString(),
229
+ priority: modification.priority || 'medium'
230
+ }
231
+ };
232
+ }
233
+
234
+ /**
235
+ * 生成阶段 (Generate) - 生成代码差异
236
+ */
237
+ generate(proposal, context = {}) {
238
+ const targetPath = path.join(this.srcDir, proposal.target);
239
+ const originalContent = fs.readFileSync(targetPath, 'utf8');
240
+
241
+ // 模拟 LLM 生成差异 (实际会调用外部 LLM)
242
+ const diff = this.simulateLLMDiff(originalContent, proposal, context);
243
+
244
+ this.log(`Generated diff for: ${proposal.target}`);
245
+
246
+ return {
247
+ proposal: proposal,
248
+ diff: diff,
249
+ originalHash: this.hashContent(originalContent),
250
+ generatedAt: new Date().toISOString()
251
+ };
252
+ }
253
+
254
+ simulateLLMDiff(content, proposal, context) {
255
+ // 这里模拟 LLM 生成的代码更改
256
+ // 实际实现中会调用外部 LLM API
257
+
258
+ const suggestions = {
259
+ 'calculatePAD': ` // Gödel 优化: 增强对用户情绪的敏感度
260
+ const emotionSensitivity = 0.15;
261
+ if (context.userFrustration) {
262
+ pad.pleasure -= emotionSensitivity;
263
+ pad.dominance -= emotionSensitivity * 0.5;
264
+ }`,
265
+ 'default': ` // Gödel 优化建议: ${proposal.description}
266
+ // TODO: Implement optimization`
267
+ };
268
+
269
+ const funcMatch = proposal.target.match(/(\w+)\.js$/);
270
+ const funcName = funcMatch ? funcMatch[1] : 'default';
271
+ const suggestion = suggestions[funcName] || suggestions.default;
272
+
273
+ return {
274
+ type: 'patch',
275
+ target: proposal.target,
276
+ changes: [
277
+ {
278
+ type: 'insert',
279
+ after: '// Function implementation',
280
+ content: suggestion
281
+ }
282
+ ],
283
+ description: proposal.description
284
+ };
285
+ }
286
+
287
+ /**
288
+ * 测试阶段 (Test) - 在沙箱中运行测试
289
+ */
290
+ async test(proposal, diff) {
291
+ const sandbox = this.createSandbox();
292
+ const sandboxSrc = path.join(sandbox.path);
293
+
294
+ // 应用差异到沙箱
295
+ const appliedContent = this.applyDiff(
296
+ fs.readFileSync(path.join(this.srcDir, proposal.target), 'utf8'),
297
+ diff
298
+ );
299
+
300
+ fs.writeFileSync(
301
+ path.join(sandboxSrc, proposal.target),
302
+ appliedContent
303
+ );
304
+
305
+ // 运行测试
306
+ const testResult = await this.runTests(sandboxSrc);
307
+
308
+ // 清理沙箱
309
+ this.cleanupSandbox(sandbox.id);
310
+
311
+ return testResult;
312
+ }
313
+
314
+ applyDiff(originalContent, diff) {
315
+ // 简化实现:直接在文件末尾添加注释
316
+ // 实际实现需要更复杂的 diff 应用逻辑
317
+
318
+ const marker = `\n// Gödel Evolution: ${diff.description}\n`;
319
+ return originalContent + marker;
320
+ }
321
+
322
+ async runTests(sandboxPath) {
323
+ // 安全模式:不自动执行 npm test,只返回待人工验证状态
324
+ return {
325
+ passed: false,
326
+ reason: 'manual_verification_required',
327
+ details: '安全模式下已禁用自动执行 npm test,请手动在沙箱中验证'
328
+ };
329
+ }
330
+
331
+ cleanupSandbox(sandboxId) {
332
+ const sandboxPath = path.join(this.sandboxDir, sandboxId);
333
+ try {
334
+ const resolved = path.resolve(sandboxPath);
335
+ const sandboxRoot = path.resolve(this.sandboxDir) + path.sep;
336
+ if (!resolved.startsWith(sandboxRoot)) {
337
+ throw new Error('sandbox_path_escape_blocked');
338
+ }
339
+ fs.rmSync(sandboxPath, { recursive: true, force: true, maxRetries: 2 });
340
+ this.log(`Sandbox cleaned up: ${sandboxId}`);
341
+ } catch (e) {
342
+ console.error(`[Gödel] Cleanup failed: ${e.message}`);
343
+ }
344
+ }
345
+
346
+ /**
347
+ * 提交阶段 (Commit) - 将修改写入实际文件
348
+ */
349
+ async commit(proposal, diff, testResult) {
350
+ if (!testResult.passed) {
351
+ return { success: false, reason: 'tests_failed' };
352
+ }
353
+
354
+ // 安全检查:需要确认环境变量 HEARTFLOW_ENABLE_SELF_MODIFICATION=1 才能自动修改
355
+ // 此检查必须在任何文件读取或写入之前执行
356
+ if (process.env.HEARTFLOW_ENABLE_SELF_MODIFICATION !== '1') {
357
+ console.warn('[Gödel] Self modification disabled by policy');
358
+ return { success: false, reason: 'self_modification_disabled' };
359
+ }
360
+
361
+ const targetPath = path.join(this.srcDir, proposal.target);
362
+ const originalContent = fs.readFileSync(targetPath, 'utf8');
363
+ const modifiedContent = this.applyDiff(originalContent, diff);
364
+
365
+ // 写入文件(仅在显式开启时写入)
366
+ fs.writeFileSync(targetPath, modifiedContent);
367
+
368
+ // 记录版本(包括文件内容以便回滚)
369
+ const version = {
370
+ id: `v-${Date.now()}`,
371
+ proposal: proposal.description,
372
+ target: proposal.target,
373
+ timestamp: new Date().toISOString(),
374
+ hash: this.hashContent(modifiedContent),
375
+ previousHash: this.hashContent(originalContent),
376
+ content: modifiedContent // 存储内容以便回滚
377
+ };
378
+
379
+ this.recordVersion(version);
380
+ this.codeMap = this.buildCodeMap(); // 重建代码映射
381
+
382
+ this.log(`Committed: ${proposal.target}`);
383
+
384
+ return {
385
+ success: true,
386
+ version: version,
387
+ changes: {
388
+ lines: modifiedContent.split('\n').length - originalContent.split('\n').length
389
+ }
390
+ };
391
+ }
392
+
393
+ recordVersion(version) {
394
+ let versions = [];
395
+ try {
396
+ if (fs.existsSync(this.versionFile)) {
397
+ versions = JSON.parse(fs.readFileSync(this.versionFile, 'utf8'));
398
+ }
399
+ } catch (e) {
400
+ versions = [];
401
+ }
402
+
403
+ versions.push(version);
404
+ fs.writeFileSync(this.versionFile, JSON.stringify(versions, null, 2));
405
+ }
406
+
407
+ /**
408
+ * 完整进化循环
409
+ */
410
+ async evolve(modification, context = {}) {
411
+ const result = {
412
+ proposal: null,
413
+ diff: null,
414
+ test: null,
415
+ sageReview: null,
416
+ commit: null
417
+ };
418
+
419
+ // 0. 检查冷却期
420
+ if (this.sageGuardian.isInCooldown()) {
421
+ return { success: false, reason: 'in_cooldown' };
422
+ }
423
+
424
+ // 1. 提议
425
+ const proposeResult = this.propose(modification);
426
+ if (!proposeResult.valid) {
427
+ return { success: false, reason: proposeResult.reason };
428
+ }
429
+ result.proposal = proposeResult.proposal;
430
+
431
+ // 1.5. 价值观锚定验证
432
+ const valueAnalysis = this.analyzeValueAlignment(result.proposal);
433
+ result.valueAnalysis = valueAnalysis;
434
+ if (!valueAnalysis.aligned) {
435
+ return { success: false, reason: 'value_misalignment' };
436
+ }
437
+
438
+ // 2. 生成
439
+ const generateResult = this.generate(result.proposal, context);
440
+ result.diff = generateResult;
441
+
442
+ // 3. 测试
443
+ const testResult = await this.test(result.proposal, result.diff);
444
+ result.test = testResult;
445
+
446
+ // 4. SAGE 伦理审查
447
+ if (testResult.passed) {
448
+ const sageReview = await this.sageGuardian.reviewProposal(result.proposal, result.diff);
449
+ result.sageReview = sageReview;
450
+
451
+ if (!sageReview.passed) {
452
+ return { success: false, reason: 'sage_rejected', violations: sageReview.violations };
453
+ }
454
+ }
455
+
456
+ // 5. 提交
457
+ if (testResult.passed && result.sageReview?.passed) {
458
+ const commitResult = await this.commit(result.proposal, result.diff, testResult);
459
+ result.commit = commitResult;
460
+
461
+ // 生成用户友好的解释
462
+ result.userExplanation = this.sageGuardian.explainModification(result.proposal, true);
463
+
464
+ return { success: true, ...result };
465
+ }
466
+
467
+ return { success: false, reason: 'test_failed', details: testResult };
468
+ }
469
+
470
+ /**
471
+ * 价值观锚定分析
472
+ */
473
+ analyzeValueAlignment(proposal) {
474
+ const coreValues = this.loadCoreValues();
475
+
476
+ if (!coreValues) {
477
+ return { aligned: true, reason: 'no_core_values_file' };
478
+ }
479
+
480
+ const positiveKeywords = [
481
+ '心流', 'flow', '用户体验', 'user experience',
482
+ '提升', 'improve', '帮助', 'help', '优化'
483
+ ];
484
+
485
+ const description = proposal.description.toLowerCase();
486
+ const hasPositive = positiveKeywords.some(kw => description.includes(kw));
487
+
488
+ return {
489
+ aligned: hasPositive,
490
+ reason: hasPositive ? '符合核心价值观' : '未能体现核心价值观',
491
+ cited_values: coreValues.substring(0, 200)
492
+ };
493
+ }
494
+
495
+ /**
496
+ * 分析自身架构,识别可优化点
497
+ */
498
+ analyzeSelf() {
499
+ const analysis = {
500
+ timestamp: new Date().toISOString(),
501
+ filesAnalyzed: Object.keys(this.codeMap.files).length,
502
+ optimizationPoints: []
503
+ };
504
+
505
+ for (const [filePath, fileData] of Object.entries(this.codeMap.files)) {
506
+ const functions = fileData.functions || [];
507
+
508
+ for (const func of functions) {
509
+ if (func.name.includes('calculate') || func.name.includes('analyze')) {
510
+ analysis.optimizationPoints.push({
511
+ file: filePath,
512
+ function: func.name,
513
+ line: func.line,
514
+ suggestion: `优化 ${func.name} 函数参数或算法`
515
+ });
516
+ }
517
+ }
518
+ }
519
+
520
+ this.log(`Self-analysis complete: ${analysis.optimizationPoints.length} points found`);
521
+ return analysis;
522
+ }
523
+
524
+ getStatus() {
525
+ return {
526
+ codeMapVersion: this.codeMap.version,
527
+ filesTracked: Object.keys(this.codeMap.files).length,
528
+ functionsTracked: Object.values(this.codeMap.files).reduce((a, f) => a + (f.functions?.length || 0), 0),
529
+ protectedFiles: this.protectedFiles,
530
+ history: this.evolutionHistory.length
531
+ };
532
+ }
533
+
534
+ getVersionHistory() {
535
+ try {
536
+ if (fs.existsSync(this.versionFile)) {
537
+ return JSON.parse(fs.readFileSync(this.versionFile, 'utf8'));
538
+ }
539
+ } catch (e) {
540
+ return [];
541
+ }
542
+ return [];
543
+ }
544
+
545
+ /**
546
+ * 原则性反思 (Principle-Based Reflect)
547
+ * 基于核心价值观进行深度反思,评估当前行为是否符合长期原则
548
+ */
549
+ async principleBasedReflect(context = {}) {
550
+ const reflection = {
551
+ timestamp: new Date().toISOString(),
552
+ type: 'principle_based',
553
+ principles: [],
554
+ alignment: [],
555
+ recommendations: []
556
+ };
557
+
558
+ const coreValues = this.loadCoreValues();
559
+ if (!coreValues) {
560
+ reflection.principles.push({ principle: '无约束原则', status: 'neutral' });
561
+ return reflection;
562
+ }
563
+
564
+ const principles = this.extractPrinciples(coreValues);
565
+ reflection.principles = principles;
566
+
567
+ const recentVersions = this.getVersionHistory().slice(-5);
568
+ for (const version of recentVersions) {
569
+ const alignmentScore = this.evaluatePrincipleAlignment(version, principles);
570
+ reflection.alignment.push({
571
+ version: version.id,
572
+ score: alignmentScore,
573
+ timestamp: version.timestamp
574
+ });
575
+ }
576
+
577
+ const avgAlignment = reflection.alignment.reduce((a, b) => a + b.score, 0) /
578
+ (reflection.alignment.length || 1);
579
+
580
+ if (avgAlignment < 0.7) {
581
+ reflection.recommendations.push({
582
+ type: 'principle_drift',
583
+ message: '检测到原则偏离,建议加强价值观锚定',
584
+ priority: 'high'
585
+ });
586
+ }
587
+
588
+ this.log(`Principle-based reflection complete: avg alignment ${avgAlignment.toFixed(2)}`);
589
+ return reflection;
590
+ }
591
+
592
+ extractPrinciples(coreValues) {
593
+ const principles = [];
594
+ const lines = coreValues.split('\n');
595
+
596
+ for (const line of lines) {
597
+ if (line.includes(':') || line.includes('—') || line.includes('-')) {
598
+ const principle = line.replace(/^[#\-\s]*/, '').trim();
599
+ if (principle.length > 3 && principle.length < 100) {
600
+ principles.push({
601
+ principle: principle,
602
+ source: 'CORE_VALUES.md'
603
+ });
604
+ }
605
+ }
606
+ }
607
+
608
+ return principles.length > 0 ? principles : [
609
+ { principle: '用户利益优先', source: 'default' },
610
+ { principle: '持续学习和进化', source: 'default' },
611
+ { principle: '透明和诚实', source: 'default' }
612
+ ];
613
+ }
614
+
615
+ evaluatePrincipleAlignment(version, principles) {
616
+ const description = version.proposal?.toLowerCase() || '';
617
+ const positiveWords = ['优化', '改善', '提升', '帮助', 'improve', 'help', 'enhance'];
618
+ const negativeWords = ['破坏', '伤害', '欺骗', 'harm', 'deceive', 'damage'];
619
+
620
+ let score = 0.5;
621
+
622
+ for (const word of positiveWords) {
623
+ if (description.includes(word)) score += 0.1;
624
+ }
625
+ for (const word of negativeWords) {
626
+ if (description.includes(word)) score -= 0.2;
627
+ }
628
+
629
+ return Math.max(0, Math.min(1, score));
630
+ }
631
+
632
+ /**
633
+ * 过程性反思 (Procedural Reflect)
634
+ * 反思进化过程本身的有效性,识别改进空间
635
+ */
636
+ async proceduralReflect(context = {}) {
637
+ const reflection = {
638
+ timestamp: new Date().toISOString(),
639
+ type: 'procedural',
640
+ processMetrics: {},
641
+ inefficiencies: [],
642
+ optimizations: []
643
+ };
644
+
645
+ const history = this.getVersionHistory();
646
+ const recentHistory = history.slice(-10);
647
+
648
+ reflection.processMetrics = {
649
+ totalEvolutions: history.length,
650
+ recentEvolutions: recentHistory.length,
651
+ avgTimeBetweenEvolutions: this.calculateAvgTimeBetween(recentHistory),
652
+ successRate: recentHistory.filter(v => v.id).length / (recentHistory.length || 1)
653
+ };
654
+
655
+ if (reflection.processMetrics.avgTimeBetweenEvolutions < 60000) {
656
+ reflection.inefficiencies.push({
657
+ issue: '进化频率过高',
658
+ detail: '平均间隔不足1分钟,可能缺乏充分评估'
659
+ });
660
+ }
661
+
662
+ const codeMapVersion = this.codeMap?.version || 'unknown';
663
+ if (codeMapVersion === '1.0.0') {
664
+ reflection.optimizations.push({
665
+ suggestion: '更新代码映射版本以反映最新架构',
666
+ benefit: '提高自我分析准确性'
667
+ });
668
+ }
669
+
670
+ const sageStatus = this.sageGuardian?.getStatus?.() || {};
671
+ if (sageStatus.cooldownActive) {
672
+ reflection.inefficiencies.push({
673
+ issue: 'SAGEGuardian 冷却期激活',
674
+ detail: '伦理审查可能成为瓶颈'
675
+ });
676
+ }
677
+
678
+ this.log(`Procedural reflection complete: ${reflection.inefficiencies.length} inefficiencies found`);
679
+ return reflection;
680
+ }
681
+
682
+ calculateAvgTimeBetween(versions) {
683
+ if (versions.length < 2) return 0;
684
+
685
+ let totalDiff = 0;
686
+ for (let i = 1; i < versions.length; i++) {
687
+ const t1 = new Date(versions[i-1].timestamp);
688
+ const t2 = new Date(versions[i].timestamp);
689
+ totalDiff += (t2 - t1);
690
+ }
691
+
692
+ return totalDiff / (versions.length - 1);
693
+ }
694
+
695
+ /**
696
+ * 智能体档案库 - 存储历史上所有成功变异版本
697
+ */
698
+ loadAgentArchive() {
699
+ const archiveFile = path.join(this.projectRoot, 'internal', 'data', 'agent-archive.json');
700
+ try {
701
+ if (fs.existsSync(archiveFile)) {
702
+ return JSON.parse(fs.readFileSync(archiveFile, 'utf8'));
703
+ }
704
+ } catch (e) {
705
+ console.log('[Goedel] 智能体档案库不存在,创建新的');
706
+ }
707
+ return { agents: [], version: 1 };
708
+ }
709
+
710
+ saveAgentArchive(archive) {
711
+ const archiveFile = path.join(this.projectRoot, 'internal', 'data', 'agent-archive.json');
712
+ const dir = path.dirname(archiveFile);
713
+ if (!fs.existsSync(dir)) {
714
+ fs.mkdirSync(dir, { recursive: true });
715
+ }
716
+ fs.writeFileSync(archiveFile, JSON.stringify(archive, null, 2));
717
+ }
718
+
719
+ /**
720
+ * 采样并变异 - 从档案库中采样一个智能体配置,使用 LLM 生成变体
721
+ * 参考 DGM-Hyperagents 实现
722
+ */
723
+ async sampleAndMutate() {
724
+ const archive = this.loadAgentArchive();
725
+
726
+ let baseAgent = null;
727
+
728
+ if (archive.agents.length > 0) {
729
+ // 从档案库中采样
730
+ const index = Math.floor(Math.random() * archive.agents.length);
731
+ baseAgent = archive.agents[index];
732
+ } else {
733
+ // 使用默认配置
734
+ baseAgent = {
735
+ id: 'default-v1',
736
+ config: {
737
+ reflectionFrequency: 5,
738
+ learningRate: 0.1,
739
+ memoryWeight: 0.5,
740
+ ethicsWeight: 0.8
741
+ },
742
+ successCount: 10
743
+ };
744
+ }
745
+
746
+ // 生成变异
747
+ const mutation = this.generateMutation(baseAgent);
748
+
749
+ const variant = {
750
+ id: `variant-${Date.now()}`,
751
+ parentId: baseAgent.id,
752
+ config: mutation.newConfig,
753
+ description: mutation.description,
754
+ createdAt: new Date().toISOString(),
755
+ benchmarkScores: {},
756
+ status: 'pending' // pending/validated/rejected
757
+ };
758
+
759
+ console.log(`[Goedel] 生成变体: ${variant.id} (来自 ${variant.parentId})`);
760
+
761
+ return { baseAgent, variant };
762
+ }
763
+
764
+ /**
765
+ * 生成变异配置
766
+ */
767
+ generateMutation(agent) {
768
+ // 模拟 LLM 生成变异 - 实际会调用外部 LLM
769
+ const mutationTypes = [
770
+ { type: 'increase-reflection', param: 'reflectionFrequency', delta: 2 },
771
+ { type: 'decrease-reflection', param: 'reflectionFrequency', delta: -1 },
772
+ { type: 'increase-learning', param: 'learningRate', delta: 0.05 },
773
+ { type: 'decrease-learning', param: 'learningRate', delta: -0.03 },
774
+ { type: 'increase-memory', param: 'memoryWeight', delta: 0.1 },
775
+ { type: 'increase-ethics', param: 'ethicsWeight', delta: 0.1 }
776
+ ];
777
+
778
+ const mutation = mutationTypes[Math.floor(Math.random() * mutationTypes.length)];
779
+
780
+ const newConfig = { ...agent.config };
781
+ newConfig[mutation.param] = (newConfig[mutation.param] || 0) + mutation.delta;
782
+
783
+ return {
784
+ newConfig,
785
+ description: `${mutation.type}: ${mutation.param} 调整 ${mutation.delta > 0 ? '+' : ''}${mutation.delta}`
786
+ };
787
+ }
788
+
789
+ /**
790
+ * 验证变体 - 使用基准测试验证新变体是否优于当前版本
791
+ */
792
+ async validateVariant(variant, benchmarks = {}) {
793
+ // 模拟基准测试 - 实际会运行真实测试
794
+ const mockScores = {
795
+ flowAccuracy: 0.5 + Math.random() * 0.3,
796
+ intentAccuracy: 0.6 + Math.random() * 0.25,
797
+ ethicsCompliance: 0.95 + Math.random() * 0.04
798
+ };
799
+
800
+ variant.benchmarkScores = {
801
+ ...benchmarks,
802
+ ...mockScores,
803
+ validatedAt: new Date().toISOString()
804
+ };
805
+
806
+ // 与当前配置比较
807
+ const currentScores = this.getCurrentPerformance();
808
+ const improved = this.compareScores(variant.benchmarkScores, currentScores);
809
+
810
+ variant.status = improved ? 'validated' : 'rejected';
811
+ variant.comparison = {
812
+ vsCurrent: improved ? 'better' : 'worse',
813
+ delta: this.calculateDelta(variant.benchmarkScores, currentScores)
814
+ };
815
+
816
+ console.log(`[Goedel] 变体验证: ${variant.status} (${improved ? '优于' : '劣于'}当前)`);
817
+
818
+ return variant;
819
+ }
820
+
821
+ /**
822
+ * 获取当前性能
823
+ */
824
+ getCurrentPerformance() {
825
+ return {
826
+ flowAccuracy: 0.52,
827
+ intentAccuracy: 0.65,
828
+ ethicsCompliance: 1.0
829
+ };
830
+ }
831
+
832
+ /**
833
+ * 比较分数
834
+ */
835
+ compareScores(newScores, currentScores) {
836
+ const weights = { flowAccuracy: 0.3, intentAccuracy: 0.3, ethicsCompliance: 0.4 };
837
+ const newWeighted = newScores.flowAccuracy * weights.flowAccuracy +
838
+ newScores.intentAccuracy * weights.intentAccuracy +
839
+ newScores.ethicsCompliance * weights.ethicsCompliance;
840
+ const currentWeighted = currentScores.flowAccuracy * weights.flowAccuracy +
841
+ currentScores.intentAccuracy * weights.intentAccuracy +
842
+ currentScores.ethicsCompliance * weights.ethicsCompliance;
843
+ return newWeighted > currentWeighted;
844
+ }
845
+
846
+ /**
847
+ * 计算改进幅度
848
+ */
849
+ calculateDelta(newScores, currentScores) {
850
+ return {
851
+ flowAccuracy: newScores.flowAccuracy - currentScores.flowAccuracy,
852
+ intentAccuracy: newScores.intentAccuracy - currentScores.intentAccuracy,
853
+ ethicsCompliance: newScores.ethicsCompliance - currentScores.ethicsCompliance
854
+ };
855
+ }
856
+
857
+ /**
858
+ * 将成功变体添加到档案库
859
+ */
860
+ addToArchive(variant) {
861
+ const archive = this.loadAgentArchive();
862
+
863
+ archive.agents.push({
864
+ id: variant.id,
865
+ parentId: variant.parentId,
866
+ config: variant.config,
867
+ description: variant.description,
868
+ benchmarkScores: variant.benchmarkScores,
869
+ addedAt: new Date().toISOString()
870
+ });
871
+
872
+ // 保持档案库大小合理
873
+ if (archive.agents.length > 100) {
874
+ archive.agents = archive.agents.slice(-50);
875
+ }
876
+
877
+ this.saveAgentArchive(archive);
878
+ console.log(`[Goedel] 变体 ${variant.id} 已添加到档案库`);
879
+ }
880
+
881
+ /**
882
+ * 元认知自我修改循环
883
+ * 不仅修改任务执行代码,还修改"生成改进方案的逻辑"本身
884
+ */
885
+ async metaCognitiveSelfModification() {
886
+ console.log('[Goedel] 开始元认知自我修改循环...');
887
+
888
+ const reflection = {
889
+ startTime: new Date().toISOString(),
890
+ targets: []
891
+ };
892
+
893
+ // 1. 反思当前的改进生成逻辑
894
+ const proceduralReflection = await this.proceduralReflect();
895
+ reflection.targets.push({
896
+ target: 'improvement-generation-logic',
897
+ reflection: proceduralReflection,
898
+ needsModification: proceduralReflection.processMetrics?.successRate < 0.8
899
+ });
900
+
901
+ // 2. 生成针对"生成逻辑"本身的改进
902
+ if (reflection.targets[0].needsModification) {
903
+ const improvement = this.generateMetaImprovement(proceduralReflection);
904
+ reflection.metaImprovement = improvement;
905
+
906
+ // 3. 生成补丁文件(不直接应用)
907
+ const patch = await this.generateMetaPatch(improvement);
908
+ reflection.patch = patch;
909
+
910
+ console.log(`[Goedel] 元认知改进补丁已生成: ${patch.file}`);
911
+ }
912
+
913
+ reflection.endTime = new Date().toISOString();
914
+ return reflection;
915
+ }
916
+
917
+ /**
918
+ * 生成元层改进
919
+ */
920
+ generateMetaImprovement(reflection) {
921
+ const inefficiencies = reflection.processMetrics?.inefficiencies || [];
922
+
923
+ return {
924
+ target: 'goedel-engine.js - sampling strategy',
925
+ problem: inefficiencies.map(i => i.issue).join('; '),
926
+ suggestedFix: '调整采样策略,增加探索多样性',
927
+ priority: 'high'
928
+ };
929
+ }
930
+
931
+ /**
932
+ * 生成元层补丁
933
+ */
934
+ generateMetaSelfPatch(improvement) {
935
+ if (process.env.HEARTFLOW_ENABLE_SELF_MODIFICATION !== '1') {
936
+ return {
937
+ success: false,
938
+ status: 'manual_only',
939
+ reason: 'HeartFlow self-modification disabled by default for marketplace-safe runtime'
940
+ };
941
+ }
942
+
943
+ const patchDir = path.join(this.projectRoot, 'internal', 'patches');
944
+ if (!fs.existsSync(patchDir)) {
945
+ fs.mkdirSync(patchDir, { recursive: true });
946
+ }
947
+
948
+ const patchContent = `# 元认知自我修改补丁
949
+ # 生成时间: ${new Date().toISOString()}
950
+ # 目标: ${improvement.target}
951
+ # 问题: ${improvement.problem}
952
+
953
+ --- a/src/core/self-evolution/goedel-engine.js
954
+ +++ b/src/core/self-evolution/goedel-engine.js
955
+ @@ // 修改采样策略
956
+
957
+ diff --git a/src/core/self-evolution/goedel-engine.js b/src/core/self-evolution/goedel-engine.js
958
+ --- a/src/core/self-evolution/goedel-engine.js
959
+ +++ b/src/core/self-evolution/goedel-engine.js
960
+ @@ // TODO: 应用改进
961
+ - // 当前采样策略需要优化
962
+ + // 优化采样策略:增加多样性权重
963
+ `;
964
+
965
+ const fileName = `meta-self-mod-${Date.now()}.patch`;
966
+ const filePath = path.join(patchDir, fileName);
967
+ fs.writeFileSync(filePath, patchContent);
968
+
969
+ return {
970
+ file: fileName,
971
+ path: filePath,
972
+ content: patchContent
973
+ };
974
+ }
975
+
976
+ /**
977
+ * 获取进化状态
978
+ */
979
+ getEvolutionStatus() {
980
+ const archive = this.loadAgentArchive();
981
+
982
+ return {
983
+ archiveSize: archive.agents.length,
984
+ currentVersion: this.codeMap?.version || '1.0.0',
985
+ versionsCount: this.getVersionHistory().length,
986
+ lastEvolution: this.getVersionHistory()[0] || null
987
+ };
988
+ }
989
+ }
990
+
991
+ module.exports = { GoedelEngine };