Files
DevFlow/crates/df-mcp/src/lib.rs
T
lxy b37279f3a2 新增: 待发箱/唤醒原语/预算随窗口 + 治理门禁与场景护栏
- 待发箱地基: V51 ai_outbox 表 + 手写 OutboxRepo(claim CAS/崩溃残留复位/瞬时失败保留) + outbox.rs 调度器(KV 默认关/Notify 唤醒/会话忙跳过不丢)
- Wake 异步唤醒原语: 三条件(delay/file-appear/process-exit)+纯判定+注入走正典 spawn_agentic_session,默认关
- 上下文预算随模型窗口: model_context.rs 三级优先(池显式>预设表>回退 128K);上界取 1M 而非 128K——max_tokens 仅裁剪预算,卡 128K 等于不治根因
- 文件租约补纯函数与单测(未另造双轨:LEASE 早随 cb260ab 落地) / 跨会话召回补纯函数单测(主体早已落地)
- 子代理: 完整卡已消化 + 子会话压缩层 + P3 批量
- 隧道/中继: 指令离线不丢 + Hello proto 版本 + 心跳与 runbook
- df-mcp: 写工具后落 KV 变更标记(供 GUI 轮询兜底,补独立 stdio 进程无感知)
- 迁移链顶点改单一真值常量 LATEST_SCHEMA_VERSION(修 2 处因 V51 失效的断言)
- 治理: i18n 特殊字符提交门禁(含反引号覆盖 + 10 自测) / 根目录卫生门禁 / 看板归档器 / 单一 lockfile(bun) / swap-install 落 temp/ 且兼容无 Get-FileHash
- 场景护栏: 流式正文可见性 e2e(playwright 免真机事件回放) + 列表续写/外置句柄 node 测试
2026-10-10 08:09:17 +08:00

21 lines
843 B
Rust

//! df-mcp: DevFlow MCP Server — 对外暴露数据层工具
//!
//! 形态:独立 stdio JSON-RPC 2.0 server。手写最小化协议层(不引外部 MCP SDK),
//! 复用 df-storage Repo 做实际数据读写,不重复 CRUD 实现。
//!
//! 安全降级(对抗评估反方核心):
//! - High 风险(delete/purge/run_workflow)默认拒绝,返友好提示
//! - Medium 风险(create/update/bind)默认允许 + 日志(tracing::warn)
//! - `--read-only` 仅暴露 list/get 工具
//! - 不暴露文件系统工具(防绕过应用内路径校验)
//! - 仅 stdio / 本地,不暴露网络;无认证(依赖本地隔离)
//!
//! 入口: [`run_server`] — 由 Tauri CLI 子命令 `devflow mcp-server` 调用。
pub mod protocol;
pub mod server;
pub mod server_http;
pub mod tools;
pub use server::{run_server, ServerConfig, MCP_DATA_CHANGED_KEY};