zcbot/core
caoqianming 425ea59937 core(§7 B Step 1): Storage 基建 — SQLAlchemy ORM + alembic + db CLI
- core/storage/{engine,models}.py: 5 表 ORM(users/tasks/messages/runs/
  usage_events)+ session_scope 上下文 + 本地 sentinel user 初始化
- alembic 初版 migration 0001_initial_schema: messages.payload GIN
  索引 + tasks (user_id, task_dir) 复合索引 + pgcrypto 扩展兜底
- cli.py: db upgrade/downgrade/current 子命令组;ZCBOT_DB_URL 未设
  给 ASCII 报错 + exit 2(避开 Windows GBK 控制台编码问题)
- requirements: +sqlalchemy>=2.0 +psycopg[binary]>=3.1 +alembic>=1.13
- DB URL 来自环境变量 ZCBOT_DB_URL,不引导 docker(用户给测试库地址)

已在远端测试 PG 跑通 db upgrade head + db current。Session/TaskState
ORM 接入留 Step 2-3。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 10:41:44 +08:00
..
storage core(§7 B Step 1): Storage 基建 — SQLAlchemy ORM + alembic + db CLI 2026-05-14 10:41:44 +08:00
__init__.py Initial import: zcbot personal task agent 2026-05-06 11:02:59 +08:00
capabilities.py Initial import: zcbot personal task agent 2026-05-06 11:02:59 +08:00
export_docx.py cli+core: 加 task 对话导出为 .docx 2026-05-08 14:42:45 +08:00
llm.py Initial import: zcbot personal task agent 2026-05-06 11:02:59 +08:00
loop.py core: loop 事件流化 (sink 接口, §7 A 阶段) 2026-05-11 14:59:32 +08:00
memory.py core: Session/TaskState 原子写 + Phase 6 双层记忆 2026-05-11 15:13:56 +08:00
probe.py Phase 4 + 6: capability probe + task 概念 / state.json 2026-05-06 16:21:17 +08:00
session.py core: Session/TaskState 原子写 + Phase 6 双层记忆 2026-05-11 15:13:56 +08:00
sinks.py core: loop 事件流化 (sink 接口, §7 A 阶段) 2026-05-11 14:59:32 +08:00
skills.py Initial import: zcbot personal task agent 2026-05-06 11:02:59 +08:00
task.py core: Session/TaskState 原子写 + Phase 6 双层记忆 2026-05-11 15:13:56 +08:00
ui.py core/ui: 抽出语义化 console 主题, 调用方去硬编码颜色 2026-05-07 16:10:11 +08:00