Go to file
caoqianming fd79edb344 test(web): DB 面路由测试(tasks CRUD/files DB-aware/upload)+ 修 restore 500
测试库基建落地(docker postgres:16-alpine @5433 + migration 0001-0022,
RUN.md 补一键命令),tests/test_web_routes_db.py 10 用例补齐 nodb 套件留待面:
- tasks CRUD 全链:建(默认模型/working_dir)/列(分页壳)/详(上下文压力
  字段)/PATCH 校验/软删→列表消失→恢复/同 wd 共享 + folders 计数
- files 顶层目录 DB-aware(§7.4):rename 级联改 tasks.working_dir(tasks_
  updated=1 且 DB 生效)、running→409、move 被引用→409、递归删被引用→409、
  软删 task 后放行
- upload 配额 gate 路径 + 根目录列表(system_wd_names)+ 非法文件名 400
- clear/cancel 状态闸、models 档位列表、schedules 404 路径

修 bug(本套件抓出的存量缺陷,重构前即有):POST /v1/tasks/{id}/restore
用 ORM 脏标记恢复,updated_at 是 server-side onupdate,flush 后列被标记
expired,session 关闭后序列化读它抛 DetachedInstanceError——真软删过的
任务恢复必 500(幂等路径无脏标记故此前未暴露)。修法:flush+refresh 后
在 session 内完成 task_dict 序列化。

带测试库全量 344 全过;未设 ZCBOT_TEST_DB_URL 时干净 skip;测试库零残留。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 13:50:57 +08:00
config feat(tools): 扫描件 PDF 直读 read_document——方舟文档理解 base64 内联(bump 0.58.55) 2026-07-21 16:57:23 +08:00
core refactor(tools): 输出处理原语移出 base.py——base 只留 Tool 基类与路径边界 2026-07-23 13:15:04 +08:00
db/migrations feat(kb): 个人知识库——.kb/ 纯文件机制+/v1/kb* API+前端 modal+注入契约(bump 0.59.0) 2026-07-22 15:20:43 +08:00
deploy feat(sandbox): 镜像补 file 命令(bump 0.58.12) 2026-07-13 08:50:55 +08:00
docs docs: 操作说明书精简版表格微调 + 新增「科研AI双智能体·汇报PPT大纲」+ bump 0.24.4 2026-06-24 14:57:57 +08:00
prompts/system fix(prompt): 系统提示加护栏——大段中文正文别内联进 .py 源码(bump 0.58.51) 2026-07-21 09:05:46 +08:00
rendering refactor(rendering): 块收集器与 inline 切分下沉 common——golden 零 diff 验收 2026-07-23 13:27:31 +08:00
scripts chore(scripts): 一次性诊断/backfill 归档 scripts/archive/——一级目录 50→29 个 2026-07-23 12:48:46 +08:00
skills feat(kb): 个人知识库——.kb/ 纯文件机制+/v1/kb* API+前端 modal+注入契约(bump 0.59.0) 2026-07-22 15:20:43 +08:00
tests test(web): DB 面路由测试(tasks CRUD/files DB-aware/upload)+ 修 restore 500 2026-07-23 13:50:57 +08:00
tools refactor(tools): 输出处理原语移出 base.py——base 只留 Tool 基类与路径边界 2026-07-23 13:15:04 +08:00
web test(web): DB 面路由测试(tasks CRUD/files DB-aware/upload)+ 修 restore 500 2026-07-23 13:50:57 +08:00
.gitattributes Add .gitattributes: force LF for shell + Dockerfile 2026-05-26 10:45:17 +08:00
.gitignore chore(scripts): 一次性诊断/backfill 归档 scripts/archive/——一级目录 50→29 个 2026-07-23 12:48:46 +08:00
APP.md feat(web,docs): App 套壳 embed app 变体(relogin_url + fragment 注入)+ APP.md 对接文档(bump 0.58.53) 2026-07-21 14:59:16 +08:00
CHANGELOG.md feat(kb): 个人知识库——.kb/ 纯文件机制+/v1/kb* API+前端 modal+注入契约(bump 0.59.0) 2026-07-22 15:20:43 +08:00
CLAUDE.md fix(ui,loop): salvage 成功提示降噪——黄色警告降为灰色 info 行(bump 0.58.50) 2026-07-21 08:47:44 +08:00
DESIGN.md fix(kb): 注入契约改主动查阅——相关即先读无需点名,去掉 document_search 路由 2026-07-22 15:43:01 +08:00
DOCUMENT_SEARCH_API.md feat(skill): documents skill 接内部材料学科知识库(document_search API) 2026-05-21 15:31:21 +08:00
EMBED.md feat(web,docs): App 套壳 embed app 变体(relogin_url + fragment 注入)+ APP.md 对接文档(bump 0.58.53) 2026-07-21 14:59:16 +08:00
PROGRESS.md feat(kb): 个人知识库——.kb/ 纯文件机制+/v1/kb* API+前端 modal+注入契约(bump 0.59.0) 2026-07-22 15:20:43 +08:00
RUN.md test(web): DB 面路由测试(tasks CRUD/files DB-aware/upload)+ 修 restore 500 2026-07-23 13:50:57 +08:00
SCIENTIFIC_SKILLS.md skills: 加 pymatgen / stats_ml / plot_pub(建材院无机材料场景) 2026-05-28 11:33:59 +08:00
SKILL_LIST.md feat(prompt): 结构图 mermaid vs 生图改 ask_user 让用户点选(bump 0.58.15) 2026-07-13 10:18:48 +08:00
WW_verify_THssshZfneJwIG5Y.txt chore(wecom): 加企业微信可信域名校验文件 WW_verify_THssshZfneJwIG5Y.txt(放 repo 根)+ bump 0.26.7 2026-06-25 10:25:06 +08:00
alembic.ini core(§7 B Step 1): Storage 基建 — SQLAlchemy ORM + alembic + db CLI 2026-05-14 10:41:44 +08:00
main.py feat(web): main.py web 支持 --ssl-certfile/--ssl-keyfile(uvicorn 原生 TLS,免 nginx)+ bump 0.26.8 2026-06-25 10:43:18 +08:00
requirements.txt feat(sandbox): 补 olefile/xlrd/extract-msg 老格式解析依赖(bump 0.58.23) 2026-07-15 08:16:18 +08:00