Files
DevFlow/src-tauri/Cargo.toml
绝尘 bd6a41fe6e 新增: 批次工作落地(推进链/评估闭环/事件总线/并发/加固) + 技术债清理 + 文档整理
后端:
- 工作流推进链(D-03):advance_task/状态机/闸门走 df-nodes Node trait,conditions 条件引擎扩展
- 想法评估闭环:启发式评分+对抗评估,df-ideas/scoring + df-storage/idea_eval_repo + idea 前端打通
- 全局事件数据总线:df-ai/context+context_helpers+augmentation 跨模块解耦
- AI planner/plan_hint/intent:aichat B 路线并行多轮基础
- patch_file 加固(TD-03/04):读改写整体锁防 lost update,expected_hash 合约闭环
- 压缩超时兜底(F-15 卡死根治)
- F-09 多会话并发:LlmConcurrency per-conv + streamingGuard 前端守护 + verify 脚本
- 知识注入 DRY/skills/audit 扩展

清理:
- aichat 技术债(误报 allow/死导入/过时注释 30 项)
- URGENT.md 删除(11 项加急全解决/迁 todo)
- 文档整理(todo/待决策/待审查/ARCHITECTURE/INDEX + 总线/技术债审查新文档)
2026-06-21 20:51:26 +08:00

67 lines
2.8 KiB
TOML

[package]
name = "devflow"
version = "0.1.0"
description = "DevFlow Desktop App"
authors = [""]
edition = "2021"
[lib]
name = "devflow_lib"
crate-type = ["staticlib", "cdylib", "rlib"]
[build-dependencies]
tauri-build = { version = "2", features = [] }
[dependencies]
tauri = { version = "2", features = [] }
tauri-plugin-dialog = "2"
tauri-plugin-opener = "2"
tauri-plugin-window-state = "2"
serde.workspace = true
serde_json.workspace = true
tokio.workspace = true
anyhow.workspace = true
tracing.workspace = true
chrono.workspace = true
# augmentation::MentionResolver async trait(Input Augmentation 层核心设计2)
async-trait = { workspace = true }
# 后端 crate
df-types = { path = "../crates/df-types" }
df-storage = { path = "../crates/df-storage" }
df-workflow = { path = "../crates/df-workflow" }
df-nodes = { path = "../crates/df-nodes" }
df-execute = { path = "../crates/df-execute" }
df-ai = { path = "../crates/df-ai" }
df-ideas = { path = "../crates/df-ideas" }
df-project = { path = "../crates/df-project" }
df-mcp = { path = "../crates/df-mcp" }
futures = "0.3"
# write_file base64 编码:写二进制/非 UTF-8 文件(图片/PDF/Excel 等)
base64 = "0.22"
# validate_path URL 解码:防 %2e%2e 等 URL 编码绕过路径遍历检查(BUG-260617-03)
percent-encoding = "2"
# grep AI 工具:跨文件内容搜索(grep -rn 模式),pattern 支持正则。
# workspace regex 已存在(df-ideas 用),此处引用 workspace 版本避免双后端。
regex = { workspace = true }
# keyring:密钥解析下沉到 df-storage(workspace 统一声明平台 feature),
# src-tauri 经 workspace 引用(转发壳 build_provider_for 不直接碰 keyring,但旧路径/兼容保留)。
# 根因见 docs/09-问题排查/aichat-apikey-401排查-2026-06-15.md
keyring = { workspace = true }
# http_request AI 工具:结构化 HTTP(GET/POST/...)。
# 复用 df-ai 同款 reqwest 0.12(同版本锁定,避免双 TLS 后端)。默认 native-tls(与 df-ai 一致),
# 启用 json(响应解析)/gzip/brotli(透明解压,常见 API 必备)。重定向手动接管(见 http.rs SSRF)。
reqwest = { version = "0.12", features = ["json", "gzip", "brotli"] }
# 阶段3a/3b 统一审批模型开关(path_auth 审批链扎实重构 plan 阶段3)。
# 3a 后端合并(单 HashMap + kind 字段)为编译期结构性变更,本 flag 用于文档标记 +
# 后续 3b 前端切换开关;3a 本身是单编译路径(合并是原子操作,回退走 git revert)。
#
# 阶段4 容错/恢复开关(path_auth 审批链扎实重构 plan 阶段4):
# retry_count 同 tc_id 重试断路(防 LLM 死循环重试同卡死工具)+ 跨盘预检提示 +
# rename_file/delete_file 跨卷统一降级 helper + ai_pending_tool_calls 返 kind。
# 兜底:flag 关 → retry_count 恒 0(等价单次审批执行),其余 helper 行为不变(纯增强)。
[features]
df-ai-unified-approval = []
df-ai-approval-retry = []