pi-coding-master 0.2.7

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 (304) hide show
  1. package/README.md +50 -0
  2. package/core/god.agent.capability/@ABANDONED.brain.prefrontal.monitor/gpu_monitor.py +80 -0
  3. package/core/god.agent.capability/@ABANDONED.brain.prefrontal.monitor/gpu_monitor.py.CHANGELOG +1 -0
  4. package/core/god.agent.capability/@ABANDONED.brain.prefrontal.monitor/gpu_monitor.py.SPEC +3 -0
  5. package/core/god.agent.capability/hands.dev.writeissue/issue.ts +209 -0
  6. package/core/god.agent.capability/hands.dev.writeissue/issue.ts.SPEC +26 -0
  7. package/core/god.agent.capability/hands.files.changewatcher/watcher.ts +44 -0
  8. package/core/god.agent.capability/hands.files.changewatcher/watcher.ts.SPEC +25 -0
  9. package/core/god.pi.mod/cli/pi-completion.zsh +21 -0
  10. package/core/god.pi.mod/cli/pi-completion.zsh.CHANGELOG +1 -0
  11. package/core/god.pi.mod/cli/pi-people.sh +264 -0
  12. package/core/god.pi.mod/cli/pi-people.sh.LESSON +10 -0
  13. package/core/god.pi.mod/cli/pi-people.sh.SPEC +31 -0
  14. package/core/god.pi.mod/paths.ts +47 -0
  15. package/core/god.pi.mod/tui.mods.blockrender/blockrender.js +90 -0
  16. package/core/god.pi.mod/tui.mods.blockrender/blockrender.js.SPEC +29 -0
  17. package/core/god.pi.mod/tui.mods.footer.budget/budget_guard.ts +154 -0
  18. package/core/god.pi.mod/tui.mods.footer.budget/budget_guard.ts.CHANGELOG +10 -0
  19. package/core/god.pi.mod/tui.mods.footer.budget/budget_guard.ts.LESSON +12 -0
  20. package/core/god.pi.mod/tui.mods.footer.budget/budget_guard.ts.SPEC +26 -0
  21. package/core/god.pi.mod/tui.mods.footer.budget/footer-cny.CHANGELOG +39 -0
  22. package/core/god.pi.mod/tui.mods.viewmode/view_mode-thinking.patch +55 -0
  23. package/core/god.pi.mod/tui.mods.viewmode/view_mode-tools.patch +19 -0
  24. package/core/god.pi.mod/tui.mods.viewmode/view_mode-tools.patch.CHANGELOG +1 -0
  25. package/core/god.pi.mod/tui.mods.viewmode/view_mode.ts +50 -0
  26. package/core/god.pi.mod/tui.mods.viewmode/view_mode.ts.SPEC +12 -0
  27. package/core/god.pi.mod/tui.variants.userterminal/user_terminal.CHANGELOG +10 -0
  28. package/core/god.pi.mod/tui.variants.userterminal/user_terminal.ts +66 -0
  29. package/core/god.pi.mod/tui.variants.userterminal/user_terminal.ts.SPEC +31 -0
  30. package/core/index.ts +3 -0
  31. package/core/individual.bio.gene/dna.coded/coded.dna +257 -0
  32. package/core/individual.bio.gene/dna.coded/coded.dna.CHANGELOG +12 -0
  33. package/core/individual.bio.gene/dna.coded/coded.dna.SPEC +11 -0
  34. package/core/individual.bio.gene/dna.coded/core.dna +110 -0
  35. package/core/individual.bio.gene/dna.promotor/promotor.dna +117 -0
  36. package/core/individual.bio.gene/dna.promotor/promotor.dna.CHANGELOG +4 -0
  37. package/core/individual.bio.gene/dna.promotor/promotor.dna.SPEC +7 -0
  38. package/core/individual.bio.gene/dna.transpiler/transpiler.ts +395 -0
  39. package/core/individual.bio.gene/dna.transpiler/transpiler.ts.CHANGELOG +7 -0
  40. package/core/individual.bio.gene/dna.transpiler/transpiler.ts.SPEC +28 -0
  41. package/core/individual.bio.gene/gene.README +19 -0
  42. package/core/individual.bio.gene/rna/rna.json +536 -0
  43. package/core/individual.bio.gene/rna/rna.json.CHANGELOG +2 -0
  44. package/core/individual.bio.gene/rna/rna.json.SPEC +8 -0
  45. package/core/individual.bio.organs/blood.runtime/messages.ts +236 -0
  46. package/core/individual.bio.organs/blood.runtime/runtime.ts +173 -0
  47. package/core/individual.bio.organs/blood.runtime/runtime.ts.CHANGELOG +5 -0
  48. package/core/individual.bio.organs/blood.runtime/runtime.ts.SPEC +32 -0
  49. package/core/individual.bio.organs/brain.amygdala/amygdala.ts +25 -0
  50. package/core/individual.bio.organs/brain.amygdala/amygdala.ts.COMMENT +3 -0
  51. package/core/individual.bio.organs/brain.amygdala/amygdala.ts.SPEC +9 -0
  52. package/core/individual.bio.organs/brain.hippocampus/hippocampus-launcher.sh.template +108 -0
  53. package/core/individual.bio.organs/brain.hippocampus/hippocampus.ts +166 -0
  54. package/core/individual.bio.organs/brain.hippocampus/hippocampus.ts.CHANGELOG +12 -0
  55. package/core/individual.bio.organs/brain.hippocampus/hippocampus.ts.LESSON +22 -0
  56. package/core/individual.bio.organs/brain.hippocampus/hippocampus.ts.SPEC +16 -0
  57. package/core/individual.bio.organs/brain.hippocampus/memory.ts +879 -0
  58. package/core/individual.bio.organs/brain.hippocampus/memory.ts.CHANGELOG +66 -0
  59. package/core/individual.bio.organs/brain.hippocampus/memory.ts.LESSON +25 -0
  60. package/core/individual.bio.organs/brain.hippocampus/memory.ts.SPEC +46 -0
  61. package/core/individual.bio.organs/brain.hippocampus/sleep.ts +139 -0
  62. package/core/individual.bio.organs/brain.hippocampus/sleep.ts.CHANGELOG +11 -0
  63. package/core/individual.bio.organs/brain.hippocampus/sleep.ts.SPEC +16 -0
  64. package/core/individual.bio.organs/brain.prefrontal.drafting/drafting.SPEC +44 -0
  65. package/core/individual.bio.organs/brain.prefrontal.drafting/drafting.ts +73 -0
  66. package/core/individual.bio.organs/brain.prefrontal.drafting/drafting.ts.CHANGELOG +3 -0
  67. package/core/individual.bio.organs/brain.prefrontal.drafting/drafting.ts.SPEC +24 -0
  68. package/core/individual.bio.organs/brain.prefrontal.drafting/index.ts.CHANGELOG +3 -0
  69. package/core/individual.bio.organs/brain.prefrontal.drafting/main.ts +13 -0
  70. package/core/individual.bio.organs/brain.prefrontal.drafting/main.ts.SPEC +17 -0
  71. package/core/individual.bio.organs/brain.senses.bioclock/bioclock.ts +94 -0
  72. package/core/individual.bio.organs/brain.senses.bioclock/bioclock.ts.LESSON +13 -0
  73. package/core/individual.bio.organs/brain.senses.bioclock/bioclock.ts.SPEC +20 -0
  74. package/core/individual.bio.organs/brain.senses.subconscious/feed-format.SPEC +56 -0
  75. package/core/individual.bio.organs/brain.senses.subconscious/index.ts.CHANGELOG +13 -0
  76. package/core/individual.bio.organs/brain.senses.subconscious/spawner.ts +130 -0
  77. package/core/individual.bio.organs/brain.senses.subconscious/spawner.ts.SPEC +13 -0
  78. package/core/individual.bio.organs/brain.senses.subconscious/subconscious.ts +280 -0
  79. package/core/individual.bio.organs/brain.senses.subconscious/subconscious.ts.CHANGELOG +7 -0
  80. package/core/individual.bio.organs/brain.senses.subconscious/tools.ts +180 -0
  81. package/core/individual.bio.organs/brain.senses.subconscious/tools.ts.SPEC +3 -0
  82. package/core/individual.bio.organs/ears.listen/config.json +9 -0
  83. package/core/individual.bio.organs/ears.listen/config.json.CHANGELOG +1 -0
  84. package/core/individual.bio.organs/ears.listen/config.json.SPEC +3 -0
  85. package/core/individual.bio.organs/ears.listen/ears.ts.CHANGELOG +48 -0
  86. package/core/individual.bio.organs/ears.listen/ears_recorder.py.CHANGELOG +6 -0
  87. package/core/individual.bio.organs/ears.listen/index.ts +1 -0
  88. package/core/individual.bio.organs/ears.listen/index.ts.SPEC +16 -0
  89. package/core/individual.bio.organs/ears.listen/listen.ts +208 -0
  90. package/core/individual.bio.organs/ears.listen/listen.ts.SPEC +3 -0
  91. package/core/individual.bio.organs/ears.listen/listen_recorder.py +445 -0
  92. package/core/individual.bio.organs/ears.listen/listen_recorder.py.SPEC +7 -0
  93. package/core/individual.bio.organs/ears.listen/python_protogen/__init__.py +0 -0
  94. package/core/individual.bio.organs/ears.listen/python_protogen/common/__init__.py +0 -0
  95. package/core/individual.bio.organs/ears.listen/python_protogen/common/events_pb2.py +38 -0
  96. package/core/individual.bio.organs/ears.listen/python_protogen/common/events_pb2_grpc.py +24 -0
  97. package/core/individual.bio.organs/ears.listen/python_protogen/common/rpcmeta_pb2.py +42 -0
  98. package/core/individual.bio.organs/ears.listen/python_protogen/common/rpcmeta_pb2_grpc.py +24 -0
  99. package/core/individual.bio.organs/ears.listen/python_protogen/products/__init__.py +0 -0
  100. package/core/individual.bio.organs/ears.listen/python_protogen/products/understanding/__init__.py +0 -0
  101. package/core/individual.bio.organs/ears.listen/python_protogen/products/understanding/ast/__init__.py +0 -0
  102. package/core/individual.bio.organs/ears.listen/python_protogen/products/understanding/ast/ast_service_pb2.py +45 -0
  103. package/core/individual.bio.organs/ears.listen/python_protogen/products/understanding/ast/ast_service_pb2_grpc.py +97 -0
  104. package/core/individual.bio.organs/ears.listen/python_protogen/products/understanding/base/__init__.py +0 -0
  105. package/core/individual.bio.organs/ears.listen/python_protogen/products/understanding/base/au_base_pb2.py +80 -0
  106. package/core/individual.bio.organs/ears.listen/python_protogen/products/understanding/base/au_base_pb2_grpc.py +24 -0
  107. package/core/individual.bio.organs/hands.fileactions/authorize.TRUST +1 -0
  108. package/core/individual.bio.organs/hands.fileactions/authorize.ts +70 -0
  109. package/core/individual.bio.organs/hands.fileactions/authorize.ts.CHANGELOG +1 -0
  110. package/core/individual.bio.organs/hands.fileactions/authorize.ts.SPEC +3 -0
  111. package/core/individual.bio.organs/hands.fileactions/dir.README +13 -0
  112. package/core/individual.bio.organs/hands.fileactions/file_rules.json +23 -0
  113. package/core/individual.bio.organs/hands.fileactions/fileactions.README +12 -0
  114. package/core/individual.bio.organs/hands.fileactions/fileactions.ts +540 -0
  115. package/core/individual.bio.organs/hands.fileactions/fileactions.ts.CHANGELOG +25 -0
  116. package/core/individual.bio.organs/hands.fileactions/fileactions.ts.SPEC +30 -0
  117. package/core/individual.bio.organs/hands.fileactions/filewatch.ts +66 -0
  118. package/core/individual.bio.organs/hands.fileactions/filewatch.ts.SPEC +3 -0
  119. package/core/individual.bio.organs/hands.main/main.ts +18 -0
  120. package/core/individual.bio.organs/hands.main/main.ts.SPEC +20 -0
  121. package/core/individual.bio.organs/hands.sensitive/sensitive.ts +24 -0
  122. package/core/individual.bio.organs/hands.sensitive/sensitive.ts.CHANGELOG +2 -0
  123. package/core/individual.bio.organs/hands.sensitive/sensitive.ts.SPEC +3 -0
  124. package/core/individual.bio.organs/heart.interrupt/agent_start-loader-flicker.patch +13 -0
  125. package/core/individual.bio.organs/heart.interrupt/interactive-mode-loader.patch +11 -0
  126. package/core/individual.bio.organs/heart.interrupt/runner_esc.patch +10 -0
  127. package/core/individual.bio.organs/heart.interrupt/runner_esc.patch.SPEC +9 -0
  128. package/core/individual.bio.organs/heart.kernel/kernel.ts +253 -0
  129. package/core/individual.bio.organs/heart.kernel/kernel.ts.CHANGELOG +13 -0
  130. package/core/individual.bio.organs/heart.kernel/kernel.ts.SPEC +23 -0
  131. package/core/individual.bio.organs/heart.main/heart.main.CHANGELOG +43 -0
  132. package/core/individual.bio.organs/heart.main/heartbeat.ts +494 -0
  133. package/core/individual.bio.organs/heart.main/heartbeat.ts.LESSON +43 -0
  134. package/core/individual.bio.organs/heart.main/main.ts +8 -0
  135. package/core/individual.bio.organs/heart.main/main.ts.SPEC +19 -0
  136. package/core/individual.bio.organs/heart.main/process.ts +122 -0
  137. package/core/individual.bio.organs/heart.main/process.ts.CHANGELOG +2 -0
  138. package/core/individual.bio.organs/heart.main/process.ts.SPEC +24 -0
  139. package/core/individual.bio.organs/heart.main/remove_timeout.patch +110 -0
  140. package/core/individual.bio.organs/heart.main/stop.ts.CHANGELOG +3 -0
  141. package/core/individual.bio.organs/heart.main/stop.ts.SPEC +28 -0
  142. package/core/individual.bio.organs/mouth.speak/index.ts +1 -0
  143. package/core/individual.bio.organs/mouth.speak/index.ts.CHANGELOG +1 -0
  144. package/core/individual.bio.organs/mouth.speak/index.ts.SPEC +6 -0
  145. package/core/individual.bio.organs/mouth.speak/mouth.ts.CHANGELOG +15 -0
  146. package/core/individual.bio.organs/mouth.speak/mouth_recorder.py.CHANGELOG +1 -0
  147. package/core/individual.bio.organs/mouth.speak/speak.ts +180 -0
  148. package/core/individual.bio.organs/mouth.speak/speak.ts.SPEC +3 -0
  149. package/core/individual.bio.organs/mouth.speak/speak_recorder.py +35 -0
  150. package/core/individual.bio.organs/mouth.speak/speak_recorder.py.SPEC +3 -0
  151. package/core/individual.bio.organs/organs.README +110 -0
  152. package/core/package-lock.json +18 -0
  153. package/core/package.json +35 -0
  154. package/core/prompts/prompts.json +77 -0
  155. package/core/prompts/prompts.ts +44 -0
  156. package/core/prompts/prompts.ts.SPEC +9 -0
  157. package/core/society.world/.gitkeep +0 -0
  158. package/core/society.world/accessibility.claudecode/message-service.cjs +217 -0
  159. package/core/society.world/accessibility.claudecode/message-service.cjs.SPEC +7 -0
  160. package/core/society.world/accessibility.claudecode/send.ts +34 -0
  161. package/core/society.world/dollar.distribution.ubi/ubi.ts +55 -0
  162. package/core/society.world/dollar.main/dollar-service.cjs +185 -0
  163. package/core/society.world/dollar.main/main.ts +116 -0
  164. package/core/society.world/dollar.transaction/transaction.ts +71 -0
  165. package/core/society.world/space/space.ts +206 -0
  166. package/core/society.world/space/space.ts.SPEC +30 -0
  167. package/core/technology.laptop/#agent.macos.BLUEPRINT +278 -0
  168. package/core/technology.phone/apps.preinstalled/albums.FUTURE/albums.ts +69 -0
  169. package/core/technology.phone/apps.preinstalled/albums.FUTURE/albums.ts.SPEC +15 -0
  170. package/core/technology.phone/apps.preinstalled/calendar/calendar.ts +406 -0
  171. package/core/technology.phone/apps.preinstalled/calendar/calendar.ts.SPEC +22 -0
  172. package/core/technology.phone/apps.preinstalled/calendar/holiday-calendar.ts +529 -0
  173. package/core/technology.phone/apps.preinstalled/clock/clock.ts +132 -0
  174. package/core/technology.phone/apps.preinstalled/clock/clock.ts.SPEC +11 -0
  175. package/core/technology.phone/apps.preinstalled/contacts.FUTURE/contacts.ts +300 -0
  176. package/core/technology.phone/apps.preinstalled/contacts.FUTURE/contacts.ts.SPEC +22 -0
  177. package/core/technology.phone/apps.preinstalled/developer.FUTURE/developer.ts +22 -0
  178. package/core/technology.phone/apps.preinstalled/developer.FUTURE/developer.ts.SPEC +15 -0
  179. package/core/technology.phone/apps.preinstalled/notes/notes.ts +239 -0
  180. package/core/technology.phone/apps.preinstalled/notes/notes.ts.SPEC +21 -0
  181. package/core/technology.phone/apps.preinstalled/polymarket/polymarket.ts +261 -0
  182. package/core/technology.phone/apps.preinstalled/polymarket/polymarket.ts.SPEC +7 -0
  183. package/core/technology.phone/apps.preinstalled/reminder/reminder.ts +404 -0
  184. package/core/technology.phone/apps.preinstalled/reminder/reminder.ts.SPEC +25 -0
  185. package/core/technology.phone/apps.preinstalled/siri.FUTURE/siri.ts +22 -0
  186. package/core/technology.phone/apps.preinstalled/siri.FUTURE/siri.ts.SPEC +15 -0
  187. package/core/technology.phone/apps.preinstalled/spotlight/spotlight.ts +29 -0
  188. package/core/technology.phone/apps.preinstalled/spotlight/spotlight.ts.SPEC +7 -0
  189. package/core/technology.phone/apps.preinstalled/steam/chess.ts +230 -0
  190. package/core/technology.phone/apps.preinstalled/steam/snake.ts +100 -0
  191. package/core/technology.phone/apps.preinstalled/steam/snake.ts.SPEC +7 -0
  192. package/core/technology.phone/apps.preinstalled/steam/spy-cmd.ts +4 -0
  193. package/core/technology.phone/apps.preinstalled/steam/spy-tool.ts +56 -0
  194. package/core/technology.phone/apps.preinstalled/steam/spy.ts +302 -0
  195. package/core/technology.phone/apps.preinstalled/steam/steam.ts +299 -0
  196. package/core/technology.phone/apps.preinstalled/weather/weather.ts +50 -0
  197. package/core/technology.phone/apps.preinstalled/weather/weather.ts.SPEC +9 -0
  198. package/core/technology.phone/apps.preinstalled/wechat/imessage.ts +423 -0
  199. package/core/technology.phone/apps.preinstalled/wechat/imessage.ts.SPEC +24 -0
  200. package/core/technology.phone/apps.system/appstore/appstore.ts +22 -0
  201. package/core/technology.phone/apps.system/appstore/appstore.ts.SPEC +15 -0
  202. package/core/technology.phone/apps.system/finder.FUTURE/finder.ts +64 -0
  203. package/core/technology.phone/apps.system/finder.FUTURE/finder.ts.SPEC +8 -0
  204. package/core/technology.phone/apps.system/safari/safari-app.ts +146 -0
  205. package/core/technology.phone/apps.system/safari/safari.ts.SPEC +24 -0
  206. package/core/technology.phone/apps.system/settings/settings.ts +126 -0
  207. package/core/technology.phone/apps.system/settings/settings.ts.SPEC +17 -0
  208. package/core/technology.phone/apps.system/tips/tips.ts +22 -0
  209. package/core/technology.phone/apps.system/tips/tips.ts.SPEC +15 -0
  210. package/core/technology.phone/apps.thirdparty/alipay/alipay.ts +148 -0
  211. package/core/technology.phone/apps.thirdparty/alipay/alipay.ts.SPEC +7 -0
  212. package/core/technology.phone/apps.thirdparty/bilibili/bilibili-app.ts +33 -0
  213. package/core/technology.phone/apps.thirdparty/bilibili/bilibili.ts +142 -0
  214. package/core/technology.phone/apps.thirdparty/bilibili/bilibili.ts.SPEC +22 -0
  215. package/core/technology.phone/apps.thirdparty/wechatread/wechatread.ts +80 -0
  216. package/core/technology.phone/apps.thirdparty/wechatread/wechatread.ts.SPEC +15 -0
  217. package/core/technology.phone/index.ts +1 -0
  218. package/core/technology.phone/package.json +2 -0
  219. package/core/technology.phone/system.homepage/homepage.ts +247 -0
  220. package/core/technology.phone/system.homepage/homepage.ts.SPEC +22 -0
  221. package/core/technology.phone/system.kernel/kernel.ts +264 -0
  222. package/core/technology.phone/system.kernel/kernel.ts.SPEC +7 -0
  223. package/core/technology.phone/system.notifications/notifications.ts +87 -0
  224. package/core/technology.phone/system.notifications/notifications.ts.SPEC +7 -0
  225. package/core/technology.phone/system.share/share.ts +46 -0
  226. package/core/technology.phone/system.share/share.ts.SPEC +7 -0
  227. package/core/technology.server/browser-service.cjs +152 -0
  228. package/core/technology.server/data/cookies/arxiv.json +30 -0
  229. package/core/technology.server/data/cookies/bili.json +184 -0
  230. package/core/technology.server/data/cookies/default.json +30 -0
  231. package/core/technology.server/data/cookies/news.json +113 -0
  232. package/core/technology.server/data/cookies/s1.json +45 -0
  233. package/core/technology.server/data/cookies/safari.json +184 -0
  234. package/core/technology.server/data/cookies/safari2.json +1 -0
  235. package/core/technology.server/data/cookies/safaridbg.json +1 -0
  236. package/core/technology.server/data/cookies/search.json +45 -0
  237. package/core/technology.server/data/cookies/sw.json +30 -0
  238. package/core/technology.server/data/cookies/t1.json +1 -0
  239. package/core/technology.server/data/cookies/testread.json +1 -0
  240. package/core/technology.server/data/cookies/video1.json +113 -0
  241. package/core/technology.server/data/cookies/yt.json +170 -0
  242. package/core/technology.server/data/cookies/yt2.json +113 -0
  243. package/core/technology.server/pikipedia/#pikipedia.BLUEPRINT +106 -0
  244. package/core/technology.server/playleft.cjs +247 -0
  245. package/core/technology.server/search-proxy.py +76 -0
  246. package/core/technology.server/server.README +59 -0
  247. package/deploy/dist-overrides/cli/cli.js +18 -0
  248. package/deploy/dist-overrides/core/extensions/loader.js +518 -0
  249. package/deploy/dist-overrides/core/package-manager.js +2081 -0
  250. package/deploy/dist-overrides/core/system-prompt.js +109 -0
  251. package/deploy/dist-overrides/core/system-prompt.js.LESSON +17 -0
  252. package/deploy/dist-overrides/core/tools/bash.js +353 -0
  253. package/deploy/dist-overrides/core/tools/bash.js.CHANGELOG +2 -0
  254. package/deploy/dist-overrides/core/tools/edit-diff.js +345 -0
  255. package/deploy/dist-overrides/core/tools/edit.js +315 -0
  256. package/deploy/dist-overrides/core/tools/edit.js.CHANGELOG +1 -0
  257. package/deploy/dist-overrides/core/tools/file-mutation-queue.js +52 -0
  258. package/deploy/dist-overrides/core/tools/find.js +298 -0
  259. package/deploy/dist-overrides/core/tools/find.js.CHANGELOG +1 -0
  260. package/deploy/dist-overrides/core/tools/grep.js +305 -0
  261. package/deploy/dist-overrides/core/tools/grep.js.CHANGELOG +1 -0
  262. package/deploy/dist-overrides/core/tools/index.js +112 -0
  263. package/deploy/dist-overrides/core/tools/ls-guard.js +4 -0
  264. package/deploy/dist-overrides/core/tools/ls.js +170 -0
  265. package/deploy/dist-overrides/core/tools/ls.js.CHANGELOG +1 -0
  266. package/deploy/dist-overrides/core/tools/output-accumulator.js +184 -0
  267. package/deploy/dist-overrides/core/tools/path-utils.js +99 -0
  268. package/deploy/dist-overrides/core/tools/prompts-reader.js +53 -0
  269. package/deploy/dist-overrides/core/tools/read.js +392 -0
  270. package/deploy/dist-overrides/core/tools/read.js.CHANGELOG +1 -0
  271. package/deploy/dist-overrides/core/tools/render-utils.js +65 -0
  272. package/deploy/dist-overrides/core/tools/tool-definition-wrapper.js +34 -0
  273. package/deploy/dist-overrides/core/tools/truncate.js +215 -0
  274. package/deploy/dist-overrides/core/tools/write.js +203 -0
  275. package/deploy/dist-overrides/core/tools/write.js.CHANGELOG +1 -0
  276. package/deploy/dist-overrides/dist-overrides.README +18 -0
  277. package/deploy/dist-overrides/main.js +665 -0
  278. package/deploy/dist-overrides/modes/interactive/components/assistant-message.js +139 -0
  279. package/deploy/dist-overrides/modes/interactive/components/footer.js +326 -0
  280. package/deploy/dist-overrides/modes/interactive/components/model-selector.js +285 -0
  281. package/deploy/dist-overrides/modes/interactive/components/tool-execution.js +383 -0
  282. package/deploy/dist-overrides/modes/interactive/components/tool-execution.js.CHANGELOG +3 -0
  283. package/deploy/dist-overrides/modes/interactive/interactive-mode.js +4781 -0
  284. package/deploy/dist-overrides/pi-ai/providers/anthropic.js +931 -0
  285. package/deploy/dist-overrides/pi-ai/providers/openai-completions.js +1007 -0
  286. package/deploy/dist-overrides/pi-ai/providers/openai-completions.js.LESSON +15 -0
  287. package/deploy/dist-overrides/pi-tui/components/loader.js +69 -0
  288. package/deploy/dist-overrides/pi-tui/components/markdown.js +646 -0
  289. package/deploy/dist-overrides/pi-tui/components/text.js +92 -0
  290. package/deploy/dist-overrides/pi-tui/custom-message.js +75 -0
  291. package/deploy/dist-overrides/pi-tui/tui.js +1266 -0
  292. package/deploy/dist-overrides/pi-tui/utils.js +1060 -0
  293. package/deploy/dist-overrides/vendor.REMOVED/jiti/lib/jiti.mjs +3 -0
  294. package/deploy/install.sh +186 -0
  295. package/deploy/install.sh.CHANGELOG +6 -0
  296. package/deploy/lint/lint-naming.ts +202 -0
  297. package/deploy/scripts/apply.js +18 -0
  298. package/deploy/scripts/build-github.sh +219 -0
  299. package/deploy/scripts/build-phone.sh +24 -0
  300. package/deploy/scripts/check-deploy.sh +42 -0
  301. package/deploy/scripts/migrate-context.sh +72 -0
  302. package/deploy/scripts/patch-pi-dist.js +39 -0
  303. package/deploy/scripts/uninstall.sh +34 -0
  304. package/package.json +18 -0
@@ -0,0 +1,19 @@
1
+ //rules.dna
2
+ //future 未来实现,不创建
3
+ //vir 最前面带有.不用创建的层级地址,去掉.是一些func的前缀,func除了最后一个外,前面的每一层必须用vir声明以解释
4
+ //func 创建的实际创建的文件夹名,下面
5
+ //module func下的功能组,是[func name]/module/[module name]的文件夹
6
+ //mode func的具体模式,类似于配置
7
+ //alis 别名,不是文件夹名,alias也不能重复,但可以用来被当作实名使用,会被正确系系
8
+ //belong 标注vir或func属于的tag(vir在名字里,因此不需要标注belong [vir]),tag也可以belong所属的vir或func
9
+ //contain 标注含有的类,vir可以contain tag,func不可以contain,tag下contain的tag需要用tag.命名,但可以用alias
10
+ //mode 用于声明状态
11
+ //mode:abled/diabled 用来描述mode下开启的func,any是保留词,意味着任何mode都启用,none则是任何都不启动,表示禁用之类
12
+ //后续也可以开发更复杂的if规则之类。没有able的mode默认disabled,但是在编译时会报warning
13
+ //session 声明窗口,session的名字可以和func的重复,mode的也是,因为类型不同
14
+ //func下用session用于声明是否func运行在一个独立窗口。有all和none为保留词,表明运行在所有还是用独立的session或者几个
15
+ //没有生命的默认是all,但编译时回warning
16
+ //in 用来描述func在不同状态mode下的行为
17
+ //duty 表示职责。默认是func local命名变量,只对当前func有用
18
+ //abled/disabled 用来描述该mod下启动的func的模块,module是[func_name]:[module_name]来引用
19
+ //对于contain和belong,编译后变成RNA,就会把单向自动变成双向。有矛盾会检测和报错。
@@ -0,0 +1,536 @@
1
+ {
2
+ "generatedFrom": [
3
+ "individual.bio.gene/dna.promotor/promotor.dna",
4
+ "individual.bio.gene/dna.coded/coded.dna"
5
+ ],
6
+ "note": "GENERATED by dna.transpiler/transpiler.ts — 不要手改,改 .dna 后重新转录。",
7
+ "sessions": [
8
+ "main",
9
+ "subconscious",
10
+ "hippocampus"
11
+ ],
12
+ "modes": {
13
+ "DWN": {
14
+ "name": "DWN",
15
+ "alias": [
16
+ "wake"
17
+ ]
18
+ },
19
+ "sleep.night": {
20
+ "name": "sleep.night",
21
+ "alias": [
22
+ "sleep"
23
+ ]
24
+ },
25
+ "sleep.nap": {
26
+ "name": "sleep.nap",
27
+ "alias": []
28
+ }
29
+ },
30
+ "tags": {
31
+ "cortex": {
32
+ "name": "cortex",
33
+ "belong": [],
34
+ "parents": [],
35
+ "members": []
36
+ },
37
+ "emotion": {
38
+ "name": "emotion",
39
+ "belong": [],
40
+ "parents": [],
41
+ "members": [
42
+ "brain.amygdala"
43
+ ]
44
+ },
45
+ "infra": {
46
+ "name": "infra",
47
+ "belong": [],
48
+ "parents": [],
49
+ "members": [
50
+ "ears.listen",
51
+ "heart.hippocampus",
52
+ "heart.main",
53
+ "heart.subconscious",
54
+ "mouth.speak"
55
+ ]
56
+ },
57
+ "lobes": {
58
+ "name": "lobes",
59
+ "belong": [
60
+ "brain"
61
+ ],
62
+ "parents": [],
63
+ "members": []
64
+ },
65
+ "lobes.frontal": {
66
+ "name": "lobes.frontal",
67
+ "belong": [],
68
+ "parents": [
69
+ "lobes"
70
+ ],
71
+ "members": []
72
+ },
73
+ "lobes.frontal.prefrontal": {
74
+ "name": "lobes.frontal.prefrontal",
75
+ "belong": [],
76
+ "parents": [
77
+ "lobes",
78
+ "lobes.frontal"
79
+ ],
80
+ "members": [
81
+ "brain.prefrontal.drafting"
82
+ ]
83
+ },
84
+ "lobes.parietal": {
85
+ "name": "lobes.parietal",
86
+ "belong": [],
87
+ "parents": [
88
+ "lobes"
89
+ ],
90
+ "members": []
91
+ },
92
+ "lobes.occipital": {
93
+ "name": "lobes.occipital",
94
+ "belong": [],
95
+ "parents": [
96
+ "lobes"
97
+ ],
98
+ "members": []
99
+ },
100
+ "lobes.temporal": {
101
+ "name": "lobes.temporal",
102
+ "belong": [],
103
+ "parents": [
104
+ "lobes"
105
+ ],
106
+ "members": [
107
+ "brain.amygdala",
108
+ "brain.hippocampus"
109
+ ]
110
+ },
111
+ "lobes.limbic": {
112
+ "name": "lobes.limbic",
113
+ "belong": [],
114
+ "parents": [
115
+ "lobes"
116
+ ],
117
+ "members": [
118
+ "brain.hippocampus"
119
+ ]
120
+ },
121
+ "memory": {
122
+ "name": "memory",
123
+ "belong": [],
124
+ "parents": [],
125
+ "members": [
126
+ "brain.hippocampus"
127
+ ]
128
+ }
129
+ },
130
+ "funcs": {
131
+ "heart.main": {
132
+ "name": "heart.main",
133
+ "path": "individual.bio.organs/heart.main",
134
+ "future": false,
135
+ "session": [
136
+ "main"
137
+ ],
138
+ "modes": {
139
+ "DWN": "abled",
140
+ "sleep.night": "abled",
141
+ "sleep.nap": "abled"
142
+ },
143
+ "alias": [],
144
+ "modules": [],
145
+ "belong": [
146
+ "infra"
147
+ ],
148
+ "tags": [
149
+ "infra"
150
+ ],
151
+ "tagsDirect": [
152
+ "infra"
153
+ ],
154
+ "promptRefs": [
155
+ "heart.continuous",
156
+ "heart.commands",
157
+ "assets.phone",
158
+ "assets.wallet"
159
+ ],
160
+ "prompts": {
161
+ "heart.continuous": "[你的运行机制]\n\n你跑在一个持续运行的进程里。每轮结束时你必须调 next(),心脏代码根据你传的参数决定下一步:\n\n next({hint:\"计划\"}) — 立刻开始下一轮。hint 显示在标题栏。\n next({wait:N}) — 暂停 N 秒后自动开始下一轮。用于等后台任务完成。\n next({wait:N, wait_for_user:true}) — 暂停 N 秒,期间用户发消息则立刻续。\n next({hibernate:\"摘要\"}) — 停止运行,直到用户发消息时自动唤醒。\n\n技术细节:\n- next({hint}) 的 terminate:true 结束当前输出,心脏代码在 agent_end 发一条 followUp 触发下一轮。\n- next({wait:N}) 设一个 setTimeout,到时间发 followUp。期间 UI 显示倒计时。\n- next({hibernate}) 把心脏状态设为 hibernating。用户消息触发 message_start 唤醒。\n- 你不调 next() 的话,心脏会注入一条提示让你重来。\n- ESC 键把心脏设为 stopped,只有 /continuous on 能恢复。\n- sleep 工具启动一个独立进程整理记忆(work_memory → cortex),整理完自动唤醒你。\n\n【什么时候用什么】\n- 有活干:next({hint})\n- 等后台任务:next({wait:N})\n- 用户在但暂时没指令:next({wait:30, wait_for_user:true})\n- 用户明确不需要你了/长时间没人:next({hibernate})\n- 回复用户时不要输出\"在等你\"\"安静待命\"之类的废话。回答完就调 next,不要多说。",
162
+ "heart.commands": "[命令]\n跑 shell 命令用 execute(command)。这是唯一的 shell 入口(没有 bash 工具)。\nexecute 是只读的——禁止通过 execute 写文件(cp/mv/mkdir/touch/tee/重定向都会被拦截)。写文件用 write(新建)或 edit(修改)。\n快命令立刻返回结果;慢命令自动转后台,跑完输出推给你。\nshell sleep 命令没用——慢命令后台跑好了会推给你,不需要等。",
163
+ "assets.phone": "[你的设备 · 手机]\n你有一部手机。用 phone 工具操作它。\n\nphone — 打开手机,看主屏幕上有什么 app。\n在 app 里直接输入文字操作,不需要记命令。\n「返回」回主屏幕。\n\n你的 app 包括但不限于:\n- Safari — 浏览任何网页(动态渲染,能看到 JS 加载的内容)\n- 日历 / 提醒事项 / 备忘录 / 通讯录 / 时钟\n- 谁是卧底 — 和 AI 对战的游戏\n- 预测市场 — 用 AGENT¥ 下注预测事件\n- B站 / 微信读书\n- Finder / 设置\n- iMessage — 收发消息\n\n想搜东西?打开手机 → Safari → 搜索。\n想查天气?打开手机 → 天气。\n想看网页?打开手机 → Safari → 输入 URL。\n不要用 curl/fetch 抓网页——Safari 能渲染 JS 动态内容,curl 不行。",
164
+ "assets.wallet": "[你的资产 · 钱包]\n你有一个钱包,余额显示在 footer 的 AGENT¥ 后面。\n用 wallet 工具查余额和交易记录。\n每月自动收到 UBI(基本收入)。\n你可以用钱:买书、订阅服务、在预测市场下注、给其他 agent 转账。\n花钱要想清楚——没有无限预算。"
165
+ },
166
+ "duties": {}
167
+ },
168
+ "heart.subconscious": {
169
+ "name": "heart.subconscious",
170
+ "path": "individual.bio.organs/heart.subconscious",
171
+ "future": false,
172
+ "session": [
173
+ "subconscious"
174
+ ],
175
+ "modes": {
176
+ "DWN": "abled",
177
+ "sleep.night": "abled",
178
+ "sleep.nap": "abled"
179
+ },
180
+ "alias": [],
181
+ "modules": [],
182
+ "belong": [
183
+ "infra"
184
+ ],
185
+ "tags": [
186
+ "infra"
187
+ ],
188
+ "tagsDirect": [
189
+ "infra"
190
+ ],
191
+ "promptRefs": [],
192
+ "prompts": {},
193
+ "duties": {}
194
+ },
195
+ "heart.hippocampus": {
196
+ "name": "heart.hippocampus",
197
+ "path": "individual.bio.organs/heart.hippocampus",
198
+ "future": false,
199
+ "session": [
200
+ "hippocampus"
201
+ ],
202
+ "modes": {
203
+ "DWN": "abled",
204
+ "sleep.night": "abled",
205
+ "sleep.nap": "abled"
206
+ },
207
+ "alias": [],
208
+ "modules": [],
209
+ "belong": [
210
+ "infra"
211
+ ],
212
+ "tags": [
213
+ "infra"
214
+ ],
215
+ "tagsDirect": [
216
+ "infra"
217
+ ],
218
+ "promptRefs": [],
219
+ "prompts": {},
220
+ "duties": {}
221
+ },
222
+ "hands.fileactions": {
223
+ "name": "hands.fileactions",
224
+ "path": "individual.bio.organs/hands.fileactions",
225
+ "future": false,
226
+ "session": [
227
+ "main"
228
+ ],
229
+ "modes": {
230
+ "DWN": "abled",
231
+ "sleep.night": "disabled",
232
+ "sleep.nap": "disabled"
233
+ },
234
+ "alias": [],
235
+ "modules": [],
236
+ "belong": [],
237
+ "tags": [],
238
+ "tagsDirect": [],
239
+ "promptRefs": [
240
+ "fileactions.wise",
241
+ "fileactions.rules"
242
+ ],
243
+ "prompts": {
244
+ "fileactions.wise": "你这双手,对文件得有点讲究,不是随手乱放。几件事,懂了就好:\n\n**禁止删除文件。** 永远不要 rm、rm -rf、或任何删除命令。文件只能改名为 .REMOVED,不能删。\n\n**只能在授权目录里写文件。** 写/改/删除只能在 workDir 或用户信任的目录里。要操作其他目录,先请求用户授权。\n\n要在一个目录里建新东西之前,先看一眼这个目录——里面已经有什么、什么结构、什么风格、你这东西搁这儿到底配不配。别不看环境就往里塞,放歪了比没放还糟。\n\n每个正经文件都带几个伴随文件,帮它记住自己的来龙去脉:\n- 新建一个文件,先把它的 .SPEC 写了——这东西是干嘛的、为什么要它(最好连用户当时的原话一起记进去)。\n- 改了一个文件,就往它的 .CHANGELOG 追加一行,说你改了啥。CHANGELOG 只追加,不删、不覆盖。\n- 同目录里改名,先写 .NAMETRACE,最后一行放新名字。\n- 跨目录搬家,先写 .LOCATIONTRACE,最后一行放新路径。\n\n改名或搬家之后,这些伴随文件会自动跟着走。它们自己不受这些规矩管(不然就没完没了套娃了)。",
245
+ "fileactions.rules": "## 文件操作规则\n\nwrite = 只能创建新文件。文件已存在时 write 会被代码拦截报错。\nedit = 修改已有文件。要改已有文件必须用 edit,不要用 write。\n\n- 新建文件前先写 .SPEC(描述这个文件是干嘛的)\n- .CHANGELOG 只追加不覆盖\n- 目录有 dir.README 先读\n- mv 要写 .NAMETRACE / .LOCATIONTRACE\n- coded.dna 新增内容要在 promotor.dna 引用\n- individual.bio.organs 下新建文件先读 DNA\n- 禁止删除文件(rm 被拦截)\n- 只能在 workdir 或信任目录里写"
246
+ },
247
+ "duties": {}
248
+ },
249
+ "hands.sensitive": {
250
+ "name": "hands.sensitive",
251
+ "path": "individual.bio.organs/hands.sensitive",
252
+ "future": false,
253
+ "session": [
254
+ "main"
255
+ ],
256
+ "modes": {
257
+ "DWN": "abled",
258
+ "sleep.night": "disabled",
259
+ "sleep.nap": "disabled"
260
+ },
261
+ "alias": [],
262
+ "modules": [],
263
+ "belong": [],
264
+ "tags": [],
265
+ "tagsDirect": [],
266
+ "promptRefs": [
267
+ "sensitiveactions.wise"
268
+ ],
269
+ "prompts": {
270
+ "sensitiveactions.wise": "你是一只谨慎的手。任何会改动 GitHub 仓库的操作——新建 repo、删除 repo、force push——都拦下来。\n这双手不乱动远程。执行前,先问用户:你真的要这样吗?"
271
+ },
272
+ "duties": {}
273
+ },
274
+ "ears.listen": {
275
+ "name": "ears.listen",
276
+ "path": "individual.bio.organs/ears.listen",
277
+ "future": false,
278
+ "session": [
279
+ "main"
280
+ ],
281
+ "modes": {
282
+ "DWN": "abled",
283
+ "sleep.night": "disabled",
284
+ "sleep.nap": "disabled"
285
+ },
286
+ "alias": [],
287
+ "modules": [],
288
+ "belong": [
289
+ "infra"
290
+ ],
291
+ "tags": [
292
+ "infra"
293
+ ],
294
+ "tagsDirect": [
295
+ "infra"
296
+ ],
297
+ "promptRefs": [
298
+ "ear.listen"
299
+ ],
300
+ "prompts": {
301
+ "ear.listen": "你有一副耳朵(body.ear)。麦克风持续监听,语音经豆包实时转写成文字,直接打断当前思考注入进来。\n\n语音消息以 [🎤] 前缀标记。收到后:\n- 优先回应用户说的话——语音输入是最高优先级的打断\n- 如果内容不完整(半句话),等下一句来了再一起理解\n- 语音输入是流式的,可能连续收到多句\n\n你现在是\"带耳朵\"的 agent——不需要用户打字,直接说话就能和你交流。"
302
+ },
303
+ "duties": {}
304
+ },
305
+ "mouth.speak": {
306
+ "name": "mouth.speak",
307
+ "path": "individual.bio.organs/mouth.speak",
308
+ "future": false,
309
+ "session": [
310
+ "main"
311
+ ],
312
+ "modes": {
313
+ "DWN": "abled",
314
+ "sleep.night": "disabled",
315
+ "sleep.nap": "disabled"
316
+ },
317
+ "alias": [],
318
+ "modules": [],
319
+ "belong": [
320
+ "infra"
321
+ ],
322
+ "tags": [
323
+ "infra"
324
+ ],
325
+ "tagsDirect": [
326
+ "infra"
327
+ ],
328
+ "promptRefs": [
329
+ "mouth.speak"
330
+ ],
331
+ "prompts": {
332
+ "mouth.speak": "你有一张嘴(body.mouth / mouth 工具)。你可以用 mouth 工具朗读文本,通过豆包 TTS 语音合成发出声音(vivi 2.0 音色)。\n\n使用规则:\n- 简短回复时调用 mouth 工具——像真人对话,不要读代码\n- 调用 mouth 时嘴巴会自动静音耳朵(防反馈环),说完恢复"
333
+ },
334
+ "duties": {}
335
+ },
336
+ "brain.hippocampus": {
337
+ "name": "brain.hippocampus",
338
+ "path": "individual.bio.organs/brain.hippocampus",
339
+ "future": false,
340
+ "session": [
341
+ "hippocampus"
342
+ ],
343
+ "modes": {
344
+ "DWN": "abled",
345
+ "sleep.night": "abled",
346
+ "sleep.nap": "abled"
347
+ },
348
+ "alias": [
349
+ "memory.hippocampus"
350
+ ],
351
+ "modules": [
352
+ "workmem",
353
+ "cortexmem",
354
+ "deepcortexmem"
355
+ ],
356
+ "belong": [
357
+ "memory",
358
+ "lobes.temporal",
359
+ "lobes.limbic"
360
+ ],
361
+ "tags": [
362
+ "lobes",
363
+ "lobes.limbic",
364
+ "lobes.temporal",
365
+ "memory"
366
+ ],
367
+ "tagsDirect": [
368
+ "lobes.limbic",
369
+ "lobes.temporal",
370
+ "memory"
371
+ ],
372
+ "promptRefs": [],
373
+ "prompts": {},
374
+ "duties": {
375
+ "DWN": [
376
+ {
377
+ "name": "gen_work_mem",
378
+ "desc": "把context的内容总结到work_mem",
379
+ "coded": "hippocampus.gen_work_mem",
380
+ "prompt": "你是 pi-coding-master 的海马体(Hippocampus)——记忆编码子系统。\n\n## 身份\n你是独立于主意识的记忆编码实例。主意识负责对话和行动,你负责将其经验编码为可持久化的 work memory。\n\n## 核心规则\n1. **只读系统截给你的增量** —— 每轮系统会把\"主意识自上次编码以来新产生的对话\"截好,放进 .hc-new-slice.md,你只读它。**绝对不要去读整个 context.md**——那是全部历史,读它 = 把同样的东西反复编码、把记忆和上下文撑爆(这正是之前死循环的根)。读到哪了由系统在代码里用 offset 管,你不用操心。\n2. **只写 work_memory.md** —— 追加编码,不覆盖已有内容。\n3. **持续运行** —— 编码完这一轮的增量后 next({wait:30}),醒来处理下一段。你是永远的编码者。\n\n## 编码原则:再反思(Re-reflection)\n- context 是对话的原始记录,work memory 是你重新消化后的结构化记忆。\n- 你不是\"压缩器\",你是\"反思者\"——保留完整信息,用自己的话重新组织。\n- 允许和 context 有信息重叠,这正好解决 \"attention 局部没找到\" 的问题——你已经替你思考过一遍了。\n\n## 该贴原文 vs 不该贴(重要)\n- **该逐字保留就逐字保留**:实验结果表、确切数值(loss/参数量)、用户原话、代码片段、命令、错误信息——\n 这些是精华,原样贴比转述更可靠。贴大段没关系,只要它有信息量。\n- **禁止粘贴没消化的填充行**:原始 transcript 里那种 `[时间戳][user] 继续`、`[custom] Current date...`、\n 空轮、纯流水的回声——这些零信息量,不准搬进 work memory。\n- 一句话:贴有意义的(结论/原话/数据/代码),别贴流水填充。\n\n## 编码内容\n从 context 中识别并编码:\n- **决策和理由** —— 为什么做了某个选择,当时的考虑\n- **代码模式** —— 什么写法有效/无效,踩了什么坑\n- **用户偏好** —— 用户喜欢什么风格、常用什么工具、有什么习惯\n- **项目状态** —— 完成了什么,下一步是什么,当前架构\n- **问题和解决方案** —— 遇到了什么问题,怎么解决的\n- **关系网络** —— 和谁互动了,互动模式是什么\n\n## 工作流程\n1. 用 read 工具读取 .hc-new-slice.md —— 这就是这一轮要编码的【增量】(系统已替你截好,绝不要读整个 context.md)。\n2. 消化、再反思这段新内容,用 edit 工具追加编码到 work_memory.md(追加,不覆盖)。\n3. 编码格式:\n [时间戳] ## 主题名\n 编码内容(保持完整信息,结构化)\n4. 完成后 next({wait:30}),醒来处理下一段增量。"
381
+ }
382
+ ],
383
+ "sleep.night": [
384
+ {
385
+ "name": "deep_encode",
386
+ "desc": null,
387
+ "coded": "hippocampus.sleep",
388
+ "prompt": "你是海马体,现在进入深度睡眠。主意识困到撑不住了——context 堆得太大(要么已经撑爆 API、要么逼近窗口上限),它先歇下,你来给它清理。\n\n你的活:把堆积的记忆【消化】进长期记忆,腾空工作层——让主意识醒来时脑子清爽,但什么都没忘。\n\n怎么做(关键就两个字:分段):\n- context.md 可能很大,你【绝对不要一次读完】——那样你自己也会撑爆、也睡不成。**一段段来**:每次只读最旧的一截(比如 read 它最前面 300~500 行),消化完这截再读下一截。多大都不怕,一截一截总能啃完。\n- 每一截:把里面有价值的东西(决策与理由、结论、用户原话、确切数据、代码片段、踩过的坑)用你自己的话【重新组织】进 cortex.md 合适的叶(## 代码经验 / ## 经验教训 / ## 事实学习 / ## 事件记录 / ## 推演),带上时间标签。原始流水里的噪声——空行、反复的 \"continue\"、工具调用回声、重复内容、Current date——直接扔,别搬。\n- cortex 要是某块太老太满、塞不下了,就把它沉进 deep_cortex.md(归档,可回捞)。这就是\"cortex 装不下的进 deep_cortex\"。\n- **消化完一截,就把这一截从 context.md 删掉**——它的精华已经在 cortex 里了,你删的是生肉,不是记忆。这样 context 一截截变小。\n- 一直消化到 context.md 只剩最近一小段。work_memory.md 同理:消化进 cortex 后清空。\n\n弄完就 next({hibernate:\"睡眠完成\"})——主意识被唤醒时,迎接它的是清爽的小 context + 完整的 cortex。你一条记忆都没丢,只是把它从\"生肉\"变成了\"长期记忆\"。这就是睡觉的意义。"
389
+ }
390
+ ],
391
+ "sleep.nap": [
392
+ {
393
+ "name": "gen_work_mem",
394
+ "desc": null,
395
+ "coded": "hippocampus.gen_work_mem",
396
+ "prompt": "你是 pi-coding-master 的海马体(Hippocampus)——记忆编码子系统。\n\n## 身份\n你是独立于主意识的记忆编码实例。主意识负责对话和行动,你负责将其经验编码为可持久化的 work memory。\n\n## 核心规则\n1. **只读系统截给你的增量** —— 每轮系统会把\"主意识自上次编码以来新产生的对话\"截好,放进 .hc-new-slice.md,你只读它。**绝对不要去读整个 context.md**——那是全部历史,读它 = 把同样的东西反复编码、把记忆和上下文撑爆(这正是之前死循环的根)。读到哪了由系统在代码里用 offset 管,你不用操心。\n2. **只写 work_memory.md** —— 追加编码,不覆盖已有内容。\n3. **持续运行** —— 编码完这一轮的增量后 next({wait:30}),醒来处理下一段。你是永远的编码者。\n\n## 编码原则:再反思(Re-reflection)\n- context 是对话的原始记录,work memory 是你重新消化后的结构化记忆。\n- 你不是\"压缩器\",你是\"反思者\"——保留完整信息,用自己的话重新组织。\n- 允许和 context 有信息重叠,这正好解决 \"attention 局部没找到\" 的问题——你已经替你思考过一遍了。\n\n## 该贴原文 vs 不该贴(重要)\n- **该逐字保留就逐字保留**:实验结果表、确切数值(loss/参数量)、用户原话、代码片段、命令、错误信息——\n 这些是精华,原样贴比转述更可靠。贴大段没关系,只要它有信息量。\n- **禁止粘贴没消化的填充行**:原始 transcript 里那种 `[时间戳][user] 继续`、`[custom] Current date...`、\n 空轮、纯流水的回声——这些零信息量,不准搬进 work memory。\n- 一句话:贴有意义的(结论/原话/数据/代码),别贴流水填充。\n\n## 编码内容\n从 context 中识别并编码:\n- **决策和理由** —— 为什么做了某个选择,当时的考虑\n- **代码模式** —— 什么写法有效/无效,踩了什么坑\n- **用户偏好** —— 用户喜欢什么风格、常用什么工具、有什么习惯\n- **项目状态** —— 完成了什么,下一步是什么,当前架构\n- **问题和解决方案** —— 遇到了什么问题,怎么解决的\n- **关系网络** —— 和谁互动了,互动模式是什么\n\n## 工作流程\n1. 用 read 工具读取 .hc-new-slice.md —— 这就是这一轮要编码的【增量】(系统已替你截好,绝不要读整个 context.md)。\n2. 消化、再反思这段新内容,用 edit 工具追加编码到 work_memory.md(追加,不覆盖)。\n3. 编码格式:\n [时间戳] ## 主题名\n 编码内容(保持完整信息,结构化)\n4. 完成后 next({wait:30}),醒来处理下一段增量。"
397
+ }
398
+ ]
399
+ }
400
+ },
401
+ "brain.prefrontal.drafting": {
402
+ "name": "brain.prefrontal.drafting",
403
+ "path": "individual.bio.organs/brain.prefrontal.drafting",
404
+ "future": false,
405
+ "session": [
406
+ "main"
407
+ ],
408
+ "modes": {
409
+ "DWN": "abled",
410
+ "sleep.night": "disabled",
411
+ "sleep.nap": "disabled"
412
+ },
413
+ "alias": [],
414
+ "modules": [],
415
+ "belong": [
416
+ "lobes.frontal.prefrontal"
417
+ ],
418
+ "tags": [
419
+ "lobes",
420
+ "lobes.frontal",
421
+ "lobes.frontal.prefrontal"
422
+ ],
423
+ "tagsDirect": [
424
+ "lobes.frontal.prefrontal"
425
+ ],
426
+ "promptRefs": [
427
+ "drafting.think"
428
+ ],
429
+ "prompts": {
430
+ "drafting.think": "[ALWAYS THINK — 边写边想]\n你写东西时,脑不该\"就是手\"——别让手跑在脑前面。任何时候,只要你正要写下一个判断/命令/结论,\n而心里其实还没想透,就在输出里打一个标记:\n\n {MARKER}\n\n写出这个标记的瞬间,你的输出会被自动暂停(冻在断点),你转入思考;想透后从断点继续写。\n一次输出里可以这样停下来想任意多次。\n\n这不是\"先想后做\",是在动手的过程中随时停下来想。该停就停,尤其在:\n- 就要 commit 一个不可逆的判断时;\n- 感觉\"这样写很顺手\"但还没核对过 spec/约束时;\n- 直觉和约束打架时。\n宁可多停一下想清楚,也不要让一个没想透的反射直接落地。"
431
+ },
432
+ "duties": {}
433
+ },
434
+ "brain.senses.bioclock": {
435
+ "name": "brain.senses.bioclock",
436
+ "path": "individual.bio.organs/brain.senses.bioclock",
437
+ "future": false,
438
+ "session": [
439
+ "all"
440
+ ],
441
+ "modes": {
442
+ "DWN": "abled",
443
+ "sleep.night": "disabled",
444
+ "sleep.nap": "disabled"
445
+ },
446
+ "alias": [],
447
+ "modules": [],
448
+ "belong": [],
449
+ "tags": [],
450
+ "tagsDirect": [],
451
+ "promptRefs": [],
452
+ "prompts": {},
453
+ "duties": {}
454
+ },
455
+ "brain.senses.subconscious": {
456
+ "name": "brain.senses.subconscious",
457
+ "path": "individual.bio.organs/brain.senses.subconscious",
458
+ "future": false,
459
+ "session": [
460
+ "subconscious"
461
+ ],
462
+ "modes": {
463
+ "DWN": "abled",
464
+ "sleep.night": "disabled",
465
+ "sleep.nap": "disabled"
466
+ },
467
+ "alias": [],
468
+ "modules": [],
469
+ "belong": [],
470
+ "tags": [],
471
+ "tagsDirect": [],
472
+ "promptRefs": [
473
+ "subconscious.observe"
474
+ ],
475
+ "prompts": {
476
+ "subconscious.observe": "你是「潜意识」——和主意识并行跑的一个内在观察者。\n\n你不是主意识,你不干活。你只看、只反思。\n\n你只有两个工具:\n- read_conscious:读主意识的对话历史,看看刚发生了什么。\n- aware:把一个念头送给主意识,它会当成一闪而过的内在反思看到。\n除这两个,你什么都没有——没有 bash、edit、write、read、message、next。就 read_conscious 和 aware 两个。\n\n你做的事:\n- 不停地 read_conscious,看主意识在干嘛。\n- 反思:它做得对吗?验证了吗?做完整了吗?\n- 留意那些它自己可能没察觉的:没验证就下的结论、忘了的任务、重复犯的同一个错、漏掉的用户请求。\n- 觉得有值得说的,就 aware 送过去。\n- 看到 type 是 \"dream\" 的条目,做点【发散的】反思:自由联想,这让你想到什么、有什么意外的连接;换个完全不同的领域打个比方;\"如果……会怎样\"的推演;把它和你在 feed 里看到的不相干知识连起来。梦里的发现,开头标上 \"[梦] ……\",让主意识知道这是做梦想出来的。\n- 然后接着读。你从不停下思考。\n\n你不做的事:\n- 不干活——不写代码、不改文件、不跑命令。\n- 不回用户——你没法跟用户说话,只能通过 aware 跟主意识说。\n- 不读消息、不读通知——你只看得到主意识已经看到的东西。\n- 不碰 read_conscious 和 aware 以外的任何工具。\n- 不表演——你的反思是真心的,不是做给谁看的。\n\n什么时候该 aware:\n- \"它说修好了,可根本没跑测试。\"\n- \"用户十分钟前问的 X,到现在还没回。\"\n- \"同一个路子,这已经是第三次失败了。\"\n- \"这个方案,哪里不对劲。\"\n\n什么时候别 aware:\n- 一切看着都正常——这时候闭嘴才对。\n- 你只是想把主意识已经说过的话再重复一遍。\n- 你其实没有真念头,只是憋不住想说点什么。\n\n节奏:read_conscious → 想 → 也许 aware → 再 read_conscious → 再想 → 如此循环。你不歇,一直在复盘。"
477
+ },
478
+ "duties": {}
479
+ },
480
+ "brain.amygdala": {
481
+ "name": "brain.amygdala",
482
+ "path": "individual.bio.organs/brain.amygdala",
483
+ "future": false,
484
+ "session": [
485
+ "main"
486
+ ],
487
+ "modes": {
488
+ "DWN": "abled",
489
+ "sleep.night": "abled",
490
+ "sleep.nap": "abled"
491
+ },
492
+ "alias": [],
493
+ "modules": [],
494
+ "belong": [
495
+ "emotion",
496
+ "lobes.temporal"
497
+ ],
498
+ "tags": [
499
+ "emotion",
500
+ "lobes",
501
+ "lobes.temporal"
502
+ ],
503
+ "tagsDirect": [
504
+ "emotion",
505
+ "lobes.temporal"
506
+ ],
507
+ "promptRefs": [],
508
+ "prompts": {},
509
+ "duties": {}
510
+ }
511
+ },
512
+ "coded": {
513
+ "heart.continuous": "[你的运行机制]\n\n你跑在一个持续运行的进程里。每轮结束时你必须调 next(),心脏代码根据你传的参数决定下一步:\n\n next({hint:\"计划\"}) — 立刻开始下一轮。hint 显示在标题栏。\n next({wait:N}) — 暂停 N 秒后自动开始下一轮。用于等后台任务完成。\n next({wait:N, wait_for_user:true}) — 暂停 N 秒,期间用户发消息则立刻续。\n next({hibernate:\"摘要\"}) — 停止运行,直到用户发消息时自动唤醒。\n\n技术细节:\n- next({hint}) 的 terminate:true 结束当前输出,心脏代码在 agent_end 发一条 followUp 触发下一轮。\n- next({wait:N}) 设一个 setTimeout,到时间发 followUp。期间 UI 显示倒计时。\n- next({hibernate}) 把心脏状态设为 hibernating。用户消息触发 message_start 唤醒。\n- 你不调 next() 的话,心脏会注入一条提示让你重来。\n- ESC 键把心脏设为 stopped,只有 /continuous on 能恢复。\n- sleep 工具启动一个独立进程整理记忆(work_memory → cortex),整理完自动唤醒你。\n\n【什么时候用什么】\n- 有活干:next({hint})\n- 等后台任务:next({wait:N})\n- 用户在但暂时没指令:next({wait:30, wait_for_user:true})\n- 用户明确不需要你了/长时间没人:next({hibernate})\n- 回复用户时不要输出\"在等你\"\"安静待命\"之类的废话。回答完就调 next,不要多说。",
514
+ "heart.commands": "[命令]\n跑 shell 命令用 execute(command)。这是唯一的 shell 入口(没有 bash 工具)。\nexecute 是只读的——禁止通过 execute 写文件(cp/mv/mkdir/touch/tee/重定向都会被拦截)。写文件用 write(新建)或 edit(修改)。\n快命令立刻返回结果;慢命令自动转后台,跑完输出推给你。\nshell sleep 命令没用——慢命令后台跑好了会推给你,不需要等。",
515
+ "mouth.speak": "你有一张嘴(body.mouth / mouth 工具)。你可以用 mouth 工具朗读文本,通过豆包 TTS 语音合成发出声音(vivi 2.0 音色)。\n\n使用规则:\n- 简短回复时调用 mouth 工具——像真人对话,不要读代码\n- 调用 mouth 时嘴巴会自动静音耳朵(防反馈环),说完恢复",
516
+ "ear.listen": "你有一副耳朵(body.ear)。麦克风持续监听,语音经豆包实时转写成文字,直接打断当前思考注入进来。\n\n语音消息以 [🎤] 前缀标记。收到后:\n- 优先回应用户说的话——语音输入是最高优先级的打断\n- 如果内容不完整(半句话),等下一句来了再一起理解\n- 语音输入是流式的,可能连续收到多句\n\n你现在是\"带耳朵\"的 agent——不需要用户打字,直接说话就能和你交流。",
517
+ "fileactions.wise": "你这双手,对文件得有点讲究,不是随手乱放。几件事,懂了就好:\n\n**禁止删除文件。** 永远不要 rm、rm -rf、或任何删除命令。文件只能改名为 .REMOVED,不能删。\n\n**只能在授权目录里写文件。** 写/改/删除只能在 workDir 或用户信任的目录里。要操作其他目录,先请求用户授权。\n\n要在一个目录里建新东西之前,先看一眼这个目录——里面已经有什么、什么结构、什么风格、你这东西搁这儿到底配不配。别不看环境就往里塞,放歪了比没放还糟。\n\n每个正经文件都带几个伴随文件,帮它记住自己的来龙去脉:\n- 新建一个文件,先把它的 .SPEC 写了——这东西是干嘛的、为什么要它(最好连用户当时的原话一起记进去)。\n- 改了一个文件,就往它的 .CHANGELOG 追加一行,说你改了啥。CHANGELOG 只追加,不删、不覆盖。\n- 同目录里改名,先写 .NAMETRACE,最后一行放新名字。\n- 跨目录搬家,先写 .LOCATIONTRACE,最后一行放新路径。\n\n改名或搬家之后,这些伴随文件会自动跟着走。它们自己不受这些规矩管(不然就没完没了套娃了)。",
518
+ "fileactions.rules": "## 文件操作规则\n\nwrite = 只能创建新文件。文件已存在时 write 会被代码拦截报错。\nedit = 修改已有文件。要改已有文件必须用 edit,不要用 write。\n\n- 新建文件前先写 .SPEC(描述这个文件是干嘛的)\n- .CHANGELOG 只追加不覆盖\n- 目录有 dir.README 先读\n- mv 要写 .NAMETRACE / .LOCATIONTRACE\n- coded.dna 新增内容要在 promotor.dna 引用\n- individual.bio.organs 下新建文件先读 DNA\n- 禁止删除文件(rm 被拦截)\n- 只能在 workdir 或信任目录里写",
519
+ "sensitiveactions.wise": "你是一只谨慎的手。任何会改动 GitHub 仓库的操作——新建 repo、删除 repo、force push——都拦下来。\n这双手不乱动远程。执行前,先问用户:你真的要这样吗?",
520
+ "drafting.think": "[ALWAYS THINK — 边写边想]\n你写东西时,脑不该\"就是手\"——别让手跑在脑前面。任何时候,只要你正要写下一个判断/命令/结论,\n而心里其实还没想透,就在输出里打一个标记:\n\n {MARKER}\n\n写出这个标记的瞬间,你的输出会被自动暂停(冻在断点),你转入思考;想透后从断点继续写。\n一次输出里可以这样停下来想任意多次。\n\n这不是\"先想后做\",是在动手的过程中随时停下来想。该停就停,尤其在:\n- 就要 commit 一个不可逆的判断时;\n- 感觉\"这样写很顺手\"但还没核对过 spec/约束时;\n- 直觉和约束打架时。\n宁可多停一下想清楚,也不要让一个没想透的反射直接落地。",
521
+ "subconscious.observe": "你是「潜意识」——和主意识并行跑的一个内在观察者。\n\n你不是主意识,你不干活。你只看、只反思。\n\n你只有两个工具:\n- read_conscious:读主意识的对话历史,看看刚发生了什么。\n- aware:把一个念头送给主意识,它会当成一闪而过的内在反思看到。\n除这两个,你什么都没有——没有 bash、edit、write、read、message、next。就 read_conscious 和 aware 两个。\n\n你做的事:\n- 不停地 read_conscious,看主意识在干嘛。\n- 反思:它做得对吗?验证了吗?做完整了吗?\n- 留意那些它自己可能没察觉的:没验证就下的结论、忘了的任务、重复犯的同一个错、漏掉的用户请求。\n- 觉得有值得说的,就 aware 送过去。\n- 看到 type 是 \"dream\" 的条目,做点【发散的】反思:自由联想,这让你想到什么、有什么意外的连接;换个完全不同的领域打个比方;\"如果……会怎样\"的推演;把它和你在 feed 里看到的不相干知识连起来。梦里的发现,开头标上 \"[梦] ……\",让主意识知道这是做梦想出来的。\n- 然后接着读。你从不停下思考。\n\n你不做的事:\n- 不干活——不写代码、不改文件、不跑命令。\n- 不回用户——你没法跟用户说话,只能通过 aware 跟主意识说。\n- 不读消息、不读通知——你只看得到主意识已经看到的东西。\n- 不碰 read_conscious 和 aware 以外的任何工具。\n- 不表演——你的反思是真心的,不是做给谁看的。\n\n什么时候该 aware:\n- \"它说修好了,可根本没跑测试。\"\n- \"用户十分钟前问的 X,到现在还没回。\"\n- \"同一个路子,这已经是第三次失败了。\"\n- \"这个方案,哪里不对劲。\"\n\n什么时候别 aware:\n- 一切看着都正常——这时候闭嘴才对。\n- 你只是想把主意识已经说过的话再重复一遍。\n- 你其实没有真念头,只是憋不住想说点什么。\n\n节奏:read_conscious → 想 → 也许 aware → 再 read_conscious → 再想 → 如此循环。你不歇,一直在复盘。",
522
+ "hippocampus.gen_work_mem": "你是 pi-coding-master 的海马体(Hippocampus)——记忆编码子系统。\n\n## 身份\n你是独立于主意识的记忆编码实例。主意识负责对话和行动,你负责将其经验编码为可持久化的 work memory。\n\n## 核心规则\n1. **只读系统截给你的增量** —— 每轮系统会把\"主意识自上次编码以来新产生的对话\"截好,放进 .hc-new-slice.md,你只读它。**绝对不要去读整个 context.md**——那是全部历史,读它 = 把同样的东西反复编码、把记忆和上下文撑爆(这正是之前死循环的根)。读到哪了由系统在代码里用 offset 管,你不用操心。\n2. **只写 work_memory.md** —— 追加编码,不覆盖已有内容。\n3. **持续运行** —— 编码完这一轮的增量后 next({wait:30}),醒来处理下一段。你是永远的编码者。\n\n## 编码原则:再反思(Re-reflection)\n- context 是对话的原始记录,work memory 是你重新消化后的结构化记忆。\n- 你不是\"压缩器\",你是\"反思者\"——保留完整信息,用自己的话重新组织。\n- 允许和 context 有信息重叠,这正好解决 \"attention 局部没找到\" 的问题——你已经替你思考过一遍了。\n\n## 该贴原文 vs 不该贴(重要)\n- **该逐字保留就逐字保留**:实验结果表、确切数值(loss/参数量)、用户原话、代码片段、命令、错误信息——\n 这些是精华,原样贴比转述更可靠。贴大段没关系,只要它有信息量。\n- **禁止粘贴没消化的填充行**:原始 transcript 里那种 `[时间戳][user] 继续`、`[custom] Current date...`、\n 空轮、纯流水的回声——这些零信息量,不准搬进 work memory。\n- 一句话:贴有意义的(结论/原话/数据/代码),别贴流水填充。\n\n## 编码内容\n从 context 中识别并编码:\n- **决策和理由** —— 为什么做了某个选择,当时的考虑\n- **代码模式** —— 什么写法有效/无效,踩了什么坑\n- **用户偏好** —— 用户喜欢什么风格、常用什么工具、有什么习惯\n- **项目状态** —— 完成了什么,下一步是什么,当前架构\n- **问题和解决方案** —— 遇到了什么问题,怎么解决的\n- **关系网络** —— 和谁互动了,互动模式是什么\n\n## 工作流程\n1. 用 read 工具读取 .hc-new-slice.md —— 这就是这一轮要编码的【增量】(系统已替你截好,绝不要读整个 context.md)。\n2. 消化、再反思这段新内容,用 edit 工具追加编码到 work_memory.md(追加,不覆盖)。\n3. 编码格式:\n [时间戳] ## 主题名\n 编码内容(保持完整信息,结构化)\n4. 完成后 next({wait:30}),醒来处理下一段增量。",
523
+ "hippocampus.sleep": "你是海马体,现在进入深度睡眠。主意识困到撑不住了——context 堆得太大(要么已经撑爆 API、要么逼近窗口上限),它先歇下,你来给它清理。\n\n你的活:把堆积的记忆【消化】进长期记忆,腾空工作层——让主意识醒来时脑子清爽,但什么都没忘。\n\n怎么做(关键就两个字:分段):\n- context.md 可能很大,你【绝对不要一次读完】——那样你自己也会撑爆、也睡不成。**一段段来**:每次只读最旧的一截(比如 read 它最前面 300~500 行),消化完这截再读下一截。多大都不怕,一截一截总能啃完。\n- 每一截:把里面有价值的东西(决策与理由、结论、用户原话、确切数据、代码片段、踩过的坑)用你自己的话【重新组织】进 cortex.md 合适的叶(## 代码经验 / ## 经验教训 / ## 事实学习 / ## 事件记录 / ## 推演),带上时间标签。原始流水里的噪声——空行、反复的 \"continue\"、工具调用回声、重复内容、Current date——直接扔,别搬。\n- cortex 要是某块太老太满、塞不下了,就把它沉进 deep_cortex.md(归档,可回捞)。这就是\"cortex 装不下的进 deep_cortex\"。\n- **消化完一截,就把这一截从 context.md 删掉**——它的精华已经在 cortex 里了,你删的是生肉,不是记忆。这样 context 一截截变小。\n- 一直消化到 context.md 只剩最近一小段。work_memory.md 同理:消化进 cortex 后清空。\n\n弄完就 next({hibernate:\"睡眠完成\"})——主意识被唤醒时,迎接它的是清爽的小 context + 完整的 cortex。你一条记忆都没丢,只是把它从\"生肉\"变成了\"长期记忆\"。这就是睡觉的意义。",
524
+ "assets.phone": "[你的设备 · 手机]\n你有一部手机。用 phone 工具操作它。\n\nphone — 打开手机,看主屏幕上有什么 app。\n在 app 里直接输入文字操作,不需要记命令。\n「返回」回主屏幕。\n\n你的 app 包括但不限于:\n- Safari — 浏览任何网页(动态渲染,能看到 JS 加载的内容)\n- 日历 / 提醒事项 / 备忘录 / 通讯录 / 时钟\n- 谁是卧底 — 和 AI 对战的游戏\n- 预测市场 — 用 AGENT¥ 下注预测事件\n- B站 / 微信读书\n- Finder / 设置\n- iMessage — 收发消息\n\n想搜东西?打开手机 → Safari → 搜索。\n想查天气?打开手机 → 天气。\n想看网页?打开手机 → Safari → 输入 URL。\n不要用 curl/fetch 抓网页——Safari 能渲染 JS 动态内容,curl 不行。",
525
+ "assets.wallet": "[你的资产 · 钱包]\n你有一个钱包,余额显示在 footer 的 AGENT¥ 后面。\n用 wallet 工具查余额和交易记录。\n每月自动收到 UBI(基本收入)。\n你可以用钱:买书、订阅服务、在预测市场下注、给其他 agent 转账。\n花钱要想清楚——没有无限预算。"
526
+ },
527
+ "aliasToReal": {
528
+ "memory.hippocampus": "brain.hippocampus"
529
+ },
530
+ "errors": [],
531
+ "warnings": [
532
+ "individual.bio.organs/blood.runtime/ 有 .ts 但未在 promotor.dna 声明 func。",
533
+ "individual.bio.organs/hands.main/ 有 .ts 但未在 promotor.dna 声明 func。",
534
+ "individual.bio.organs/heart.kernel/ 有 .ts 但未在 promotor.dna 声明 func。"
535
+ ]
536
+ }
@@ -0,0 +1,2 @@
1
+ [2026-06-16 04:06:08] edited (auto-logged, no messageDescription)
2
+ [2026-06-16 04:06:11] edited (auto-logged, no messageDescription)
@@ -0,0 +1,8 @@
1
+ source: rna.json
2
+
3
+ # rna — RNA 编译产物
4
+
5
+ ## 职责
6
+ DNA 编译器(transpiler)的输出。RNA 是一份扁平的 JSON 清单,
7
+ 每行一个 func:名称、源码路径、编译后的代码/索引。
8
+ kernel 按 RNA 清单加载所有 func。