c409a675cf
重构: workspace_root 弱化方案①去默认白名单
...
default_with_root 不再编译期硬塞 CARGO_MANIFEST_DIR(分发后无效路径)+ reload_allowed_dirs KV 空时不兜底塞。用户首次访问走弹窗三档授权,对齐产品定位(不预设源码目录)。3 测试改显式构造。
2026-06-25 01:19:05 +08:00
4c54288a8d
重构: 移除 AI 消息重新生成入口及配套调整
...
- MessageList: 移除末条 AI 消息重新生成操作栏入口
- package.json: build:dev 改 tauri build --debug --no-bundle(只编译不打包)
- 文档: workspace_root 弱化决策 + BUG-260625-01/02 工具修复记录
2026-06-25 01:03:52 +08:00
047b3b91fa
修复: read_file/grep 工具结果处理
...
BUG-260625-01 grep 单文件路径走 grep_one_file(旧 read_dir 报 os error 267 目录无效);BUG-260625-02 read_file search 模式渲染命中行 matches(旧取 content 显 0 行误判读取失败)。
2026-06-25 00:27:02 +08:00
24c3fa08f1
新增: 路径授权三档化 once/session/always
...
Phase B 弹窗 once/always → once/session/always 三档(本次单次执行后清/当前会话切会话清/始终落KV)。修 once 原写 session 致本次实为本会话名实不符。AllowedDirs 加 once 层 + ai_authorize_dir decision 改 match 四分支 + 执行后 clear_once。
2026-06-25 00:23:07 +08:00
56a08fb5c1
修复: 压缩摘要落可压缩区致循环卡死
2026-06-24 23:26:48 +08:00
953863af8e
文档: CR-260622-01残留销账(P2-1伪问题核验+979 return过早+P2-2评估降级)
2026-06-24 23:08:30 +08:00
7d2998e04e
修复: grep搜索误标Medium致每次审批
2026-06-24 23:04:26 +08:00
93172a6844
修复: 工具执行无心跳致流中断误报
2026-06-24 22:13:48 +08:00
8df7e248b4
文档: 审查销账与CR-260622-01结案(TD-260621-05双轨销账+BUG残留销账+CR残留登记+REFACTOR描述更新)
2026-06-24 17:53:08 +08:00
ba811ead96
修复: TD-260621-05审批状态双轨统一(executed→completed+V27迁移+测试)
2026-06-24 17:48:42 +08:00
ebba9735ed
修复: BUG-260624-01残留(scrollToFirstPending return过早+listener props过滤)
2026-06-24 17:38:40 +08:00
a7dbd50a4d
修复: aichat P2确定性bug批(audit吞错落日志+switch/delete占位终态化)
...
finalize: audit_tool_call insert 用 let _ = 吞 DB 错改 match Err tracing::error(对齐 audit_finalize:82模式,控制流不变不阻断,审计写失败落日志可确诊)
conversation+chat: switch/delete retain pending 前补 finalize_pending_placeholders 占位终态化(对齐 stop/clear/force_send,防占位 tool_result 残留下次发送喂 LLM);chat.rs finalize_pending_placeholders 可见性 fn→pub(crate)
cargo check --workspace 零错
2026-06-24 17:18:54 +08:00
7f6aa1e782
新增: AST代码智能Phase2(read_symbol drill下钻+调用点带行+prompt优先引导)
...
code_intel: read_symbol 加 drill(目标节点子树递归找嵌套子定义,命中走full)/calls 每项带 line号(与start_row同口径,Vue切段偏移自动对齐)/2 新测试(drill命中+drill_not_found兜底)
prompt: 中英能力列表加 read_symbol 优先引导(治 read_file 全文回灌 prompt 爆)+ 修支持集标错bug(.rs/.ts等原标不支持实为支持集)
tool_registry: read_symbol schema 加 drill 参数 + read_file desc 反向引导
密度: code_intel.rs 全文 25733B vs 骨架 1348B → 降 19.1x;16 单测全绿
2026-06-24 10:22:09 +08:00
40a97a7655
文档: 插件机制设计(grammar静态/集成切入点/通用远期)
...
复杂度=架构成本框架评估可扩展性(持续+复利负债)。
决策: grammar 静态编译+集中 lookup(当前,红利未兑现不承担动态加载成本)/
外部 API 集成(云效禅道)是插件正确切入点(窄契约窄插件,真实高价值)/
通用插件系统(VSCode式)远期(无生态=过早=负债)。
渐进路径: 静态grammar→云效集成直接实现→抽 IntegrationProvider trait→禅道印证抽象→插件化。
单向同步起步(双向冲突是分布式级难题,远期)。
2026-06-24 02:50:01 +08:00
7c2e3b23c1
新增: AST 代码智能 read_symbol 三态(治 prompt 爆,信息密度驱动)
...
tree-sitter 语法层符号解析,治 aichat read_file 全文回灌 prompt 爆(e46f5605 360K/8dfe0b94 5M)。
核心思想:信息密度≠压缩,read_symbol 按语义层级返符号骨架/全文,非物理读全文件。
- code_intel.rs: grammar_for 集中 lookup(Rust/TS/JS/Vue借TS,3 grammar 4 类)+ read_symbol 三态(骨架默认/全文)+ 不报错兜底(无grammar/解析失败/未找到→grep提示)
- tool_registry 注册 read_symbol(对齐 read_file handler 闭包模式)
- Cargo.toml 加 tree-sitter 0.25 + rust/typescript/javascript grammar
- AST 设计文档 grammar 策略章节定稿(静态编译+lookup,不动态不trait)
实测: code_intel.rs 全文 21851B vs read_symbol 骨架 897B,降 24.4x(达设计目标一个量级+)。单测 14 全过。
2026-06-24 02:49:48 +08:00
1ffa023f3d
修复: 消息重叠与审批卡死
2026-06-24 01:44:46 +08:00
61bad4fa28
新增: AST 符号解析设计(信息密度三态供给+主题压缩)
2026-06-24 01:43:12 +08:00
bdf3f96491
文档: 待办与决策更新
2026-06-24 00:29:02 +08:00
bb8b3c6c59
优化: 工程配置清理
2026-06-24 00:27:10 +08:00
96e554ce22
修复: 后端若干bug
2026-06-24 00:27:09 +08:00
0a8db6504a
优化: 设置页UX与AI自动执行三档
2026-06-24 00:27:08 +08:00
78b48d871b
新增: 跨端用户消息同步
2026-06-24 00:27:08 +08:00
698d981962
新增: 小程序端跨端AI对话
2026-06-24 00:19:54 +08:00
0c7c5e6068
新增: df-relay Dockerfile + .dockerignore(云端部署基建)
...
docker build -f crates/df-relay/Dockerfile -t df-relay .(context=repo根,multi-stage rust:slim 编译→debian 运行)。容器内 :8080(DF_RELAY_ADDR),宿主映射 :9180 避开测试机 8080 占用。
2026-06-22 03:50:37 +08:00
f4b65f6c2e
新增: df-relay binary 入口(main.rs axum WS Server :8080)
...
Phase3 联调链补 relay 启动入口:src/main.rs 调 DefaultRelayServer::start(listen 0.0.0.0:8080,DF_RELAY_ADDR env 覆盖)+ tracing-subscriber 日志。cargo run -p df-relay 启动,提供 /ws/device + /ws/miniapp 端点。cargo check EXIT=0。
2026-06-22 03:43:17 +08:00
59f07bf060
修复: df-miniapp 打包结构(manifest/pages/uni.scss 移 src/ + 补 vite.config)
...
Phase2 落地遗漏 build 验证致结构错位:manifest.json/pages.json/uni.scss 在根(uni-app 找 src/)+ 无 vite.config.ts(vite-plugin-uni 未加载,-p mp-weixin 失效走 h5)。移 src/ + 补 vite.config 后 build:mp-weixin 产出完整小程序(app.js/app.json/pages/project.config.json)。
2026-06-22 03:43:16 +08:00
a9703c3a1f
文档: Phase3 阶段2/3后端闭环销账
...
阶段2(EventBus Value+emit双写54处+send_raw_event+tunnel subscriber)✅ 后端上行闭环 / 阶段3(remote_bridge+miniapp4命令+on_command)✅ 下行闭环。剩阶段4真机联调 + relay_url/device_id UI + token生产级(Phase4)。
2026-06-22 03:33:48 +08:00
ed8e2fc155
新增: Phase3 src-tauri 集成 df-tunnel(跨端闭环)
...
Cargo.toml(df-tunnel+uuid workspace) + state.rs(tunnel 字段 Arc<WsTunnelClient>) + lib.rs spawn tunnel task:device_id(KV/UUID 持久) + relay_url(KV/默认 localhost:8080) + token 固定常量 + subscriber(ai_event_bus→send_raw_event) + on_command(remote_bridge 下行路由) + connect(失败非阻断)。打通桌面↔relay↔miniapp 全双工闭环。cargo EXIT=0。
2026-06-22 03:31:59 +08:00
612de4cd7c
新增: Phase3阶段2 emit双写全接入(D2全19变体)
...
chat.rs 19 + audit/mod.rs 12 + guard.rs 3 + stream_recv.rs 2 + agentic/mod.rs 7(emit-only 补全,原11已落地)。每处 app.emit 前端 + publish_event tunnel 双路独立(emit 不删)。D2 全 19 变体透传 EventBus 供 tunnel subscriber 透传 miniapp。cargo EXIT=0。
2026-06-22 03:31:58 +08:00
60b73377f6
文档: Phase3 阶段2/3销账
...
阶段2(②EventBus Value载荷+agentic 11处双写+send_raw_event)✅ / 阶段3(remote_bridge+miniapp 4命令)✅ 部分登记;F+G 核验项销账(guard/审批态)。剩余:tunnel subscriber + setup 集成(src-tauri 集成模块从零)。
2026-06-22 03:11:46 +08:00
030ddb668a
新增: df-tunnel send_raw_event 出站透传
...
Phase3 阶段2(D2 全19变体透传):trait TunnelClient 加 send_raw_event(Value) + WsTunnelClient 实现;OutFrame::Event 改持 String(send_event/send_raw_event 预序列化,run_loop 只写 socket DRY)。cargo check + 5 测试过。
2026-06-22 03:11:46 +08:00
0fb5af50c7
新增: Phase3 EventBus Value载荷+桥接层
...
- EventBus 载荷改 serde_json::Value(D2 全19变体透传),删 AiBusEvent 强类型子集
- 新增 publish_event(AiChatEvent) helper(内部 to_value→publish,供 emit 双写)
- 新增 remote_bridge.rs 桥接层(MiniCommand→Tauri command 路由+R1 同conv并发兜底)
- agentic/mod.rs 11处 AiBusEvent→AiChatEvent 迁移(Error/Completed/Round)
2026-06-22 03:06:28 +08:00
8ccdce282c
新增: miniapp补齐4远程命令(approve/authorize_dir/continue_loop/stop_loop 对齐Phase3 §2.2)
2026-06-22 02:53:13 +08:00
5337c7d5e3
文档: Phase3阶段2前置决策登记(EventBus AiBusEvent 8变体 vs D2全19变体透传 载荷冲突)
2026-06-22 02:46:58 +08:00
d38d1af68d
重构: df-tunnel Phase3阶段1纯透传(D1=A:CommandHandler收Value+payload透传不解析TunnelCommand,D5保留弱校验)
2026-06-22 02:45:36 +08:00
057fd0994e
文档: todo登记Phase3联调待办+跨端状态更新(Phase2三层全落+Phase3设计出)
2026-06-22 02:38:09 +08:00
da886fa1c8
文档: todo销账(TD-260621-07 ToolResult字段已落地F-260621 grep)
2026-06-22 02:32:00 +08:00
e8468c5bc6
新增: Phase3跨端联调设计文档(协议统一方案A纯透传+AiSession桥接风险+4阶段路线)
2026-06-22 02:29:13 +08:00
36a8391626
优化: 删除孤儿GeneralPanel.vue(拆3Section后零引用+plan阶段2弃用)
2026-06-22 02:29:13 +08:00
a5a4fc887a
重构: df-miniapp移入apps/(monorepo分层 crates=Rust库/apps=前端应用)
...
- df-miniapp/ -> apps/df-miniapp/(uni-app 工程归集前端应用层,与 crates/ Rust 库分层)
- 删冗余 apps/df-miniapp/.gitignore(根已覆盖 node_modules/dist/.DS_Store 等)
- 根 .gitignore 加 unpackage/(uni-app 编译产物,唯一根未覆盖项)
- vue-tsc 零错(移动不改代码,类型不变)
2026-06-22 02:19:23 +08:00
280baeaee0
新增: df-miniapp uni-app跨端AI Chat(WS连relay透传+18变体AiChatEvent镜像)
...
- 脚手架: uni-app vue3 ts + 微信小程序manifest + pages(chat/conversations)+暗色主题
- WS客户端(ws.ts): uni.connectSocket连relay /ws/miniapp + Hello握手 + 指数退避重连 + 心跳Ping + JSON透传分派
- 类型镜像: events.ts AiChatEvent 18变体(对齐mod.rs grep核验) + relay.ts协议(BroadcastMessage/Hello/ControlMessage/MiniCommand)
- useAiChat: 18变体分派状态机(TextDelta累积/AgentRound flush/Tool状态/ConvState驱动generating) + send/stop/regenerate/switch + 乐观渲染
- 页面: chat(消息气泡/流式渲染/输入栏/工具调用展示) + conversations(列表占位)
- vue-tsc零错; 核验修正注释(变体数22→18, 心跳heartbeat→ping)
- 待对齐(Phase3联调): miniapp MiniCommand{cmd,args} vs df-tunnel TunnelCommand{kind,...} 格式需统一
2026-06-22 01:59:02 +08:00
25d65652cd
新增: df-tunnel Phase2 WS隧道客户端(出站穿NAT+Hello握手+收发循环)
...
- WsTunnelClient: connect_async连df-relay /ws/device + Hello(HelloKind::Device)
- 握手探测(HANDSHAKE_PROBE 3s):无负帧=relay静默通过 / error帧=Auth失败 / Close=Connect失败
- 收发循环: socket入帧→parse_command_from_broadcast提payload(kind=command)→on_command回调; mpsc出帧→socket写; heartbeat 25s Ping
- cleanup_conn: Close帧+500ms等task+abort兜底; connected用Arc<AtomicBool>共享
- backoff_delay(1→2→4→8→16→30s cap)预留Phase3 supervisor自动重连
- 协议对齐 df-relay(Hello字段/方向Event↔Command/payload透传),cargo check零warning+4测试通过
2026-06-22 01:55:46 +08:00
2b8b30ef41
新增: df-relay Phase2 WS中继实现(Hello握手+鉴权+ConnRegistry配对路由+Event/Command方向分发)
2026-06-22 01:47:01 +08:00
2fe1fe57c8
优化: tool_result截断50KB→8KB治GLM1214(conversation.rs持久化视图)
2026-06-22 01:45:44 +08:00
d1d3871a88
重构: scan.rs拆4模块(stack/discover/readme/sample)共享常量提mod.rs
2026-06-22 01:45:43 +08:00
2a13f45650
文档: todo销账合并批(REFACTOR-02/08/10+ARC-e+related_ids+B-260619-02+version/ARC-d标注+Phase2评估暂缓)
2026-06-22 01:45:43 +08:00
83cee61476
新增: 列表分页UI(Paginator组件+三视图接入)
...
Paginator.vue复用组件(客户端切片,不发新IPC,数据量小前瞻基建)
Tasks/Ideas/Projects.vue接store列表切片(pagedProjects/pagedIdeas)
向后兼容铁律:pageSize=0整组件v-if隐藏+切片返全量,等价改造前行为
旧调用方(store.loadTasks等签名)零改动,分页状态纯前端ref
筛选/排序变化page重置1防越界空页;i18n双语pagination键齐备
2026-06-22 01:24:50 +08:00
82059bac4a
优化: tasks查询索引补全(V26 priority+assignee索引)
...
list_by_query已支持priority/assignee过滤下推,缺索引致全表扫描
migrate_v26 CREATE INDEX IF NOT EXISTS补建(老库幂等)
V1_SQL同步加(新库一次性建),对齐idx_tasks_status同类维度
数据量~15前瞻基建,为后续priority排序/分配人筛选铺路
2026-06-22 01:24:14 +08:00
cf7fe867ee
优化: aichat B路线Phase1规划开关启用(PLANNING_ENABLED=true)
...
主loop走filter_tool_defs_planned规划(agentic/mod.rs:633接入点就绪)
双层开关可回退:PLANNING_ENABLED(主loop)+PLAN_HINT_ENABLED(plan_hint函数)
任一关闭退扁平旧行为;feature_flags_default_on测试断言同步
2026-06-22 01:24:14 +08:00
5d1749a58f
新增: 跨端WS隧道脚手架(df-tunnel客户端+df-relay云中继)
...
df-tunnel:桌面端出站WS客户端(TunnelClient trait+骨架,穿NAT连云后端)
df-relay:axum WS中继服务(转发小程序↔桌面端,广播骨架)
双crate独立消息骨架,不依赖src-tauri/df-types避跨crate强耦合
workspace crates/* glob自动注册,Phase2填充WS握手/鉴权/重连/路由
2026-06-22 01:24:01 +08:00