fix(agent-infra): Tauri 项目 Cargo.toml 路径回退 + Axum 路由精准检测
- detect_contracts() 先查根目录 Cargo.toml,失败回退 src-tauri/Cargo.toml - tauri_commands_path / tauri_frontend_ts 按实际路径动态选择 - Axum 路由检测优先查 src-tauri/src/mcp_server.rs(炼境 MCP 内嵌服务器场景) - 删除临时自验证测试 self_scan_lianjing_project(已完成使命)
This commit is contained in:
parent
1651b21743
commit
dfb4f74c5c
@ -7669,6 +7669,218 @@
|
||||
"todo": 1,
|
||||
"total": 164
|
||||
}
|
||||
},
|
||||
{
|
||||
"at": "2026-06-29T03:22:26Z",
|
||||
"blocked_reasons": [],
|
||||
"conventions_version": "1.7.0",
|
||||
"delta": {
|
||||
"newly_blocked": [],
|
||||
"newly_done": [
|
||||
"onboarding-pack/A 模板分发引擎",
|
||||
"onboarding-pack/B apply_onboarding_pack 编排 + 前端入口",
|
||||
"onboarding-pack/C1 commit_metrics 表 + Conventional 解析器",
|
||||
"onboarding-pack/C2 挂接 buff watcher + 飞轮快照",
|
||||
"onboarding-pack/D 数据可信度提示"
|
||||
],
|
||||
"unblocked": []
|
||||
},
|
||||
"iteration": 1,
|
||||
"modules": {
|
||||
"blocked": 0,
|
||||
"concept": 1,
|
||||
"done": 46,
|
||||
"in_progress": 1,
|
||||
"planned": 0,
|
||||
"stalled": [
|
||||
"flywheel-intelligence"
|
||||
],
|
||||
"total": 50
|
||||
},
|
||||
"task_ids": {
|
||||
"blocked": [],
|
||||
"done": [
|
||||
"api-keys/API 密钥 CRUD 与安全展示",
|
||||
"auto-update/Capabilities 权限配置",
|
||||
"auto-update/下载 & 安装",
|
||||
"auto-update/更新检测",
|
||||
"auto-update/自动检查更新",
|
||||
"auto-update/错误提示",
|
||||
"blueprint-buff/BlueprintView 跨项目切换",
|
||||
"blueprint-buff/Buff 生命周期 Rust 命令",
|
||||
"blueprint-buff/blueprint_buffs 数据表",
|
||||
"blueprint-buff/git watcher + 任务匹配写回 + 飞轮快照",
|
||||
"blueprint-buff/前端 Buff 管理 UI",
|
||||
"blueprint-buff/前端实时刷新",
|
||||
"blueprint-feedback/归档 command",
|
||||
"blueprint-feedback/归档候选展示",
|
||||
"blueprint-feedback/梦核分析入口(蓝图弹窗)",
|
||||
"blueprint-feedback/梦核提示词增加停滞模块数据",
|
||||
"blueprint-flywheel/get_flywheel_stats command",
|
||||
"blueprint-flywheel/get_flywheel_stats 支持迭代感知",
|
||||
"blueprint-flywheel/usage.json 埋点写入",
|
||||
"blueprint-flywheel/梦核提示词生成 command",
|
||||
"blueprint-flywheel/飞轮健康面板",
|
||||
"blueprint-governance/CLAUDE.md 模板定义",
|
||||
"blueprint-governance/CONVENTIONS.md 版本化",
|
||||
"blueprint-governance/GovernancePanel 规则编辑器 UI",
|
||||
"blueprint-governance/get_blueprint_status command",
|
||||
"blueprint-governance/sync/梦核/summary 切换为 effective 内容",
|
||||
"blueprint-governance/sync_blueprint_rules command",
|
||||
"blueprint-governance/批量同步所有项目规则",
|
||||
"blueprint-governance/用户版 CONVENTIONS 存储层初始化",
|
||||
"blueprint-governance/用户版 CONVENTIONS 读写 command",
|
||||
"blueprint-onboarding/generate_blueprint_prompt command",
|
||||
"blueprint-onboarding/蓝图操作弹窗",
|
||||
"blueprint-onboarding/项目列表蓝图状态徽章",
|
||||
"blueprint-reader/合并返回完整蓝图数据",
|
||||
"blueprint-reader/读取 manifest.yaml",
|
||||
"blueprint-reader/读取 modules/*.md",
|
||||
"blueprint-view/.blueprint/ 数据结构设计",
|
||||
"blueprint-view/React Flow 节点图渲染",
|
||||
"blueprint-view/blocked 状态支持",
|
||||
"blueprint-view/下一步汇总面板",
|
||||
"blueprint-view/任务卡复制派发",
|
||||
"blueprint-view/批量执行提示词入口",
|
||||
"blueprint-view/智能连线路由",
|
||||
"blueprint-view/模块详情面板",
|
||||
"blueprint-view/统计汇总条",
|
||||
"blueprint-view/蓝图治理面板",
|
||||
"blueprint-view/蓝图读取 Command",
|
||||
"blueprint-view/边高亮与模块聚焦",
|
||||
"blueprint-view/顶部状态行扩展",
|
||||
"blueprint-view/项目卡片蓝图入口",
|
||||
"cicd-workflow/Actions 运行历史",
|
||||
"cicd-workflow/CI/CD 配置 CRUD",
|
||||
"cicd-workflow/Tauri OSS 分发模板",
|
||||
"cicd-workflow/Web SSH 部署模板",
|
||||
"cicd-workflow/Workflow 文件生成",
|
||||
"claude-autonomy-config/Beast 全局状态读取与展示",
|
||||
"cloud-db-instances/云数据库实例信息管理",
|
||||
"cloud-docker-apps/Docker 应用列表与状态管理",
|
||||
"cloud-products/DB 迁移:cloud_products 表",
|
||||
"cloud-products/Dashboard 接入:云产品标签页",
|
||||
"cloud-products/Rust CRUD:cloud_products.rs",
|
||||
"cloud-products/前端 Panel:CloudProductsPanel.tsx",
|
||||
"cloud-products/接线:mod.rs + lib.rs + commands.ts",
|
||||
"deploy-info/项目部署信息记录面板",
|
||||
"devtools-scan/WSL 工具扫描",
|
||||
"devtools-scan/Windows 工具扫描",
|
||||
"devtools-scan/工具信息持久化",
|
||||
"flywheel-intelligence/MCP Server 支持 SSE 传输",
|
||||
"flywheel-intelligence/复盘笔记覆盖率可见性",
|
||||
"flywheel-intelligence/独立项目自动创建产品组",
|
||||
"flywheel-intelligence/补测试:飞轮存量函数安全网",
|
||||
"flywheel-intelligence/阶段一:复盘笔记接入梦核飞轮",
|
||||
"flywheel-intelligence/阶段二:usage.json 扩展采集维度",
|
||||
"git-ops/上游状态检测",
|
||||
"git-ops/分支管理",
|
||||
"git-ops/基础操作",
|
||||
"github-auth/OAuth Device Flow",
|
||||
"github-auth/Token 管理",
|
||||
"github-publish/GitHub 仓库创建与推送",
|
||||
"health-center/T1 · Backend 健康检查聚合命令",
|
||||
"health-center/T2 · 质量指标聚合",
|
||||
"health-center/T3 · 前端健康中心页面",
|
||||
"health-center/T4 · 扩展 MCP get_diagnostics",
|
||||
"host-apps/宿主机应用清单与快启",
|
||||
"mcp-config-inject/加入产品组时注入配置",
|
||||
"mcp-config-inject/端口变更时重新注入所有配置",
|
||||
"mcp-config-inject/退出产品组时清除配置",
|
||||
"mcp-server/MCP 端口可配置(Rust 侧)",
|
||||
"mcp-server/启动时绑定 HTTP 端口",
|
||||
"mcp-server/实现 MCP JSON-RPC 基础协议",
|
||||
"mcp-server/实现产品组上下文工具",
|
||||
"onboarding-pack/A 模板分发引擎",
|
||||
"onboarding-pack/B apply_onboarding_pack 编排 + 前端入口",
|
||||
"onboarding-pack/C1 commit_metrics 表 + Conventional 解析器",
|
||||
"onboarding-pack/C2 挂接 buff watcher + 飞轮快照",
|
||||
"onboarding-pack/D 数据可信度提示",
|
||||
"product-group-mcp/产品组详情显示 MCP 注入状态",
|
||||
"product-group-mcp/设置页添加 MCP 端口配置",
|
||||
"project-dashboard/分组画布",
|
||||
"project-dashboard/项目卡片列表",
|
||||
"project-dashboard/项目发现面板",
|
||||
"project-dashboard/项目快捷操作",
|
||||
"project-env-scan/环境信息持久化",
|
||||
"project-env-scan/项目环境检测",
|
||||
"project-mentor/T1 · 后端聚合 command(MentorContext)",
|
||||
"project-mentor/T10 · 启动健康扫描 + 前端 Alert Banner",
|
||||
"project-mentor/T11 · 项目历史快照",
|
||||
"project-mentor/T2 · MCP 项目导师查询接口",
|
||||
"project-mentor/T3 · 前端导师面板",
|
||||
"project-mentor/T4 · 炼境自指接入",
|
||||
"project-mentor/T5 · project_notes 数据层 + 后端命令",
|
||||
"project-mentor/T6 · MCP append_project_note 工具",
|
||||
"project-mentor/T7 · MentorPanel 展示 AI 笔记",
|
||||
"project-mentor/T8 · 后端全组巡检命令",
|
||||
"project-mentor/T9 · 前端全组巡检按钮",
|
||||
"project-mgmt/子文件夹扫描",
|
||||
"project-mgmt/批量导入项目",
|
||||
"project-mgmt/项目 CRUD",
|
||||
"project-mgmt/项目档案(Profile)",
|
||||
"project-templates/P1+P3 模板扩充(React 生态全覆盖)",
|
||||
"project-templates/从模板创建项目",
|
||||
"project-templates/内置模板种植",
|
||||
"project-templates/模板 CRUD",
|
||||
"project-tools/工具 CRUD",
|
||||
"project-tools/工具启动",
|
||||
"repo-registry/仓库导入",
|
||||
"repo-registry/仓库挂载",
|
||||
"repo-registry/仓库注册表管理",
|
||||
"runtime-diagnostics/T1 · SQLite runtime_logs 表",
|
||||
"runtime-diagnostics/T2 · 替换 eprintln! 为结构化日志",
|
||||
"runtime-diagnostics/T3 · MCP Server 新增 get_diagnostics 工具",
|
||||
"runtime-diagnostics/T4 · 注入失败结果返回前端",
|
||||
"runtime-diagnostics/T5 · 设置页 MCP 真实健康检查",
|
||||
"server-registry/服务器 CRUD 与项目关联",
|
||||
"server-software/服务器软件扫描与展示",
|
||||
"service-config/服务配置 CRUD 与环境分组",
|
||||
"settings-page/WSL 发行版选择",
|
||||
"settings-page/关于 & 更新",
|
||||
"settings-page/终端配置",
|
||||
"settings-page/编辑器检测",
|
||||
"shell-launch/打开终端",
|
||||
"shell-launch/打开编辑器",
|
||||
"source-library/源码库分类管理与项目详情",
|
||||
"sqlite-db/数据库迁移",
|
||||
"sqlite-db/连接池初始化",
|
||||
"ssh-config-sync/SSH Config 写入与同步",
|
||||
"tags-groups/分组管理",
|
||||
"tags-groups/标签管理",
|
||||
"tray-service/关闭窗口最小化到托盘",
|
||||
"tray-service/系统托盘图标与菜单",
|
||||
"tray-service/集成 tauri-plugin-single-instance",
|
||||
"user-project-todos/前端:备忘清单 UI 组件",
|
||||
"user-project-todos/数据层:user_project_todos 表 + Rust commands",
|
||||
"v2rayn-import/当前节点读取",
|
||||
"v2rayn-import/数据库路径检测",
|
||||
"v2rayn-import/节点列表扫描",
|
||||
"vscode-remote/VS Code Remote SSH 一键连接",
|
||||
"workspace-mgmt/空间 CRUD",
|
||||
"workspace-mgmt/空间级设置",
|
||||
"workspace-mgmt/部署命令管理",
|
||||
"wsl-proxy/代理一致性测试",
|
||||
"wsl-proxy/代理同步",
|
||||
"wsl-proxy/代理清除",
|
||||
"wsl-proxy/代理状态检测"
|
||||
]
|
||||
},
|
||||
"tasks": {
|
||||
"avg_rounds_M": null,
|
||||
"blocked": 0,
|
||||
"complexity_dist": {
|
||||
"L": 6,
|
||||
"M": 61,
|
||||
"S": 48
|
||||
},
|
||||
"dispatched": 0,
|
||||
"done": 164,
|
||||
"in_progress": 0,
|
||||
"rework_count": 1,
|
||||
"todo": 1,
|
||||
"total": 175
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -80,7 +80,16 @@ fn confidence(root: &Path, path: &str) -> String {
|
||||
fn detect_contracts(root: &Path) -> Vec<DetectedContract> {
|
||||
let mut contracts: Vec<DetectedContract> = Vec::new();
|
||||
let pkg_deps = pkg_json_dep_keys(root);
|
||||
let cargo_content = std::fs::read_to_string(root.join("Cargo.toml")).unwrap_or_default();
|
||||
// 纯 Rust 项目:Cargo.toml 在根;Tauri 项目:Cargo.toml 在 src-tauri/
|
||||
let cargo_content = std::fs::read_to_string(root.join("Cargo.toml"))
|
||||
.or_else(|_| std::fs::read_to_string(root.join("src-tauri/Cargo.toml")))
|
||||
.unwrap_or_default();
|
||||
// Tauri 项目:commands 目录在 src-tauri/src/commands/
|
||||
let tauri_commands_path = if path_exists(root, "src-tauri/src/commands") {
|
||||
"src-tauri/src/commands"
|
||||
} else {
|
||||
"src/commands"
|
||||
};
|
||||
|
||||
// ── Node.js 框架层 ────────────────────────────────────────────────────────
|
||||
|
||||
@ -194,7 +203,10 @@ fn detect_contracts(root: &Path) -> Vec<DetectedContract> {
|
||||
if !cargo_content.is_empty() {
|
||||
// Axum
|
||||
if cargo_has(&cargo_content, "axum") {
|
||||
let p = if path_exists(root, "src/routes.rs") {
|
||||
// Tauri 项目:Axum 通常用于嵌入式 MCP/HTTP 服务器,路由在 src-tauri/src/
|
||||
let p = if path_exists(root, "src-tauri/src/mcp_server.rs") {
|
||||
"src-tauri/src/mcp_server.rs"
|
||||
} else if path_exists(root, "src/routes.rs") {
|
||||
"src/routes.rs"
|
||||
} else if path_exists(root, "src/routes") {
|
||||
"src/routes/**"
|
||||
@ -221,12 +233,17 @@ fn detect_contracts(root: &Path) -> Vec<DetectedContract> {
|
||||
}
|
||||
|
||||
// Tauri(自身的 command 层)
|
||||
if cargo_has(&cargo_content, "tauri") && path_exists(root, "src-tauri/src/commands") {
|
||||
let tauri_frontend_ts = if path_exists(root, "src/lib/commands.ts") {
|
||||
"src/lib/commands.ts"
|
||||
} else {
|
||||
"src/commands.ts"
|
||||
};
|
||||
if cargo_has(&cargo_content, "tauri") && path_exists(root, tauri_commands_path) {
|
||||
contracts.push(DetectedContract {
|
||||
label: "Tauri command 接口(前后端契约)".into(),
|
||||
paths: vec![
|
||||
"src-tauri/src/commands/**/*.rs".into(),
|
||||
"src/lib/commands.ts".into(),
|
||||
format!("{tauri_commands_path}/**/*.rs"),
|
||||
tauri_frontend_ts.into(),
|
||||
],
|
||||
doc: "新增 command 时前后端必须同步".into(),
|
||||
confidence: "high".into(),
|
||||
|
||||
Loading…
Reference in New Issue
Block a user