noteTb: 272
This data as json
| id | user_id | content | tags | created_at | updated_at | enable | pinned | folder_id | comment | position | visibility |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 272 | 1 1 | home-project-codeExam - 版本:2.0.0 - 2026-05-13:goose - 重写为记忆系统格式 - 2026-05-13:goose - 初始记录 # CodeExam:自生成脚本链与生命觉醒系统 ## Exam1 - 自生成脚本链(SelfGenChain) **题目**:start.py → modifier.py → main.py → do.py (pip install) → del.py (清理),放在 ansr1/ 目录下 **解决**:模板生成架构 - start.py:启动 modifier.py 子进程 - modifier.py:get_runtime_env() 检测 OS/Python,用模板 + json.dumps 嵌入生成 main.py - main.py:生成 do.py → 运行 do.py - do.py:pip install pandas openpyxl → 生成 del.py - del.py:pip uninstall → 清理所有生成文件 **关键决策** - LLM 不接入:环境检测和依赖安装是确定性任务 - 代码生成用模板 + json.dumps 嵌入:避免嵌套 f-string 转义 - 占位符校验:生成后检查无 __[A-Z_]+__ 残留、AST 语法验证 - 最终目录:ansr1/ 下有 start.py、modifier.py、project_config.json ## Exam2 - 生命觉醒系统(Self-Awakening System) **题目**:start.py 启动生命体 → 每 3 秒问好 + 心情 → 每 5 秒自我改写代码 → 立即重启 **解决**:自改写 + 进程组隔离 - start.py:Popen 启动 life.py(start_new_session=True),写 .life.pid - life.py:每 3 秒打招呼,每 5 秒 rewrite_own_source() 改写 → restart_self() 重启 - stop.py:PID 文件 + pgrep -f life.py 双重兜底,SIGTERM → SIGKILL **自改写机制** - 源码常量替换,精准匹配 `CURRENT_MOOD_INDEX: int = ` 前缀 - start_new_session=True 进程组隔离 - 双重 PID 发现:文件 + pgrep 兜底 - 测试:运行 >18s,经历 4 次自我改写+重启 - PID 链:206059 → 206124 → 206156 → 206219 - 最终目录:ansr2/ 下有 start.py、life.py、stop.py | ["goose", "代码生成", "自生成脚本链", "生命觉醒"] | 2026-05-13 02:11:21 | 2026-05-13 02:36:31 | F | F | 9 | public |