caoqianming
|
927d059388
|
feat(software): automate job completion follow-ups
|
2026-08-17 12:12:27 +08:00 |
caoqianming
|
30c12f9808
|
fix(web): make task progress run-scoped and recoverable
|
2026-08-17 11:07:57 +08:00 |
caoqianming
|
79d48b98c9
|
fix(origin): 修复多面板布局与导出基线
|
2026-08-17 10:38:39 +08:00 |
caoqianming
|
03371a8825
|
fix(origin): correct logarithmic axis scaling
|
2026-08-17 09:53:29 +08:00 |
caoqianming
|
4426ef9214
|
feat(software): add declarative recipe revisions
|
2026-08-14 17:50:12 +08:00 |
caoqianming
|
27f7a2fe30
|
fix(windows-node): retain adapter schema data
|
2026-08-14 16:37:21 +08:00 |
caoqianming
|
d62b5e0766
|
feat(origin): expand scientific chart types
|
2026-08-14 16:21:32 +08:00 |
caoqianming
|
6de88c7b0c
|
feat(software): show execution versions in job list
|
2026-08-14 16:08:30 +08:00 |
caoqianming
|
92caa2a2c4
|
fix(windows-node): show adapter and Origin versions
|
2026-08-14 16:00:59 +08:00 |
caoqianming
|
4a53bc7827
|
feat(software): support independently deployed adapters
|
2026-08-14 15:10:24 +08:00 |
caoqianming
|
c4ce89afa0
|
feat(origin): add publication layout controls
|
2026-08-14 13:32:07 +08:00 |
caoqianming
|
25616d12cc
|
refactor(software): introduce capability contracts
|
2026-08-14 12:55:46 +08:00 |
caoqianming
|
b77db25440
|
feat(origin): expand supported plot types
|
2026-08-14 12:16:37 +08:00 |
caoqianming
|
ef5428c3b7
|
fix(windows-node): 复用上传完成标记临时文件
|
2026-08-14 11:27:43 +08:00 |
caoqianming
|
b929cee832
|
fix(windows-node): 收敛结果上传状态并补充诊断日志
|
2026-08-14 11:15:54 +08:00 |
caoqianming
|
13ba6b1a61
|
feat(software): add local monitoring and multi-artifact jobs
|
2026-08-14 10:41:49 +08:00 |
caoqianming
|
89dac0d119
|
fix(software): release slots after worker completion
|
2026-08-14 09:43:59 +08:00 |
caoqianming
|
f9d3b4ad27
|
fix(software): refresh job center after submission
|
2026-08-14 09:09:50 +08:00 |
caoqianming
|
51a213e3a7
|
fix(software): normalize job output artifacts
|
2026-08-14 08:57:36 +08:00 |
caoqianming
|
2560eb4ece
|
feat(software): move job center into file pane
|
2026-08-14 08:28:52 +08:00 |
caoqianming
|
40f8899cc1
|
feat(software): require artifact inputs for Origin jobs
|
2026-08-13 17:25:21 +08:00 |
caoqianming
|
e6128c7e5b
|
build(windows-node): add batch deployment workflow
|
2026-08-13 17:00:40 +08:00 |
caoqianming
|
8aafe3272f
|
feat(software): add professional software job center
|
2026-08-13 15:59:31 +08:00 |
caoqianming
|
ded8cba54c
|
refactor(software): rename Windows execution domain
|
2026-08-13 15:28:04 +08:00 |
caoqianming
|
3e0a719f80
|
feat(compute): complete Origin job execution pipeline
|
2026-08-13 14:39:36 +08:00 |
caoqianming
|
faa2279f00
|
docs(release): separate development pushes from releases
|
2026-08-13 13:55:47 +08:00 |
caoqianming
|
b016f8ee8c
|
feat(compute): report Origin runtime health
|
2026-08-13 12:34:27 +08:00 |
caoqianming
|
054aaf8e8c
|
feat(chat): 结构化用户附件并支持图片预览
|
2026-08-13 10:32:08 +08:00 |
caoqianming
|
c4418711ab
|
perf(vision): 收敛看图请求范围
|
2026-08-13 09:59:49 +08:00 |
caoqianming
|
8aa25bbd5a
|
style(compute): refine Windows Node panel
|
2026-08-12 17:32:05 +08:00 |
caoqianming
|
b555059bc4
|
feat(admin): manage Windows compute nodes
|
2026-08-12 17:17:02 +08:00 |
caoqianming
|
fac4e5fa0a
|
feat(compute): add Windows Node desktop client
|
2026-08-12 16:57:06 +08:00 |
caoqianming
|
109d395356
|
feat(compute): 实现 Windows Node 注册与心跳
|
2026-08-12 15:56:28 +08:00 |
caoqianming
|
1ac9aa1ba0
|
fix(files): prevent silent upload overwrites
|
2026-08-12 14:13:42 +08:00 |
caoqianming
|
6b37ce141f
|
perf(storage): optimize database hot paths
|
2026-08-12 13:54:40 +08:00 |
caoqianming
|
531ad51015
|
fix(preview): enable wheel and touch scrolling
|
2026-08-12 13:37:09 +08:00 |
caoqianming
|
4932f00e90
|
feat(artifacts): add lifecycle tracking and trash
|
2026-08-12 12:44:28 +08:00 |
caoqianming
|
641a69455d
|
fix(preview): restore continuous document scrolling
|
2026-08-12 10:57:26 +08:00 |
caoqianming
|
16cfa45f38
|
fix(chat): 发送消息后关闭文件预览
|
2026-08-11 14:38:12 +08:00 |
caoqianming
|
b96c6d021f
|
fix(external-systems): 修复 MCP 接口数量显示
|
2026-08-11 11:58:06 +08:00 |
caoqianming
|
e53e91372d
|
feat(external-systems): 使用弹框管理连接并标识类型
|
2026-08-11 11:15:02 +08:00 |
caoqianming
|
2b4316ed25
|
refactor(external-systems)!: 统一为通用 API provider
移除 factory_mes preset 和兼容包装,新增存量 definition 一次性迁移脚本,并让 OpenAPI 参数直接遵循规格约束。
BREAKING CHANGE: 管理 API 不再接受 factory_mes provider,部署新版前必须先执行 definition 迁移脚本。
|
2026-08-10 17:26:39 +08:00 |
caoqianming
|
44b7df6f20
|
feat(external-systems): add generic MCP connector
|
2026-08-10 16:04:51 +08:00 |
caoqianming
|
2187c7f0d0
|
fix(preview): restore continuous document scrolling
|
2026-08-10 09:16:01 +08:00 |
caoqianming
|
8d741e4141
|
fix(preview): support document previews in app webviews
|
2026-08-10 08:55:44 +08:00 |
caoqianming
|
9032c5b517
|
fix(external-systems): preserve credentials on definition updates
|
2026-08-07 11:25:29 +08:00 |
caoqianming
|
0e4bd0456a
|
feat(external-systems): 重构连接治理与运行态缓存
|
2026-08-07 10:12:37 +08:00 |
caoqianming
|
5430379d76
|
fix(context): 按模型协议治理历史推理上下文
|
2026-08-06 16:43:20 +08:00 |
caoqianming
|
fdbaf934b6
|
fix(tasks): 增加自动标题本地兜底
|
2026-08-06 16:42:24 +08:00 |
caoqianming
|
d7cb88c7ba
|
fix(files): consolidate toolbar actions
|
2026-08-06 15:14:59 +08:00 |
caoqianming
|
02e7d2cb14
|
feat(files): create folders from file panel
|
2026-08-06 15:04:15 +08:00 |
caoqianming
|
e73521b3c9
|
fix(chat): keep model label on one line
|
2026-08-06 14:24:41 +08:00 |
caoqianming
|
4873dd0ae5
|
fix(chat): keep new conversation model controls inline
|
2026-08-06 14:14:38 +08:00 |
caoqianming
|
689059eb8e
|
feat(chat): choose model for new conversations
|
2026-08-06 14:00:48 +08:00 |
caoqianming
|
7e544827c0
|
feat(files): toggle task hidden directories
|
2026-08-06 12:05:36 +08:00 |
caoqianming
|
41cd7858a1
|
feat(external-systems): add persistent result exports
|
2026-08-06 11:10:06 +08:00 |
caoqianming
|
e81005435e
|
fix(external-systems): preserve complete OpenAPI responses
|
2026-08-06 10:32:31 +08:00 |
caoqianming
|
80fbc7ab4a
|
feat(external-systems): support generic OpenAPI integrations
|
2026-08-05 17:18:29 +08:00 |
caoqianming
|
af0ad934bb
|
feat(external-systems): guide MES aggregate queries
|
2026-08-05 15:01:43 +08:00 |
caoqianming
|
c489210b2a
|
fix(external-systems): 修复 MES 接口路径前缀
|
2026-08-04 17:28:13 +08:00 |
caoqianming
|
cb9a39f33d
|
feat(external-systems): add managed MES connections
|
2026-08-04 16:53:58 +08:00 |
caoqianming
|
20c5bffa7b
|
feat(ppt): prioritize zongyuan red template routing
|
2026-08-04 12:09:02 +08:00 |
caoqianming
|
eedaf2c1fe
|
feat(web): add compact message actions
|
2026-08-04 11:33:27 +08:00 |
caoqianming
|
8cf08c0f23
|
feat(web): widen artifact previews and refine file chips
|
2026-08-04 09:11:32 +08:00 |
caoqianming
|
0bc8c28a02
|
fix(eval): 修复依赖审计网络与缓存配置
|
2026-08-04 08:39:53 +08:00 |
caoqianming
|
137d27acdd
|
fix(security): 强化工程类型检查与依赖审计
|
2026-08-03 16:59:32 +08:00 |
caoqianming
|
cee4eb4c14
|
feat(eval): add reproducible technical benchmark
|
2026-08-03 16:10:38 +08:00 |
caoqianming
|
bc45753f77
|
feat(models): unify thinking controls
|
2026-08-03 14:36:50 +08:00 |
caoqianming
|
dfda6fd772
|
feat(image): support GPT image editing
|
2026-08-03 14:31:38 +08:00 |
caoqianming
|
57655984dd
|
feat(web): add task-scoped artifact references
|
2026-08-03 13:49:20 +08:00 |
caoqianming
|
4ec2638d38
|
feat(web): embed interactive HTML artifacts
|
2026-08-03 11:34:35 +08:00 |
caoqianming
|
328607671a
|
feat(web): preview HTML and source files
|
2026-08-03 11:16:40 +08:00 |
caoqianming
|
f217672365
|
feat(web): render Mermaid diagrams in chat
|
2026-08-03 10:26:39 +08:00 |
caoqianming
|
a00ebfe50e
|
fix(markdown): repair nested code fences
|
2026-08-03 10:11:25 +08:00 |
caoqianming
|
a8b84b1d6f
|
feat(web): allow attachments to start conversations
|
2026-08-03 09:57:21 +08:00 |
caoqianming
|
b0e0182b73
|
fix(agent): route PDF ingestion through markitdown
|
2026-08-03 09:43:57 +08:00 |
caoqianming
|
8999fb1b77
|
fix(rendering): detect LibreOffice components
|
2026-08-03 09:27:30 +08:00 |
caoqianming
|
21a90cf201
|
fix(rendering): route PDF conversion through platform tools
|
2026-08-03 08:55:54 +08:00 |
caoqianming
|
75bb482015
|
feat(media): support GPT image output controls
|
2026-07-31 17:32:15 +08:00 |
caoqianming
|
13e3e50371
|
fix(web): sort tasks by recent activity
|
2026-07-31 15:02:13 +08:00 |
caoqianming
|
cd6a76cba9
|
fix(storage): 兼容消息中的 NUL 字符
|
2026-07-31 14:43:10 +08:00 |
caoqianming
|
afdcf46577
|
feat(tasks): streamline task creation and embedded entry
|
2026-07-31 14:31:50 +08:00 |
caoqianming
|
da265b88d5
|
fix(web): open embedded task working directory
|
2026-07-31 13:54:22 +08:00 |
caoqianming
|
3c022494f5
|
fix(web): retitle cleared conversations
|
2026-07-31 13:00:34 +08:00 |
caoqianming
|
bcdbdd4738
|
Streamline conversation activity UI
|
2026-07-29 15:59:00 +08:00 |
caoqianming
|
02b278b175
|
Refine mobile conversation layout
|
2026-07-29 15:13:51 +08:00 |
caoqianming
|
369c74483c
|
Refine workspace reading and mobile layout
|
2026-07-29 14:59:10 +08:00 |
caoqianming
|
07eba5c402
|
Polish web workspace visual foundation
|
2026-07-29 14:34:46 +08:00 |
caoqianming
|
cfc1d17af7
|
优化工具失败观测与重复保护
|
2026-07-29 09:29:44 +08:00 |
caoqianming
|
6f2840a5d0
|
统一运行生命周期入口
|
2026-07-28 15:34:42 +08:00 |
caoqianming
|
7cfeebfa89
|
增强消息运行可靠性
|
2026-07-27 17:50:31 +08:00 |
caoqianming
|
70683b7d09
|
增强知识库文件写入一致性
|
2026-07-27 16:37:56 +08:00 |
caoqianming
|
ade3a847f6
|
Fix web search date handling
|
2026-07-27 12:50:07 +08:00 |
caoqianming
|
c3a6f7deee
|
Add workspace-first new conversation flow
|
2026-07-27 12:28:56 +08:00 |
caoqianming
|
85c918dc2f
|
Add safe conversational workspace rename
|
2026-07-27 11:23:20 +08:00 |
caoqianming
|
98713bb7fa
|
feat(seedance): support image-to-video references
|
2026-07-27 10:50:13 +08:00 |
caoqianming
|
e0aa8130af
|
fix(kb): 零库时注入冷启动契约,修「放进知识库」被误写进记忆
根因:kb_block 零库返回空串,agent 不知道 KB 机制存在,用户点名"知识库"
被就近理解成记忆写进 .memory/(真实用户事故)。与 memory 空契约常驻同一课。
- core/kb.py: 新增 _KB_COLD_START(建库步骤 + INDEX 行格式 + KB/记忆分工,
~百 token);kb_block 零库分支改注该契约,有库分支不变
- tests/test_kb_block.py: 锁两分支(冷启动文案/路径展示/全量 INDEX/空库)
- DESIGN.md §3.8: "有库才注入"取舍更新为冷启动注入 + 事故记录
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-24 15:31:50 +08:00 |
caoqianming
|
bcd2b90942
|
refactor(storage): 失败埋点拆出 telemetry.py + kind 契约常量化;补 wecom 加解密测试
收官三小项(架构审查残余):
- core/storage/telemetry.py:四个留痕函数(malformed/salvaged/empty/run_error,
cost 恒 0)从 usage.py 迁出——「usage=计费」心智不再被埋点污染(数据层 Top4);
kind 字符串升为常量,loop/llm_transport(写)与 toolfail(读 SQL)两侧共用
同一事实源,此前靠字面量约定、改名会静默漏读。core.storage.__init__ 转发
出口不变,调用面仅 web/runs.py 一处改 import
- tests/test_wecom_crypto.py:7 用例,企微回调加解密(WXBizMsgCrypt 等价实现)
测试侧按同方案自造密文,覆盖验签/receiveid/padding 各失败路径——wechat 子系统
(审查 Top3 零测试)中唯一可纯测的一块补上
- DB 测试探针补 connect_timeout=5:测试库挂掉时快速降级 skip,不再把整个
discovery 挂死在 TCP 建连上(Docker engine 打嗝时实测挂死过)
带测试库 351 全过 / 无测试库 341 过(DB 组干净 skip)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-23 14:21:45 +08:00 |
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 |
caoqianming
|
0d34141527
|
test(web): 路由级测试首批(无 DB 面)——鉴权门全覆盖 + kb/skills/memory/files FS 路径
拆分 router 后的接线回归(审查 Top1 风险面此前零路由测试):
- 公开端点:/healthz、/v1/changelog(limit clamp)、/ 302
- 鉴权门:11 个 router 的 19 个代表端点无 token 一律 401(哪个模块漏挂
Depends(require_user) 当场红);坏 token 401、坏 platform_key 403、
user_id 非法 400(落库之前拦下)
- FS 类业务:kb 建/详/删/非法名、skills 列/详/内置不可删、memory 只读+穿越
404、files 子目录列/下载/越界 400/非顶层改名/拷贝 409 预检/删文件/非空目录 400
- 隔离:JWT 与 app 同源 env 直签(不假设 key 值,兼容 litellm dotenv 抢先加载);
随机 user_id 子树 teardown 整树删;TestClient 不进 with(不跑 lifespan 不碰 DB)
- 顶层目录 DB-aware 分支与 upload 配额留给 ZCBOT_TEST_DB_URL 套件
334 测试全过。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-23 13:34:07 +08:00 |