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
|
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
|
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
|
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
|
cb9a39f33d
|
feat(external-systems): add managed MES connections
|
2026-08-04 16:53:58 +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
|
137d27acdd
|
fix(security): 强化工程类型检查与依赖审计
|
2026-08-03 16:59:32 +08:00 |
caoqianming
|
bc45753f77
|
feat(models): unify thinking controls
|
2026-08-03 14:36:50 +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
|
683bdf993d
|
fix(web): restore conversation clearing
|
2026-07-31 16:37:39 +08:00 |
caoqianming
|
13e3e50371
|
fix(web): sort tasks by recent activity
|
2026-07-31 15:02:13 +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
|
5c80fb202b
|
fix(web): hide lifecycle actions for channel chats
|
2026-07-31 11:30:50 +08:00 |
caoqianming
|
61648f1114
|
Add context menus to task and file lists
|
2026-07-29 16:35:20 +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
|
ff3bc75fed
|
合并工作目录新建入口
|
2026-07-29 14:00:04 +08:00 |
caoqianming
|
03ee37e201
|
改进工作目录可搜索选择
|
2026-07-29 13:48:16 +08:00 |
caoqianming
|
d75df5a4b4
|
优化新对话目录选择
|
2026-07-29 13:38:20 +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
|
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
|
eab623d5b5
|
fix(web): kb 条目与单篇页补显原件文件名
已入库条目此前只把 source 用于查看/下载按钮,原件名(含后缀)无处显示。
标题后加灰色小字原件名(悬停提示同步带上),单篇页头部加「原件: xxx」,
新增 .kb-src-name 样式两处共用;不破坏单行精简版式。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-24 16:17:39 +08:00 |
caoqianming
|
0c74a44224
|
style(web): kb 已入库条目精简为标题+单行摘要
- 行内去掉关键词、摘要 CSS 单行省略(原 .sk-desc 省略规则只覆盖左栏
.sk-item,右栏 kb-entry 整段换行铺开导致每条过高)
- 完整摘要+关键词挪进悬停 title,信息不丢
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-24 15:45:05 +08:00 |
caoqianming
|
0ceb4c5bd9
|
feat(web): kb 查看原件(复用文件预览弹框)+ 预览层级抬到 modal 之上
- kb.js: 已入库条目行/单篇页/待入库列表三处加「查看原件」,直接
openFilePreview(.kb 相对路径,与下载同通道 /v1/files/download)
- dev.html: file-preview-modal z 90→114(盖过 kb/skills/memory 等 112 层
modal,仍低于 app-dialog 130)、fp-open chat-form 95→115、mini 96→116
- main.js: Esc 关栈顺序同步(小预览→文件预览→各 112 层 modal→选入→新任务)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-24 15:38:37 +08:00 |
caoqianming
|
0cd5b07124
|
feat(web): kb 下载入口(原件+解析 Markdown)+ bump 0.59.3
- kb.js:已入库条目行「⬇ 下载原件」、单篇页头「下载原件/下载
Markdown」、待入库列表逐项下载;复用 media.js downloadFile 走现成
/v1/files/download(.kb 在 user_root 下,safe_join 天然放行),零后端改动
- dev.html:新按钮三行 CSS(hover 淡入同删除按钮、待入库行间距)
- 弃选:kb 专属下载端点(与 files 下载重复,公测期白养对外契约)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-23 21:33:23 +08:00 |
caoqianming
|
8751f71f5a
|
feat(web): 移动端对话附件入口(拍照/照片库/选文件)+ bump 0.59.2
chat 输入区此前仅粘贴/拖拽两条附件路,移动端双双不可用。加 [附件] 按钮:
触屏弹三项菜单(拍照 capture=environment / 照片库 accept=image,video /
选取文件无 accept),桌面端直开文件选择器;三入口 change 统一走既有
uploadAttachFiles 链路,只读镜像随 applyChannelComposerLock 禁用。
纯前端改动,无后端/schema 变化。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-23 14:49:16 +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 |