feat: give the curator continuous context and durable idea history

This commit is contained in:
wuyang
2026-07-28 17:31:37 +08:00
parent 5c483536b4
commit af7bb68268
10 changed files with 967 additions and 114 deletions
+11 -5
View File
@@ -3,21 +3,23 @@
一个“先保存,后理解”的私人 AI 笔记本。
记录页只呈现用户写下的原文,输入历史像对话一样始终可回看。后台的单一策展
Agent 使用 DeepSeek 的思考模式,按需搜索已有想法与轨迹,再给出结构化的“想法位势”
提案。Agent 不能直接写数据库;应用只在 schema 和引用完整性校验通过后,用事务提交
更新。
Agent 使用 DeepSeek 的思考模式,结合最近的连续原文与精简想法目录,必要时再查看
已有想法的完整轨迹,最后给出结构化的“想法位势”提案。Agent 不能直接写数据库;
应用只在 schema 和引用完整性校验通过后,用事务提交更新。
## 设计边界
- 原始片段先持久化,AI 失败不影响记录。
- 捕获流不显示保存状态、AI 标签、关联或建议。
- 不要求用户先建页面、取标题、选分类或填写日期。
- 不要求用户建立会话;系统在后台保留滚动的连续语境。
- 成熟度是可回退的连续位势,不是阶段、成绩或任务完成百分比。
- 运动、张力和可能动作由模型结合上下文动态生成,不使用固定关卡。
- 用户手动校准的位势优先展示,AI 估计仍独立保留。
- 每个用户的记录、想法、Session 与 Agent 上下文都以 `user_id` 在 SQL 层隔离。
- 管理员能看运行元数据;其他用户的原文与 AI 产物默认脱敏,只有用户主动开启
“调试共享”后才可见。
- 每次想法更新和人工校准都会保存完整版本;原始片段始终是不可替代的证据层。
- 管理后台保存模型轮次、工具调用、耗时、token、错误和结构化决策产物,但不保存或
暴露模型隐藏思维链。
@@ -33,11 +35,14 @@ React/Vite ── cookie session ── FastAPI ── SQLite
核心数据流是:
1. `POST /api/fragments` 先提交原文并立即返回;
2. 后台 Agent 读取当前用户自己的想法上下文;
3. Agent 通过 `search_ideas`、`inspect_idea` 工具选择相关材料;
2. 后台 Agent 读取当前用户最近的连续输入和精简想法目录;
3. Agent 通过 `search_ideas`、`inspect_idea` 工具补充相关材料;
4. 应用校验结构化结果后,以事务写入想法、轨迹和片段关联;
5. 每次运行同时形成 `agent_runs`、`agent_events`,供管理后台聚合分析。
工具探索超过预算或输出结构无效时,系统会进入一次没有工具的收敛回合;失败运行也可以由
管理员重新排队。模型用量通过逐回合钩子采集,因此异常退出不会被误记为零。
## 本地运行
要求 Python 3.12+、Node.js 22+。
@@ -112,6 +117,7 @@ Session 会归属给配置清单中的第一位管理员;不会把旧数据复
- `GET /api/admin/users`:用户空间、数据量与调试共享状态;
- `GET /api/admin/runs?limit=80`:Agent 运行列表;
- `GET /api/admin/runs/{run_id}`:一次运行的事件、工具、token 与结构化产物;
- `POST /api/admin/runs/{run_id}/retry`:重新排队一次仍处于错误状态的分析;
- `GET /api/admin/audit?limit=120`:登录、启动、记录、校准等应用审计事件。
普通用户可调用 `PATCH /api/account/debug-sharing` 控制自己的调试内容是否向管理员