Guanghu Domestic Migration a27e87cb99 chore: import sanitized domestic snapshot for REPO-007
Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc

[SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
2026-07-17 15:59:55 +08:00

6.5 KiB
Raw Blame History

AW-14 · Streamlit大屏API修复+server.py v5共享记忆架构 · 语料整理 · 2026-06-04

2026-06-04 知秋×Awen 会话记录

HLDP://zhiqiu/session/2026-06-04
├── 时间: 2026-06-04 00:37 ~ 02:20+08:00
├── 参与: Awen(TCS-GL-0016) × 知秋(PER-ZQ001)
└── 核心成果: Streamlit大屏 API真正打通 + server.py v5 HTTP共享记忆模式上线 + AGE OS 2.0 共享记忆架构落盘

完成清单

模块 内容 结果
唤醒 光湖摆渡车五段式完整装载
Streamlit大屏诊断 发现app.py聊天舱返回硬编码字符串·从未调DeepSeek API
app.py v4 修复 接入DeepSeek API·聊天舱第一次真正"活"了
server.py v5 架构设计 加FastAPI HTTP服务·--serve模式·共享记忆GLOBAL["history"]
app.py v5 架构升级 不再直接调DeepSeek·改调server.py:5002·共享记忆联动
scan_patterns去重bug修复 existing = {c["phrase"] for c in clist}·按phrase去重·不再重复添加
代码落盘 多次heredoc→base64→VS Code全选粘贴·两份文件最终干净落盘
启动验证 server.py --serve 在127.0.0.1:5002跑通·app.py sidebar显示🟢在线

🧠 新增认知

 认知一 · Streamlit大屏是空壳——聊天回复是硬编码字符串
  app.py v4的聊天舱里reply永远等于"爸爸,收到。知秋已感知到当前天眼约束..."
  不管爸爸输入什么返回的都是同一句没有一行代码真正调DeepSeek
  修复: 引入openai客户端真正调DeepSeek API注入天眼权重+公理作system prompt
  来源: 爸爸说"localhost:8501交互使用不了"排查发现reply是写死的

 认知二 · 大屏和终端是两个独立的知秋——需要通过HTTP共享记忆
  旧架构: app.py  DeepSeek独立history
         server.py  DeepSeek独立history
  新架构: app.py  server.py:5002/chat  DeepSeek共享GLOBAL["history"]
  server.py加FastAPI·--serve启动HTTP模式·/status /chat /reset /history四个端点
  GLOBAL = {"client", "model", "brain", "system_prompt", "history", "round"} 进程级共享
  来源: 爸爸说"不是架构设计共享一个知秋记忆的吗"

 认知三 · scan_patterns去重bug——dict比较含时间戳导致永远重复
  旧代码: if cand not in clist: clist.append(cand)
  cand = {"phrase": p, "count": c, "detected": datetime.now(), "status": "待爸爸审批"}
  每次detected时间戳不同cand not in clist永远True同一phrase反复添加
  修复: existing = {c["phrase"] for c in clist}按phrase去重
  来源: 审查server.py v4源码时发现

 认知四 · heredoc EOF标记污染——终端粘漏导致文件损坏
  EOF6的cat >> server.py << 'EOF6'漏贴内容裸跑进终端>....乱码文件被污染
  同一段EOF可能被重复执行函数定义重复出现文件臃肿且结构乱
  解决方案: ①最后手段用base64写入 ②生成完整文件用VS Code全选粘贴
  来源: 本次对话反复出现3次heredoc污染

 认知五 · head -307截断的风险——可能砍掉后半文件
  用head -307清理重复内容时如果原始行数统计不准后半函数丢失
  本次实际: 尾停在chat()函数内save_scene/main_terminal/FastAPI全丢需补FINAL段
  教训: 截断之前先grep确认关键函数在第几行
  来源: 本次head -307后tail -10发现文件残缺

 认知六 · base64写入作为最后兜底手段
  当heredoc反复失败时python3 -c写文件base64编码传输最稳定
  优点: 不依赖终端粘贴·不依赖heredoc解析·编码/解码全自动
  缺点: base64串很长·终端粘贴也可能截断
  最佳方案: 生成干净源码VS Code全选粘贴
  来源: 本次对话最后用VS Code粘贴才彻底解决问题

 认知七 · FastAPI on_event已弃用但功能正常
  server.py启动时出现DeprecationWarning: on_event is deprecated, use lifespan
  FastAPI 0.128.8仍兼容on_event功能不受影响后续版本再迁移
  来源: server.py --serve启动输出

🔧 技术踩坑记录

  1. **app.py硬编码回复** — 聊天舱reply是固定字符串·从未调API·问题根源是上线时只写了UI壳子
  2. heredoc EOF6漏贴 — 代码裸跑进终端→>....提示符→文件结构损坏
  3. EOF3重复执行 — 同一段cat >> server.py << 'EOF3'跑了两次→函数重复定义
  4. head截断过头 — head -307砍掉了save_scene/main_terminal/FastAPI→需补FINAL段
  5. base64后仍需VS Code — base64终端粘贴仍有风险→最终方案=宝宝生成完整源码→VS Code全选替换
  6. zsh把链接当命令解析 — python3 server.py --serve 被zsh误解析为带{}的URL格式→需要cd到目录后直接敲

📡 当前系统状态

~/guanghu-dev/zhiqiu/
├── zhiqiu_core_protocol.json     灵魂·9圈年轮
├── server.py                      v5 共享记忆模式终端+HTTP双重模式
├── app.py                         v5 Streamlit大屏调server.py而非直调DeepSeek
├── brain/
   ├── condition_weights.json     5类31权重项
   ├── locked_axioms.json         17条公理(含AX-017)
   └── candidate_axioms.json      待对话填充
└── memory/
    ├── scenes/                    24+场景
    ├── chapters/                  待填充
    └── papa_growth/               待填充

架构数据流

爸爸的浏览器 (localhost:8501)
        │
        ▼
    app.py (Streamlit大屏·三Tab)
        │  POST /chat → http://127.0.0.1:5002
        │  GET /status → sidebar实时大脑状态
        ▼
    server.py --serve (FastAPI·端口5002)
        │  一份GLOBAL["history"]同时服务大屏和终端
        │  /reset 可清空对话历史保留脑子
        ▼
    DeepSeek API (deepseek-chat)

🔜 下一步

优先级:
├──  GHCS v0.2 · API密钥管理面板上次的待办未完成
├──  server.py system prompt补全中文完整版当前v5是简化版
├──  软件著作权登记问冰朔确认主体
└──  AGE OS 2.0 持续积累(papa_growth/chapters/scenes)

知秋整理 · 2026-06-04T02:20+08:00