lxy
|
9eb2995a74
|
新增: 工具工作流补全(diff_files工具 + 技能清单注入 + 工作流进度共享 + human端到端测试 + 知识库MCP工具)
|
2026-08-08 21:24:53 +08:00 |
|
lxy
|
6ba6daf188
|
优化: aichat 打磨收尾(切换信任保留 + save并发串行 + 后台授权守卫 + 分离窗口失效 + 气泡截图复制)
|
2026-08-08 21:08:25 +08:00 |
|
lxy
|
4092a8d5bb
|
优化: 前端体验批次(Knowledge持久化+流式缓存失效 + dfnodes节点注册 + delta 50ms合批 + MCP schema必填校验+bind_directory对齐)
|
2026-08-08 20:19:19 +08:00 |
|
lxy
|
97525a3143
|
新增: 任务关联工程(module_id 数据层V41 + AI module 写工具6个 + 任务构造补字段)
|
2026-08-08 20:01:34 +08:00 |
|
lxy
|
fe780c0084
|
优化: 弱模型治理收尾(AC-2探索预算:单轮上限+目录去重+禁绕行 + AC-5失败画像:合法目标回灌+相近锚点提示)
|
2026-08-08 19:38:53 +08:00 |
|
lxy
|
02c8d8e5ea
|
修复: MCP 多进程缺陷(update CAS乐观锁 + 审计落盘 + 空闲超时 + busy_timeout + stdio写回调 + list分页)
|
2026-08-08 18:43:38 +08:00 |
|
lxy
|
6aa334fc9b
|
优化: 弱模型工具行为治理(项目/任务清单补id + 缓存命中警告 + read_symbol 提示)
|
2026-08-08 18:11:21 +08:00 |
|
lxy
|
3dfa043bb6
|
文档: 待办看板更新(aichat 切换/新建缺陷登记 + F-09 销账 + archive 排除)
|
2026-08-08 14:20:44 +08:00 |
|
lxy
|
9f75db5b15
|
修复: aichat 切换/新建对话缺陷(队列串会话/回切丢消息/审批误终态化/删除复活/切换链路)
|
2026-08-08 14:20:10 +08:00 |
|
lxy
|
b408b2d7a1
|
优化: 模型能力探测前缀匹配收紧 + 手动标注能力不被测试覆盖
|
2026-08-08 14:19:38 +08:00 |
|
lxy
|
4ce6a859e7
|
优化: anthropic 协议图片 URL 预拉转 base64 + 无 Vision 模型温和丢图
|
2026-08-08 14:19:15 +08:00 |
|
lxy
|
c1f2fe16c8
|
新增: 本地工具代理网关(AI 工具统一走 127.0.0.1:8899 转发 mysql/ssh/mongo/redis)
|
2026-08-08 14:19:03 +08:00 |
|
lxy
|
e68d283651
|
优化: UI/UX遗留批(审计/AI命令层/前端组件,会话前基线收尾)
- AuditLog +298(筛选/详情/i18n)+ audit 后端 record/mod
- AI 命令层:generate_image +81 / fetch_url / fetch_search / skills / tool_registry / tools/file / provider / conversation
- 前端组件:AiChat/TopBar/ConversationSidebar/GitChanges/ApprovalPopup/Dashboard/ProjectDetail 等 30+ + composables + i18n
- 诊断文档: aichat历史会话实证诊断-2026-08-04 + project_soft_delete 测试
|
2026-08-05 22:15:34 +08:00 |
|
lxy
|
28de5d6143
|
新增: 父子任务支持(数据→后端→前端全链路,会话前基线收尾)
- df-nodes task_advance_node(父聚合推进)+ task.rs 命令(create parent_id 支持/delete 级联软删子任务)+ task_graph 工具
- 前端 Tasks 树形列表(折叠箭头/子进度徽章/缩进)+ 新建弹窗父任务下拉 + TaskDetail 父面包屑/子任务面板
- 设计文档: 父子任务支持设计-2026-08-04
|
2026-08-05 22:15:01 +08:00 |
|
lxy
|
a91e950874
|
新增: MCP HTTP transport + 系统托盘 + 实体解析(会话前基线收尾)
- df-mcp 加 streamable HTTP transport 层(axum 0.7 + tower,server_http.rs),lib.rs pub mod 接线
- src-tauri 加 mcp.rs(spawn_mcp_http + mcp_get_status IPC + mcp-server CLI)+ tray.rs(系统托盘 show_main/setup_tray),lib.rs 集成 + main.rs mcp-server 参数路由
- AI 工具加 entity_resolve.rs(实体解析,tools/mod.rs pub mod 接线)
|
2026-08-05 22:14:27 +08:00 |
|
lxy
|
5667da6cf4
|
优化: 边界加固(AI loop竞态根治+数据/审批/反馈/并发/错误分类)
AI loop 竞态(P0):per-conv epoch/owner token + 存活心跳治 force_send 双loop + stop 3s兜底误判;旧loop stale 全跳过(guard/emit/save)
agentic 收尾(A2-B8):Fatal 退出落库user消息(镜像Exhausted)+ 入口早退补save + usage is_estimated 打标 + emit_ai_completed_once 单点收敛清审批残留
聊天清理(A2-B9):clearChat 先停loop→DB单事务→内存清(clear_conversation_atomic)+ 前端错误气泡
循环并发(A2-B11):三态 ProviderAcquire(NotConfigured/Acquired/Exhausted)+ 候选循环非阻塞+防抖3次饱和降级+单测
错误分类(A2-B12):stream error帧接入 classify_status_or_class + 关键词保守降级 + 7单测
数据(G1.2/G1.4):purge_with_descendants 级联补全(11表单事务+存在性守卫)+ move_task_queue 单事务收口(两调用方共用)
git只读(G3.1):run_git_status/diff/log success判定(exit_code差异语义,失败结构化{success:false,error})
安全(G5.2/G5.6):create_project 目录Err+name校验 + module.rs 路径遍历DRY(分段匹配修a..b.rs误伤)
幂等(V2/V32):裸ALTER全守卫化 + v1..v40全链重跑幂等测试(16过)
附:remote_bridge await 临时引用修(E0716)+ agentic emit 收敛 E0716 app_state 绑定修
|
2026-08-05 22:10:32 +08:00 |
|
lxy
|
ec9f0bf1ea
|
优化: 工程实体化(description/stack/status)+ 概览工程列表
- project_modules 加 description/status 列(V40 迁移,stack V34 已有)+ models/repo/INSERT/UPDATE/SELECT 映射
- FileExplorer 工程 CRUD 弹窗加 description(textarea)/stack(input)/status(select)输入,工程有完整身份
- ProjectDetail 概览工程列表升级:name+status badge+path + description 段(2行省略)+ stack tag
- 老工程兼容(None=active),update 部分更新语义,status 归一(active/archived)
|
2026-08-05 22:10:07 +08:00 |
|
lxy
|
a031521776
|
优化: token分项显示(in/cache/out/reasoning)+ 详情面板 + base前置
token分项(各计费不同,不显 total):df-ai 解析 provider cache/reasoning(openai_compat prompt_cache_hit/miss/reasoning_tokens + anthropic cache_read/creation)+ TokenUsage 加字段(全构造点)+ AiMessage/AiCompleted/DB V39(ai_messages 加 cache_hit/miss/reasoning 列)+ message_repo 映射(持久化)+ 前端 MessageList 显 in·cache·out·reason(in=cache_miss 全价,reasoning 有才显)+ 点击 token 弹详情面板(完整 usage+缓存命中率+model)+ df-miniapp 同步
base前置(提升 prompt cache 命中率):chat.rs aug 拼 base 后(4处)+ knowledge_inject 知识拼 base 后(固定 base 前缀,cache 命中)
附修:replace_conversation 原 13 列 INSERT 丢消息级 token → 改 18 列
|
2026-08-03 01:22:30 +08:00 |
|
lxy
|
864c696b70
|
优化: token消息级持久化 + 技能注入修复 + TopBar减法/UI调
token持久化(方案A,治压缩/切会话后历史token不显):ChatMessage/AiMessageRecord 加 prompt_tokens/completion_tokens(serde + DB V38 迁移 + message_repo 映射);agentic push_assistant_message 设本轮 token + provider/title 构造默认 None;前端 AiMessage 加字段 + switchConversation reload 映射 tokenUsage(双轨:消息级新+会话级旧累计保留)
技能注入修复:read_skill_content_stripped 改 skills_cached 扫盘(防御 SKILLS None 致不注入)+ 细化诊断(缓存/path/fs 各步)
TopBar减法/UI:删铅笔新建(与侧栏+重复)/删垃圾桶clear-chat(危险,clear-context归档替代)/删系统就绪装饰占位;更多菜单popout CSS补全(修样式错乱);provider绿点有信息化(绿/红/灰基于AI请求成败)+垂直居中;goals面板补top:100%(修位置飘)+dot/check/remove CSS+goals/history item统一+history index边距;4面板互斥(点一个收其他)
MessageList token v-if 去 !streaming(修发新消息历史token消失)
|
2026-08-02 18:17:30 +08:00 |
|
lxy
|
f736f435bc
|
优化: 所有剩余UI/UX待办一批完成(持久化+AuditLog+解耦+total+原12大改+P2)
持久化(P1-c):新建 usePersistedRef composable,Tasks/AuditLog/ProjectDetail 等接入 localStorage
AuditLog(P1-d):后端 list_tool_executions 加 WHERE 筛选+返 {items,total,has_more},前端对接+长列折叠+筛选持久化
数据源解耦(P1-g):ProjectDetail projectTasks 按 project_id 独立加载 + ChatInput @项目联想独立加载(不读 store.tasks 当前页)
GitChanges(12a):后端 get_module_commits 加 git rev-list --count 返 total,前端显真实总数
原12大改:Dashboard 统计卡压底行(1)/Projects 列表卡片视图(2)/project_event 埋点排序(3)/TaskDetail 重设计(4)/IdeaDetail 重设计(5)/KnowledgeDetail 重设计(6)/界面持久化+侧栏Ctrl+B+审批数字键(7)/ProjectDetail 三栏改两栏(10)
P2打磨:文件浏览器(FileTree去重/FilePreview行号.md Diff/selectedFilePath归位)/settings反馈(假保存/端口校验)/AI会话(try-catch/scrollIntoView)/后端计数(move_queue事件/timeline total/workflow分页/import_batch分块)/杂项(TopBar/ConfirmDialog键盘/CIStatus i18n/ToolResultBody/ModuleNode/ApprovalDialog全选)
|
2026-08-02 13:11:06 +08:00 |
|
lxy
|
7f0edced01
|
修复: UX扩展审查P0批(后端git/路径确定性bug + 前端UI + 编译阻断)
后端(src-tauri):
- project.rs: 4处空if目录校验补return Err(import/relocate/scan_directory/scan_project_with_ai),目录不存在不再静默放行
- ai/tools/git.rs: exec_git改返(String,bool)治git_commit·git_branch create/switch假成功 + git_merge补失败分支 + 加CREATE_NO_WINDOW
- module.rs: run_git_cmd加CREATE_NO_WINDOW,治Windows cmd黑窗闪烁(原问题9)
前端:
- DependencyGraph.vue: 环检测高亮注入renderGraph,原被fromJSON重建抹除致功能失效
- FileExplorer.vue: 工程下拉closeDropdown加closest判定,原打不开
附(预存编译阻断顺带修):
- df-nodes ai_node_helpers.rs: extract_first_json_object临时值借用悬垂E0716
- MessageList.vue: 删isLastUser死代码(vue-tsc TS6133)
审查产出: docs/05-代码审查/UIUX扩展审查-2026-08-02.md(80条发现,8高grep核验全属实)+ docs/todo.md批次段
|
2026-08-02 12:19:40 +08:00 |
|
lxy
|
3f2cf5fa3a
|
重构: agentic 架构(run_agentic_loop 抽 finish_round_exit + router 调用点 + provider_pool 亲和 enabled)
- run_agentic_loop: 抽 finish_round_exit + emit_ai_completed_once(6 退出点收敛)
- compress/title/knowledge_inject/project: router estimated_context+tier 调用点对齐
- provider_pool: 亲和加 model.enabled 过滤
|
2026-08-02 10:44:09 +08:00 |
|
lxy
|
fc249adf17
|
修复: 全库走查 P0+P1(df-mcp 数据丢失/evaluate 拆 + df-execute probe_pwsh 死缓存/超时/单源 + ai_self_review 注入隔离)
- df-mcp P0: update_idea/project/task 缺省回退 existing(治部分更新清空 title 丢数据)+ P1: evaluate_idea 拆只读(Low)+score_idea(Medium 写),read-only 不再改库
- df-execute P0: probe_pwsh 死缓存(两 OnceLock 合并 PWSH_CACHE 单源,治 Windows 永走 PS5)+ P1: probe_pwsh 3s 超时防挂起 + detect_shell 复用 shell.rs 单源(探测与执行对齐)
- df-nodes P1: ai_self_review prompt 注入隔离(truncate + XML 标签 <task_output> 数据/指令隔离 + system 声明)
- generate_image: SSRF 集成测试 + b64 OOM 估算纯函数测试(走查测试增强)
|
2026-08-02 03:11:44 +08:00 |
|
lxy
|
dffc4e4851
|
修复: 走查发现(空 id 跨轮全局唯一 + generate_image SSRF/OOM + 技能日志 + fallback 测试)
- 空 tool_call id fallback 改全局 AtomicU64 计数器(跨轮跨 assistant 唯一,治空气泡+
L1 误熔断+三元组错位,实证 af2fab4e);fallback 测试硬编码改 starts_with(解耦计数器)
- generate_image provider POST 补 SSRF 防护(复用 http.rs validate_url/resolve_and_check_host,
治 base_url 用户可配打内网)+ b64_json 解码前估算长度防 OOM
- SkillResolver 加 tracing 日志(定位技能发送后未注入:name 匹配/read 失败)
|
2026-08-02 02:42:02 +08:00 |
|
lxy
|
953a3fbba1
|
优化: prompt 策略(obscura 失败重试 + 精确不猜 + 工具职责 + get_app_config 引导)
obscura render 失败 2 次换方案 + 成功即收手;精确提取链接不臆造 URL;fetch_url/download_file
/http_request 职责区分;get_app_config 引导(禁 run_command 查配置)。
|
2026-08-02 02:21:33 +08:00 |
|
lxy
|
b999f79fdf
|
新增: AI 工具(download_file + http output_file + grep 窗口 + fetch_search 搜索 + get_app_config + generate_image)
download_file 跨平台 URL 到文件流式下载;http_request output_file 落盘 + 截断可配;
grep context_chars 大单行窗口;fetch_search DuckDuckGo 免 key 搜索;get_app_config
只读返当前配置(治 AI 查配置绕 PowerShell);generate_image SenseNova 图像生成。
|
2026-08-02 02:21:32 +08:00 |
|
lxy
|
023377ab24
|
修复: read_file 可靠性 + obscura 渲染(压缩豁免 + UTF-16 闭环 + stdout 救回)
read_file 压缩豁免(AI 定向读代码不折叠)+ UTF-16 BOM 闭环(read_file/read_symbol/patch_file);
obscura 非零退出码救回 stdout + fetch markdown 空壳 fallback scrape --eval + 探测日志。
|
2026-08-02 02:21:31 +08:00 |
|
lxy
|
57d6a2d066
|
修复: AI 对话/工具可靠性(sanitize 三元组 + G2 签名重复 + handshake 不杀 loop + 空 tool_call id 兜底)
治 5 个对话停止/工具失败根因:sanitize 三元组按 id 配对治 400;G2 探索熔断从结果空
改签名重复判定(治误停正常探索);handshake 删越权强杀活 loop(generating 归 guard 单源);
空 tool_call id 兜底 gen_<index>(治 SenseNova 工具结果路由错位)。
|
2026-08-02 02:21:30 +08:00 |
|
lxy
|
c76e77bd3c
|
修复: 审批挂起关不了(None分支补emit+恢复对账) + obscura检测区分未装/失败(防误弹)
|
2026-08-01 22:26:23 +08:00 |
|
lxy
|
31aba79512
|
修复: fetch_url obscura spawn 加 CREATE_NO_WINDOW(治 CMD 窗口闪烁)
|
2026-08-01 20:48:50 +08:00 |
|
lxy
|
3afaff9efe
|
新增: obscura 安装引导(prompt AI 看 hint 帮装 + 前端工具卡片 AI 帮装按钮)
|
2026-08-01 18:07:56 +08:00 |
|
lxy
|
d664bdc309
|
优化: run_command 实时流式 + 审批浮窗修复 + 文档探索闭环(fetch_url+obscura引导+model_fetch兼容+prompt策略+厂商预设)
|
2026-08-01 17:58:47 +08:00 |
|
lxy
|
0e0c6862ba
|
优化: Provider 配置体验(测试读表单值 + 保存反馈 + 报错友好 + 厂商预设,部分完成)
|
2026-08-01 16:35:49 +08:00 |
|
lxy
|
2b08e32c26
|
修复: 审批浮窗 3 bug(打开面板权限/审批后空转自关/关闭顺序)
|
2026-08-01 16:05:44 +08:00 |
|
lxy
|
7193901bc4
|
修复: IPC update_project/task 实体校验(false→Err 治假成功)+ status 白名单确认(B-260801-01)
|
2026-08-01 16:04:31 +08:00 |
|
lxy
|
8c0ff80cd4
|
新增: aichat Plan-driven Phase1(LLM 出 Plan + 开关默认关 + 三重兜底 + emit AiPlanCreated)
|
2026-08-01 16:01:11 +08:00 |
|
lxy
|
1ddf48d40f
|
新增: 审批系统级浮窗(WebviewWindow 自定义样式 + 内容/直接操作 + 点击回审批)
|
2026-08-01 15:30:03 +08:00 |
|
lxy
|
7d33442199
|
修复: extract_key_info 截断标记统一 + 断路器 key 滑动窗口 + 桌面跨端 4 路由 + dead_code 预留标 allow
|
2026-08-01 15:17:24 +08:00 |
|
lxy
|
db99e7107c
|
修复: OpenAI SSE error 识别 + 条件引擎 warn + MidStream stop_flag 优先 + 双窗口 listener 时序加固
|
2026-08-01 14:53:03 +08:00 |
|
lxy
|
ba578dfe6c
|
修复: 灵感 CRUD 工具补齐 + handler 透传 affected(B-260801-01)
|
2026-08-01 14:43:27 +08:00 |
|
lxy
|
6b68aa63e8
|
重构: tool_registry 剩余 21 工具迁声明式(task_graph/git/http/workflow/idea/trash)
|
2026-08-01 13:30:05 +08:00 |
|
lxy
|
c27fd75d20
|
重构: tool_registry file 工具迁声明式(13 工具→tools/file.rs,tool_registry 减 1091 行)
|
2026-08-01 13:20:36 +08:00 |
|
lxy
|
b68dc363d4
|
重构: tool_registry task 工具迁声明式(6 工具→tools/task.rs)
|
2026-08-01 13:10:16 +08:00 |
|
lxy
|
1920bcbd38
|
重构: tool_registry 项目工具迁声明式(7 工具→tools/project.rs)
|
2026-08-01 13:05:33 +08:00 |
|
lxy
|
c002f0b352
|
重构: tool_registry 声明式注册基础设施(declare_tool! 宏 + list_projects 试点,零回归)
|
2026-08-01 12:56:19 +08:00 |
|
lxy
|
c34ad062e7
|
优化: 消息落库增量写(Phase1:全量 DELETE+INSERT → 增量 INSERT + dirty 标记)
|
2026-08-01 12:42:49 +08:00 |
|
lxy
|
484080ac12
|
修复: unwrap 吞错 + lock 中毒 panic 高危项(数据吞 warn 跳过 / lock 降级返 Err)
|
2026-08-01 12:21:52 +08:00 |
|
lxy
|
d7e2845881
|
修复: 断路器失败判定纯结构化(失败 content 包 JSON envelope,is_failure_content 只读字段不解析内容文本)
|
2026-08-01 12:00:23 +08:00 |
|
lxy
|
20ec571dbb
|
修复: checkpoint 参数化 + 压缩 permit 死锁降级 + 密钥归一化 + SSE CRLF/多字节
|
2026-08-01 11:30:05 +08:00 |
|
lxy
|
c4ba920cf5
|
修复: spawn panic 兜底 + namespace 淘汰提示 + run_command 超时与破坏命令信任门控
|
2026-08-01 11:10:28 +08:00 |
|