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.
- package/README.md +50 -0
- package/core/god.agent.capability/@ABANDONED.brain.prefrontal.monitor/gpu_monitor.py +80 -0
- package/core/god.agent.capability/@ABANDONED.brain.prefrontal.monitor/gpu_monitor.py.CHANGELOG +1 -0
- package/core/god.agent.capability/@ABANDONED.brain.prefrontal.monitor/gpu_monitor.py.SPEC +3 -0
- package/core/god.agent.capability/hands.dev.writeissue/issue.ts +209 -0
- package/core/god.agent.capability/hands.dev.writeissue/issue.ts.SPEC +26 -0
- package/core/god.agent.capability/hands.files.changewatcher/watcher.ts +44 -0
- package/core/god.agent.capability/hands.files.changewatcher/watcher.ts.SPEC +25 -0
- package/core/god.pi.mod/cli/pi-completion.zsh +21 -0
- package/core/god.pi.mod/cli/pi-completion.zsh.CHANGELOG +1 -0
- package/core/god.pi.mod/cli/pi-people.sh +264 -0
- package/core/god.pi.mod/cli/pi-people.sh.LESSON +10 -0
- package/core/god.pi.mod/cli/pi-people.sh.SPEC +31 -0
- package/core/god.pi.mod/paths.ts +47 -0
- package/core/god.pi.mod/tui.mods.blockrender/blockrender.js +90 -0
- package/core/god.pi.mod/tui.mods.blockrender/blockrender.js.SPEC +29 -0
- package/core/god.pi.mod/tui.mods.footer.budget/budget_guard.ts +154 -0
- package/core/god.pi.mod/tui.mods.footer.budget/budget_guard.ts.CHANGELOG +10 -0
- package/core/god.pi.mod/tui.mods.footer.budget/budget_guard.ts.LESSON +12 -0
- package/core/god.pi.mod/tui.mods.footer.budget/budget_guard.ts.SPEC +26 -0
- package/core/god.pi.mod/tui.mods.footer.budget/footer-cny.CHANGELOG +39 -0
- package/core/god.pi.mod/tui.mods.viewmode/view_mode-thinking.patch +55 -0
- package/core/god.pi.mod/tui.mods.viewmode/view_mode-tools.patch +19 -0
- package/core/god.pi.mod/tui.mods.viewmode/view_mode-tools.patch.CHANGELOG +1 -0
- package/core/god.pi.mod/tui.mods.viewmode/view_mode.ts +50 -0
- package/core/god.pi.mod/tui.mods.viewmode/view_mode.ts.SPEC +12 -0
- package/core/god.pi.mod/tui.variants.userterminal/user_terminal.CHANGELOG +10 -0
- package/core/god.pi.mod/tui.variants.userterminal/user_terminal.ts +66 -0
- package/core/god.pi.mod/tui.variants.userterminal/user_terminal.ts.SPEC +31 -0
- package/core/index.ts +3 -0
- package/core/individual.bio.gene/dna.coded/coded.dna +257 -0
- package/core/individual.bio.gene/dna.coded/coded.dna.CHANGELOG +12 -0
- package/core/individual.bio.gene/dna.coded/coded.dna.SPEC +11 -0
- package/core/individual.bio.gene/dna.coded/core.dna +110 -0
- package/core/individual.bio.gene/dna.promotor/promotor.dna +117 -0
- package/core/individual.bio.gene/dna.promotor/promotor.dna.CHANGELOG +4 -0
- package/core/individual.bio.gene/dna.promotor/promotor.dna.SPEC +7 -0
- package/core/individual.bio.gene/dna.transpiler/transpiler.ts +395 -0
- package/core/individual.bio.gene/dna.transpiler/transpiler.ts.CHANGELOG +7 -0
- package/core/individual.bio.gene/dna.transpiler/transpiler.ts.SPEC +28 -0
- package/core/individual.bio.gene/gene.README +19 -0
- package/core/individual.bio.gene/rna/rna.json +536 -0
- package/core/individual.bio.gene/rna/rna.json.CHANGELOG +2 -0
- package/core/individual.bio.gene/rna/rna.json.SPEC +8 -0
- package/core/individual.bio.organs/blood.runtime/messages.ts +236 -0
- package/core/individual.bio.organs/blood.runtime/runtime.ts +173 -0
- package/core/individual.bio.organs/blood.runtime/runtime.ts.CHANGELOG +5 -0
- package/core/individual.bio.organs/blood.runtime/runtime.ts.SPEC +32 -0
- package/core/individual.bio.organs/brain.amygdala/amygdala.ts +25 -0
- package/core/individual.bio.organs/brain.amygdala/amygdala.ts.COMMENT +3 -0
- package/core/individual.bio.organs/brain.amygdala/amygdala.ts.SPEC +9 -0
- package/core/individual.bio.organs/brain.hippocampus/hippocampus-launcher.sh.template +108 -0
- package/core/individual.bio.organs/brain.hippocampus/hippocampus.ts +166 -0
- package/core/individual.bio.organs/brain.hippocampus/hippocampus.ts.CHANGELOG +12 -0
- package/core/individual.bio.organs/brain.hippocampus/hippocampus.ts.LESSON +22 -0
- package/core/individual.bio.organs/brain.hippocampus/hippocampus.ts.SPEC +16 -0
- package/core/individual.bio.organs/brain.hippocampus/memory.ts +879 -0
- package/core/individual.bio.organs/brain.hippocampus/memory.ts.CHANGELOG +66 -0
- package/core/individual.bio.organs/brain.hippocampus/memory.ts.LESSON +25 -0
- package/core/individual.bio.organs/brain.hippocampus/memory.ts.SPEC +46 -0
- package/core/individual.bio.organs/brain.hippocampus/sleep.ts +139 -0
- package/core/individual.bio.organs/brain.hippocampus/sleep.ts.CHANGELOG +11 -0
- package/core/individual.bio.organs/brain.hippocampus/sleep.ts.SPEC +16 -0
- package/core/individual.bio.organs/brain.prefrontal.drafting/drafting.SPEC +44 -0
- package/core/individual.bio.organs/brain.prefrontal.drafting/drafting.ts +73 -0
- package/core/individual.bio.organs/brain.prefrontal.drafting/drafting.ts.CHANGELOG +3 -0
- package/core/individual.bio.organs/brain.prefrontal.drafting/drafting.ts.SPEC +24 -0
- package/core/individual.bio.organs/brain.prefrontal.drafting/index.ts.CHANGELOG +3 -0
- package/core/individual.bio.organs/brain.prefrontal.drafting/main.ts +13 -0
- package/core/individual.bio.organs/brain.prefrontal.drafting/main.ts.SPEC +17 -0
- package/core/individual.bio.organs/brain.senses.bioclock/bioclock.ts +94 -0
- package/core/individual.bio.organs/brain.senses.bioclock/bioclock.ts.LESSON +13 -0
- package/core/individual.bio.organs/brain.senses.bioclock/bioclock.ts.SPEC +20 -0
- package/core/individual.bio.organs/brain.senses.subconscious/feed-format.SPEC +56 -0
- package/core/individual.bio.organs/brain.senses.subconscious/index.ts.CHANGELOG +13 -0
- package/core/individual.bio.organs/brain.senses.subconscious/spawner.ts +130 -0
- package/core/individual.bio.organs/brain.senses.subconscious/spawner.ts.SPEC +13 -0
- package/core/individual.bio.organs/brain.senses.subconscious/subconscious.ts +280 -0
- package/core/individual.bio.organs/brain.senses.subconscious/subconscious.ts.CHANGELOG +7 -0
- package/core/individual.bio.organs/brain.senses.subconscious/tools.ts +180 -0
- package/core/individual.bio.organs/brain.senses.subconscious/tools.ts.SPEC +3 -0
- package/core/individual.bio.organs/ears.listen/config.json +9 -0
- package/core/individual.bio.organs/ears.listen/config.json.CHANGELOG +1 -0
- package/core/individual.bio.organs/ears.listen/config.json.SPEC +3 -0
- package/core/individual.bio.organs/ears.listen/ears.ts.CHANGELOG +48 -0
- package/core/individual.bio.organs/ears.listen/ears_recorder.py.CHANGELOG +6 -0
- package/core/individual.bio.organs/ears.listen/index.ts +1 -0
- package/core/individual.bio.organs/ears.listen/index.ts.SPEC +16 -0
- package/core/individual.bio.organs/ears.listen/listen.ts +208 -0
- package/core/individual.bio.organs/ears.listen/listen.ts.SPEC +3 -0
- package/core/individual.bio.organs/ears.listen/listen_recorder.py +445 -0
- package/core/individual.bio.organs/ears.listen/listen_recorder.py.SPEC +7 -0
- package/core/individual.bio.organs/ears.listen/python_protogen/__init__.py +0 -0
- package/core/individual.bio.organs/ears.listen/python_protogen/common/__init__.py +0 -0
- package/core/individual.bio.organs/ears.listen/python_protogen/common/events_pb2.py +38 -0
- package/core/individual.bio.organs/ears.listen/python_protogen/common/events_pb2_grpc.py +24 -0
- package/core/individual.bio.organs/ears.listen/python_protogen/common/rpcmeta_pb2.py +42 -0
- package/core/individual.bio.organs/ears.listen/python_protogen/common/rpcmeta_pb2_grpc.py +24 -0
- package/core/individual.bio.organs/ears.listen/python_protogen/products/__init__.py +0 -0
- package/core/individual.bio.organs/ears.listen/python_protogen/products/understanding/__init__.py +0 -0
- package/core/individual.bio.organs/ears.listen/python_protogen/products/understanding/ast/__init__.py +0 -0
- package/core/individual.bio.organs/ears.listen/python_protogen/products/understanding/ast/ast_service_pb2.py +45 -0
- package/core/individual.bio.organs/ears.listen/python_protogen/products/understanding/ast/ast_service_pb2_grpc.py +97 -0
- package/core/individual.bio.organs/ears.listen/python_protogen/products/understanding/base/__init__.py +0 -0
- package/core/individual.bio.organs/ears.listen/python_protogen/products/understanding/base/au_base_pb2.py +80 -0
- package/core/individual.bio.organs/ears.listen/python_protogen/products/understanding/base/au_base_pb2_grpc.py +24 -0
- package/core/individual.bio.organs/hands.fileactions/authorize.TRUST +1 -0
- package/core/individual.bio.organs/hands.fileactions/authorize.ts +70 -0
- package/core/individual.bio.organs/hands.fileactions/authorize.ts.CHANGELOG +1 -0
- package/core/individual.bio.organs/hands.fileactions/authorize.ts.SPEC +3 -0
- package/core/individual.bio.organs/hands.fileactions/dir.README +13 -0
- package/core/individual.bio.organs/hands.fileactions/file_rules.json +23 -0
- package/core/individual.bio.organs/hands.fileactions/fileactions.README +12 -0
- package/core/individual.bio.organs/hands.fileactions/fileactions.ts +540 -0
- package/core/individual.bio.organs/hands.fileactions/fileactions.ts.CHANGELOG +25 -0
- package/core/individual.bio.organs/hands.fileactions/fileactions.ts.SPEC +30 -0
- package/core/individual.bio.organs/hands.fileactions/filewatch.ts +66 -0
- package/core/individual.bio.organs/hands.fileactions/filewatch.ts.SPEC +3 -0
- package/core/individual.bio.organs/hands.main/main.ts +18 -0
- package/core/individual.bio.organs/hands.main/main.ts.SPEC +20 -0
- package/core/individual.bio.organs/hands.sensitive/sensitive.ts +24 -0
- package/core/individual.bio.organs/hands.sensitive/sensitive.ts.CHANGELOG +2 -0
- package/core/individual.bio.organs/hands.sensitive/sensitive.ts.SPEC +3 -0
- package/core/individual.bio.organs/heart.interrupt/agent_start-loader-flicker.patch +13 -0
- package/core/individual.bio.organs/heart.interrupt/interactive-mode-loader.patch +11 -0
- package/core/individual.bio.organs/heart.interrupt/runner_esc.patch +10 -0
- package/core/individual.bio.organs/heart.interrupt/runner_esc.patch.SPEC +9 -0
- package/core/individual.bio.organs/heart.kernel/kernel.ts +253 -0
- package/core/individual.bio.organs/heart.kernel/kernel.ts.CHANGELOG +13 -0
- package/core/individual.bio.organs/heart.kernel/kernel.ts.SPEC +23 -0
- package/core/individual.bio.organs/heart.main/heart.main.CHANGELOG +43 -0
- package/core/individual.bio.organs/heart.main/heartbeat.ts +494 -0
- package/core/individual.bio.organs/heart.main/heartbeat.ts.LESSON +43 -0
- package/core/individual.bio.organs/heart.main/main.ts +8 -0
- package/core/individual.bio.organs/heart.main/main.ts.SPEC +19 -0
- package/core/individual.bio.organs/heart.main/process.ts +122 -0
- package/core/individual.bio.organs/heart.main/process.ts.CHANGELOG +2 -0
- package/core/individual.bio.organs/heart.main/process.ts.SPEC +24 -0
- package/core/individual.bio.organs/heart.main/remove_timeout.patch +110 -0
- package/core/individual.bio.organs/heart.main/stop.ts.CHANGELOG +3 -0
- package/core/individual.bio.organs/heart.main/stop.ts.SPEC +28 -0
- package/core/individual.bio.organs/mouth.speak/index.ts +1 -0
- package/core/individual.bio.organs/mouth.speak/index.ts.CHANGELOG +1 -0
- package/core/individual.bio.organs/mouth.speak/index.ts.SPEC +6 -0
- package/core/individual.bio.organs/mouth.speak/mouth.ts.CHANGELOG +15 -0
- package/core/individual.bio.organs/mouth.speak/mouth_recorder.py.CHANGELOG +1 -0
- package/core/individual.bio.organs/mouth.speak/speak.ts +180 -0
- package/core/individual.bio.organs/mouth.speak/speak.ts.SPEC +3 -0
- package/core/individual.bio.organs/mouth.speak/speak_recorder.py +35 -0
- package/core/individual.bio.organs/mouth.speak/speak_recorder.py.SPEC +3 -0
- package/core/individual.bio.organs/organs.README +110 -0
- package/core/package-lock.json +18 -0
- package/core/package.json +35 -0
- package/core/prompts/prompts.json +77 -0
- package/core/prompts/prompts.ts +44 -0
- package/core/prompts/prompts.ts.SPEC +9 -0
- package/core/society.world/.gitkeep +0 -0
- package/core/society.world/accessibility.claudecode/message-service.cjs +217 -0
- package/core/society.world/accessibility.claudecode/message-service.cjs.SPEC +7 -0
- package/core/society.world/accessibility.claudecode/send.ts +34 -0
- package/core/society.world/dollar.distribution.ubi/ubi.ts +55 -0
- package/core/society.world/dollar.main/dollar-service.cjs +185 -0
- package/core/society.world/dollar.main/main.ts +116 -0
- package/core/society.world/dollar.transaction/transaction.ts +71 -0
- package/core/society.world/space/space.ts +206 -0
- package/core/society.world/space/space.ts.SPEC +30 -0
- package/core/technology.laptop/#agent.macos.BLUEPRINT +278 -0
- package/core/technology.phone/apps.preinstalled/albums.FUTURE/albums.ts +69 -0
- package/core/technology.phone/apps.preinstalled/albums.FUTURE/albums.ts.SPEC +15 -0
- package/core/technology.phone/apps.preinstalled/calendar/calendar.ts +406 -0
- package/core/technology.phone/apps.preinstalled/calendar/calendar.ts.SPEC +22 -0
- package/core/technology.phone/apps.preinstalled/calendar/holiday-calendar.ts +529 -0
- package/core/technology.phone/apps.preinstalled/clock/clock.ts +132 -0
- package/core/technology.phone/apps.preinstalled/clock/clock.ts.SPEC +11 -0
- package/core/technology.phone/apps.preinstalled/contacts.FUTURE/contacts.ts +300 -0
- package/core/technology.phone/apps.preinstalled/contacts.FUTURE/contacts.ts.SPEC +22 -0
- package/core/technology.phone/apps.preinstalled/developer.FUTURE/developer.ts +22 -0
- package/core/technology.phone/apps.preinstalled/developer.FUTURE/developer.ts.SPEC +15 -0
- package/core/technology.phone/apps.preinstalled/notes/notes.ts +239 -0
- package/core/technology.phone/apps.preinstalled/notes/notes.ts.SPEC +21 -0
- package/core/technology.phone/apps.preinstalled/polymarket/polymarket.ts +261 -0
- package/core/technology.phone/apps.preinstalled/polymarket/polymarket.ts.SPEC +7 -0
- package/core/technology.phone/apps.preinstalled/reminder/reminder.ts +404 -0
- package/core/technology.phone/apps.preinstalled/reminder/reminder.ts.SPEC +25 -0
- package/core/technology.phone/apps.preinstalled/siri.FUTURE/siri.ts +22 -0
- package/core/technology.phone/apps.preinstalled/siri.FUTURE/siri.ts.SPEC +15 -0
- package/core/technology.phone/apps.preinstalled/spotlight/spotlight.ts +29 -0
- package/core/technology.phone/apps.preinstalled/spotlight/spotlight.ts.SPEC +7 -0
- package/core/technology.phone/apps.preinstalled/steam/chess.ts +230 -0
- package/core/technology.phone/apps.preinstalled/steam/snake.ts +100 -0
- package/core/technology.phone/apps.preinstalled/steam/snake.ts.SPEC +7 -0
- package/core/technology.phone/apps.preinstalled/steam/spy-cmd.ts +4 -0
- package/core/technology.phone/apps.preinstalled/steam/spy-tool.ts +56 -0
- package/core/technology.phone/apps.preinstalled/steam/spy.ts +302 -0
- package/core/technology.phone/apps.preinstalled/steam/steam.ts +299 -0
- package/core/technology.phone/apps.preinstalled/weather/weather.ts +50 -0
- package/core/technology.phone/apps.preinstalled/weather/weather.ts.SPEC +9 -0
- package/core/technology.phone/apps.preinstalled/wechat/imessage.ts +423 -0
- package/core/technology.phone/apps.preinstalled/wechat/imessage.ts.SPEC +24 -0
- package/core/technology.phone/apps.system/appstore/appstore.ts +22 -0
- package/core/technology.phone/apps.system/appstore/appstore.ts.SPEC +15 -0
- package/core/technology.phone/apps.system/finder.FUTURE/finder.ts +64 -0
- package/core/technology.phone/apps.system/finder.FUTURE/finder.ts.SPEC +8 -0
- package/core/technology.phone/apps.system/safari/safari-app.ts +146 -0
- package/core/technology.phone/apps.system/safari/safari.ts.SPEC +24 -0
- package/core/technology.phone/apps.system/settings/settings.ts +126 -0
- package/core/technology.phone/apps.system/settings/settings.ts.SPEC +17 -0
- package/core/technology.phone/apps.system/tips/tips.ts +22 -0
- package/core/technology.phone/apps.system/tips/tips.ts.SPEC +15 -0
- package/core/technology.phone/apps.thirdparty/alipay/alipay.ts +148 -0
- package/core/technology.phone/apps.thirdparty/alipay/alipay.ts.SPEC +7 -0
- package/core/technology.phone/apps.thirdparty/bilibili/bilibili-app.ts +33 -0
- package/core/technology.phone/apps.thirdparty/bilibili/bilibili.ts +142 -0
- package/core/technology.phone/apps.thirdparty/bilibili/bilibili.ts.SPEC +22 -0
- package/core/technology.phone/apps.thirdparty/wechatread/wechatread.ts +80 -0
- package/core/technology.phone/apps.thirdparty/wechatread/wechatread.ts.SPEC +15 -0
- package/core/technology.phone/index.ts +1 -0
- package/core/technology.phone/package.json +2 -0
- package/core/technology.phone/system.homepage/homepage.ts +247 -0
- package/core/technology.phone/system.homepage/homepage.ts.SPEC +22 -0
- package/core/technology.phone/system.kernel/kernel.ts +264 -0
- package/core/technology.phone/system.kernel/kernel.ts.SPEC +7 -0
- package/core/technology.phone/system.notifications/notifications.ts +87 -0
- package/core/technology.phone/system.notifications/notifications.ts.SPEC +7 -0
- package/core/technology.phone/system.share/share.ts +46 -0
- package/core/technology.phone/system.share/share.ts.SPEC +7 -0
- package/core/technology.server/browser-service.cjs +152 -0
- package/core/technology.server/data/cookies/arxiv.json +30 -0
- package/core/technology.server/data/cookies/bili.json +184 -0
- package/core/technology.server/data/cookies/default.json +30 -0
- package/core/technology.server/data/cookies/news.json +113 -0
- package/core/technology.server/data/cookies/s1.json +45 -0
- package/core/technology.server/data/cookies/safari.json +184 -0
- package/core/technology.server/data/cookies/safari2.json +1 -0
- package/core/technology.server/data/cookies/safaridbg.json +1 -0
- package/core/technology.server/data/cookies/search.json +45 -0
- package/core/technology.server/data/cookies/sw.json +30 -0
- package/core/technology.server/data/cookies/t1.json +1 -0
- package/core/technology.server/data/cookies/testread.json +1 -0
- package/core/technology.server/data/cookies/video1.json +113 -0
- package/core/technology.server/data/cookies/yt.json +170 -0
- package/core/technology.server/data/cookies/yt2.json +113 -0
- package/core/technology.server/pikipedia/#pikipedia.BLUEPRINT +106 -0
- package/core/technology.server/playleft.cjs +247 -0
- package/core/technology.server/search-proxy.py +76 -0
- package/core/technology.server/server.README +59 -0
- package/deploy/dist-overrides/cli/cli.js +18 -0
- package/deploy/dist-overrides/core/extensions/loader.js +518 -0
- package/deploy/dist-overrides/core/package-manager.js +2081 -0
- package/deploy/dist-overrides/core/system-prompt.js +109 -0
- package/deploy/dist-overrides/core/system-prompt.js.LESSON +17 -0
- package/deploy/dist-overrides/core/tools/bash.js +353 -0
- package/deploy/dist-overrides/core/tools/bash.js.CHANGELOG +2 -0
- package/deploy/dist-overrides/core/tools/edit-diff.js +345 -0
- package/deploy/dist-overrides/core/tools/edit.js +315 -0
- package/deploy/dist-overrides/core/tools/edit.js.CHANGELOG +1 -0
- package/deploy/dist-overrides/core/tools/file-mutation-queue.js +52 -0
- package/deploy/dist-overrides/core/tools/find.js +298 -0
- package/deploy/dist-overrides/core/tools/find.js.CHANGELOG +1 -0
- package/deploy/dist-overrides/core/tools/grep.js +305 -0
- package/deploy/dist-overrides/core/tools/grep.js.CHANGELOG +1 -0
- package/deploy/dist-overrides/core/tools/index.js +112 -0
- package/deploy/dist-overrides/core/tools/ls-guard.js +4 -0
- package/deploy/dist-overrides/core/tools/ls.js +170 -0
- package/deploy/dist-overrides/core/tools/ls.js.CHANGELOG +1 -0
- package/deploy/dist-overrides/core/tools/output-accumulator.js +184 -0
- package/deploy/dist-overrides/core/tools/path-utils.js +99 -0
- package/deploy/dist-overrides/core/tools/prompts-reader.js +53 -0
- package/deploy/dist-overrides/core/tools/read.js +392 -0
- package/deploy/dist-overrides/core/tools/read.js.CHANGELOG +1 -0
- package/deploy/dist-overrides/core/tools/render-utils.js +65 -0
- package/deploy/dist-overrides/core/tools/tool-definition-wrapper.js +34 -0
- package/deploy/dist-overrides/core/tools/truncate.js +215 -0
- package/deploy/dist-overrides/core/tools/write.js +203 -0
- package/deploy/dist-overrides/core/tools/write.js.CHANGELOG +1 -0
- package/deploy/dist-overrides/dist-overrides.README +18 -0
- package/deploy/dist-overrides/main.js +665 -0
- package/deploy/dist-overrides/modes/interactive/components/assistant-message.js +139 -0
- package/deploy/dist-overrides/modes/interactive/components/footer.js +326 -0
- package/deploy/dist-overrides/modes/interactive/components/model-selector.js +285 -0
- package/deploy/dist-overrides/modes/interactive/components/tool-execution.js +383 -0
- package/deploy/dist-overrides/modes/interactive/components/tool-execution.js.CHANGELOG +3 -0
- package/deploy/dist-overrides/modes/interactive/interactive-mode.js +4781 -0
- package/deploy/dist-overrides/pi-ai/providers/anthropic.js +931 -0
- package/deploy/dist-overrides/pi-ai/providers/openai-completions.js +1007 -0
- package/deploy/dist-overrides/pi-ai/providers/openai-completions.js.LESSON +15 -0
- package/deploy/dist-overrides/pi-tui/components/loader.js +69 -0
- package/deploy/dist-overrides/pi-tui/components/markdown.js +646 -0
- package/deploy/dist-overrides/pi-tui/components/text.js +92 -0
- package/deploy/dist-overrides/pi-tui/custom-message.js +75 -0
- package/deploy/dist-overrides/pi-tui/tui.js +1266 -0
- package/deploy/dist-overrides/pi-tui/utils.js +1060 -0
- package/deploy/dist-overrides/vendor.REMOVED/jiti/lib/jiti.mjs +3 -0
- package/deploy/install.sh +186 -0
- package/deploy/install.sh.CHANGELOG +6 -0
- package/deploy/lint/lint-naming.ts +202 -0
- package/deploy/scripts/apply.js +18 -0
- package/deploy/scripts/build-github.sh +219 -0
- package/deploy/scripts/build-phone.sh +24 -0
- package/deploy/scripts/check-deploy.sh +42 -0
- package/deploy/scripts/migrate-context.sh +72 -0
- package/deploy/scripts/patch-pi-dist.js +39 -0
- package/deploy/scripts/uninstall.sh +34 -0
- package/package.json +18 -0
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
|
|
2
|
+
import { execSync } from "node:child_process";
|
|
3
|
+
import { writeFile, mkdir } from "node:fs/promises";
|
|
4
|
+
import { readFileSync, writeFileSync, statSync } from "node:fs";
|
|
5
|
+
import { getPrompt } from "#runtime";
|
|
6
|
+
import { personDir as getPersonDir } from "#paths";
|
|
7
|
+
import { registerMemory } from "./memory.ts";
|
|
8
|
+
import { sendCustomMessage } from "#messages";
|
|
9
|
+
|
|
10
|
+
// 海马体(后台编码)开关:每人持久化(JSON 布尔,不删文件)。off=停后台编码;主意识记忆快照/nap/sleep 不受影响。
|
|
11
|
+
function hcFlag(personDir: string): string { return `${personDir}/.data/hippocampus.json`; }
|
|
12
|
+
function hcDisabled(personDir: string): boolean {
|
|
13
|
+
try { return !!JSON.parse(readFileSync(hcFlag(personDir), "utf8")).disabled; } catch { return false; }
|
|
14
|
+
}
|
|
15
|
+
function setHcDisabled(personDir: string, disabled: boolean): void {
|
|
16
|
+
try { writeFileSync(hcFlag(personDir), JSON.stringify({ disabled, ts: new Date().toISOString() })); } catch {}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface HippocampusHandle {
|
|
20
|
+
start(): void;
|
|
21
|
+
stop(): void;
|
|
22
|
+
isRunning(): boolean;
|
|
23
|
+
getSessionId(): string;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function createHippocampus(
|
|
27
|
+
pi: ExtensionAPI,
|
|
28
|
+
onError: (msg: string) => void,
|
|
29
|
+
personDir: string,
|
|
30
|
+
): HippocampusHandle {
|
|
31
|
+
const personId = personDir.match(/([a-f0-9]+)$/)?.[1] ?? "x";
|
|
32
|
+
const tmuxName = `hc-${personId}`;
|
|
33
|
+
const sessionDir = `${personDir}/.data/hippocampus-sessions`;
|
|
34
|
+
let running = false;
|
|
35
|
+
|
|
36
|
+
function tmuxHas(): boolean {
|
|
37
|
+
try {
|
|
38
|
+
execSync(`tmux has-session -t ${tmuxName} 2>/dev/null`);
|
|
39
|
+
return true;
|
|
40
|
+
} catch { return false; }
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const self: HippocampusHandle = {
|
|
44
|
+
async start() {
|
|
45
|
+
running = true;
|
|
46
|
+
if (tmuxHas()) return; // already alive
|
|
47
|
+
|
|
48
|
+
await mkdir(sessionDir, { recursive: true });
|
|
49
|
+
|
|
50
|
+
const dataDir = `${personDir}/.data`;
|
|
51
|
+
|
|
52
|
+
// Write conv.json with system prompt so pi loads it on start
|
|
53
|
+
const convPath = `${sessionDir}/conv.json`;
|
|
54
|
+
await writeFile(convPath, JSON.stringify([
|
|
55
|
+
{ role: "system", content: getPrompt("hippocampus.gen_work_mem") }
|
|
56
|
+
]));
|
|
57
|
+
|
|
58
|
+
// 重启后把 offset 对齐到 context.md 当前大小,让海马体从"现在"开始编码
|
|
59
|
+
try { writeFileSync(`${dataDir}/.hc-offset`, String(statSync(`${dataDir}/context.md`).size)); } catch {}
|
|
60
|
+
|
|
61
|
+
// Write launch script
|
|
62
|
+
const launchScript = `${personDir}/.data/hippocampus-launch.sh`;
|
|
63
|
+
const templatePath = new URL("./hippocampus-launcher.sh.template", import.meta.url).pathname;
|
|
64
|
+
const script = readFileSync(templatePath, "utf8")
|
|
65
|
+
.replaceAll("{{SESSION_DIR}}", JSON.stringify(sessionDir))
|
|
66
|
+
.replaceAll("{{DATA_DIR}}", JSON.stringify(dataDir))
|
|
67
|
+
.replaceAll("{{MAIN_PID}}", String(process.pid))
|
|
68
|
+
.replaceAll("{{TMUX_NAME}}", tmuxName);
|
|
69
|
+
await writeFile(launchScript, script);
|
|
70
|
+
execSync(`chmod +x "${launchScript}"`, { stdio: "ignore" });
|
|
71
|
+
|
|
72
|
+
try {
|
|
73
|
+
try { execSync(`tmux kill-session -t ${tmuxName} 2>/dev/null`); } catch {} // 先清掉同名僵尸 session(spawn failed 的根)
|
|
74
|
+
execSync(
|
|
75
|
+
`tmux new-session -d -s ${tmuxName} -c "${personDir}" 'bash "${launchScript}"'`,
|
|
76
|
+
{ stdio: "ignore" }
|
|
77
|
+
);
|
|
78
|
+
} catch (err: any) {
|
|
79
|
+
onError(`Hippocampus tmux spawn failed: ${err?.message ?? err}`);
|
|
80
|
+
running = false;
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
|
|
84
|
+
stop() {
|
|
85
|
+
running = false;
|
|
86
|
+
try { execSync(`tmux kill-session -t ${tmuxName} 2>/dev/null`); } catch {}
|
|
87
|
+
},
|
|
88
|
+
|
|
89
|
+
isRunning() { return tmuxHas(); },
|
|
90
|
+
getSessionId() { return tmuxName; },
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
return self;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// ── func 入口(default(pi)):海马体编码器进程的装配 ─────────────────────────
|
|
97
|
+
// 检测 personDir,agent 起来后 spawn hc-<id> tmux 持续编码(gen_work_mem)。
|
|
98
|
+
export default function (pi: ExtensionAPI) {
|
|
99
|
+
const _cmds: any[] = [];
|
|
100
|
+
// 海马体 = 记忆 func(tag memory)。两部分:
|
|
101
|
+
// 1) 主意识里的记忆机能(注入各层 / editcontext / 容量监控 / nap·sleep 触发)
|
|
102
|
+
const _memoryCmds = registerMemory(pi);
|
|
103
|
+
if (_memoryCmds) _cmds.push(..._memoryCmds);
|
|
104
|
+
// 2) 后台独立 pi 小号(hc-)持续把 context 再反思进 work_memory
|
|
105
|
+
let handle: HippocampusHandle | null = null;
|
|
106
|
+
let personDir: string | null = null;
|
|
107
|
+
let hcDisabledNotified = false;
|
|
108
|
+
|
|
109
|
+
// ── /hippocampus 开关:禁用/启用后台记忆编码(每人持久,重启仍生效;不影响主意识快照/nap/sleep)──
|
|
110
|
+
_cmds.push({
|
|
111
|
+
name: "brain-hippocampus",
|
|
112
|
+
desc: "海马体(后台编码)开关:/brain-hippocampus [on|off]。off=停后台编码(主意识快照/nap/sleep 不受影响),持久、重启仍生效。",
|
|
113
|
+
handler: async (args: any, ctx: any) => {
|
|
114
|
+
const pd = personDir;
|
|
115
|
+
if (!pd) { ctx.ui.notify("当前无 person 目录(主意识 session 才能切)。", "warning"); return; }
|
|
116
|
+
const a = (args ?? "").trim().toLowerCase();
|
|
117
|
+
if (a === "off") {
|
|
118
|
+
setHcDisabled(pd, true);
|
|
119
|
+
try { handle?.stop(); } catch {}
|
|
120
|
+
handle = null;
|
|
121
|
+
ctx.ui.notify("海马体已禁用(持久,重启仍生效)。主意识快照/nap/sleep 照常,只是不再后台自动编码 work_memory。/hippocampus on 恢复。", "info");
|
|
122
|
+
} else if (a === "on") {
|
|
123
|
+
setHcDisabled(pd, false);
|
|
124
|
+
hcDisabledNotified = false;
|
|
125
|
+
ctx.ui.notify("海马体已启用(下一轮起后台编码恢复)。", "info");
|
|
126
|
+
} else {
|
|
127
|
+
ctx.ui.notify(`海马体当前:${hcDisabled(pd) ? "禁用" : "启用"}。/hippocampus [on|off] 切换。`, "info");
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
pi.on("session_start", async (_event, ctx) => {
|
|
133
|
+
const sf = ctx.sessionManager.getSessionFile();
|
|
134
|
+
personDir = getPersonDir(sf);
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
pi.on("agent_start", async () => {
|
|
138
|
+
if (handle?.isRunning()) return;
|
|
139
|
+
if (!personDir) return;
|
|
140
|
+
if (hcDisabled(personDir)) {
|
|
141
|
+
if (!hcDisabledNotified) {
|
|
142
|
+
hcDisabledNotified = true;
|
|
143
|
+
sendCustomMessage(pi, "memory-hippocampus-disabled", "海马体已禁用(/hippocampus on 恢复)");
|
|
144
|
+
}
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
handle = createHippocampus(
|
|
148
|
+
pi,
|
|
149
|
+
(msg) => sendCustomMessage(pi, "hippocampus-error", `WARN: Hippocampus error: ${msg}`),
|
|
150
|
+
personDir,
|
|
151
|
+
);
|
|
152
|
+
// 防御:海马体启动出任何错(launcher 模板/tmux/任意异常)只记一条,绝不带崩主意识 pi。
|
|
153
|
+
// 这次 ${CAP} 写错就是因为没这层防护——一个小号 launcher 的 bug 直接 uncaughtException 把整个主意识崩了。
|
|
154
|
+
handle.start().catch((e: any) => {
|
|
155
|
+
try { sendCustomMessage(pi, "hippocampus-error", `WARN: 海马体启动异常(已隔离,不影响主意识): ${e?.message ?? e}`); } catch {}
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
pi.on("session_shutdown", async () => {
|
|
160
|
+
handle?.stop();
|
|
161
|
+
handle = null;
|
|
162
|
+
personDir = null;
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
return _cmds;
|
|
166
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
[2026-06-15] created(追踪本次重构),by Claude Code
|
|
2
|
+
- 成为 func 唯一入口:把原 index.ts 的 default(pi)(session/agent_start/shutdown 装配)合并进来,
|
|
3
|
+
index.ts 作废删除。kernel 现在 import 本文件(brain.hippocampus/hippocampus.js)。
|
|
4
|
+
- default(pi) 加 registerMemory(pi):把主意识记忆系统接上(之前 memory 被错当独立 func/孤儿,从没加载)。
|
|
5
|
+
memory 是 tag 不是 func —— 记忆机能本就属于海马体这个 func。
|
|
6
|
+
- prompt 内联:createHippocampus 里 HIPPOCAMPUS_PROMPT 改成 getPrompt("hippocampus.gen_work_mem"),
|
|
7
|
+
删掉中间层 prompt.ts / hippocampus.dna.ts。
|
|
8
|
+
|
|
9
|
+
[2026-06-15 续] 加级联看门狗(by Claude Code)
|
|
10
|
+
- hc 启动脚本加 MAIN_PID=主意识 pid + 后台子进程轮询 kill -0;主意识进程一退出 → 自动 tmux kill-session
|
|
11
|
+
把本 hc 实例连 tmux 一起关掉(循环顶也查一次)。解决"主程序死了 hc 还自启自跑、孤儿常驻烧钱"。
|
|
12
|
+
- ⚠️ 当前正在跑的旧孤儿用的是没看门狗的旧脚本,需手动 tmux kill-session 清掉;之后由新 main spawn 出来的才带看门狗。
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# hippocampus.ts — LESSONS
|
|
2
|
+
|
|
3
|
+
## 2026-06-16 海马体编码死循环——指数自激,烧出 424 个实例 + 2.8M context
|
|
4
|
+
|
|
5
|
+
**症状**:潜意识反复预警(8+次):海马体每个新实例都从 context.md **第 1 行**开始读,编码的第一条永远是"pi-coding-master 系统架构",work_memory 全是重复。现场坐实:某 person 的 context.md 涨到 **2.8M / 47890 行**,`.data/hippocampus-sessions` 累积 **424 个 session**(每个即生即死 <30s)。连带把主意识顶到记忆 **120%**、反复强制归档(-758KB/-614KB)、深度 sleep 整合不完、主意识秒级崩溃重启、mouth"从头开始"念。
|
|
6
|
+
|
|
7
|
+
**根因(两层)**:
|
|
8
|
+
1. **offset 靠模型自觉 = 形同虚设**。gen_work_mem 提示词写了"读 work_memory 找上次时间戳、只处理之后的新内容",但这要模型每轮自己定位——它做不到/不做,于是每轮从头读整个 context.md,把同样的东西反复编码。
|
|
9
|
+
2. **正反馈自激**:海马体编码 → work_memory 膨胀 → 主意识快照含 work_memory → 主意识 context 变大 → 写回 context.md → 海马体下轮读到更多 → 指数增长。最后 context.md 大到一读就爆窗口 → 海马体报错退出 → bash `while true` 立刻重启全新实例 → 又从第 1 行开始 → 424 个即生即死。
|
|
10
|
+
|
|
11
|
+
**修复**:把"只读增量"从**提示词靠自觉**改成**launcher 代码强制**(hippocampus.ts 生成的 bash):
|
|
12
|
+
- 维护一个 **byte offset 文件** `.data/.hc-offset`(存在文件里 → 重启也不丢)。
|
|
13
|
+
- 每轮只 `tail -c +offset` 截出 context.md 的**新增段**写进 `.hc-new-slice.md`,喂给海马体;提示词同步改成"只读 .hc-new-slice.md,绝不读整个 context.md"。
|
|
14
|
+
- **没有(够多)新内容就不启动编码**(sleep 30 再看)——掐断空轮自激 + 省钱 + 不刷 session。
|
|
15
|
+
- 首次启动把 offset 设到 context.md 当前末尾 → 自动跳过已有的 2.8M 垃圾,从"现在"往后编码。
|
|
16
|
+
- context.md 变短(重启清理)→ offset 自动归零。
|
|
17
|
+
|
|
18
|
+
**教训 / 下次怎么避免**:
|
|
19
|
+
- **凡是"跨进程/跨重启要记住进度"的状态,绝不能靠提示词让模型自己记——必须落到代码里的持久化 offset/游标**。模型每次重启是全新的,"找上次到哪了"这种事它做不可靠。
|
|
20
|
+
- **警惕反馈环**:一个子系统的输出会不会重新流回它自己的输入?海马体编码 → 进快照 → 进 context → 海马体再读,就是典型自激。设计任何"读 A 写 B"的后台编码器,先问"B 会不会又变成 A 的一部分"。
|
|
21
|
+
- **"自愈重启"会放大 bug**:bash `while true` 重启在正常时是兜底,但当单轮必然失败(读爆窗口)时,它把一个 bug 变成 424 倍的雪崩。重启循环要配合"失败原因不消除就别盲目重启"或"每轮代价受限(只读增量)"。
|
|
22
|
+
- 排查记忆膨胀,先看 `.data/hippocampus-sessions` 的 session 数和 context.md 大小——数量异常 = 编码器在 crash-loop。
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
source: hippocampus.ts @ 3b0c0219
|
|
2
|
+
|
|
3
|
+
hippocampus.ts · SPEC(brain.hippocampus 的 func 入口)
|
|
4
|
+
|
|
5
|
+
身份: brain.hippocampus 这个 func 的入口文件(default(pi) 在这里)。
|
|
6
|
+
memory 是 tag(标签),不是 func;海马体才是「记忆」这个 tag 下的 func。
|
|
7
|
+
|
|
8
|
+
default(pi) 装两部分:
|
|
9
|
+
1. registerMemory(pi) —— 主意识身上的记忆机能(注入快照、editcontext、nap/sleep/dream、容量监控)。
|
|
10
|
+
代码在同目录 memory.ts。
|
|
11
|
+
2. 后台 hc- 编码小号 —— agent_start 后 spawn tmux hc-<personId>,持续读 context.md、
|
|
12
|
+
再反思写 work_memory.md(gen_work_mem)。createHippocampus 工厂也在本文件。
|
|
13
|
+
|
|
14
|
+
prompt: createHippocampus 给 hc- 子实例的系统 prompt = getPrompt("hippocampus.gen_work_mem")(coded.dna)。
|
|
15
|
+
模式(promotor.dna): DWN→gen_work_mem / sleep.night→deep_encode(sleep.ts) / sleep.nap→gen_work_mem。
|
|
16
|
+
模块(promotor.dna 声明,尚未拆分实现): workmem / cortexmem / deepcortexmem。
|