diff --git a/.blueprint/CONVENTIONS.md b/.blueprint/CONVENTIONS.md index c23caaa..df8735a 100644 --- a/.blueprint/CONVENTIONS.md +++ b/.blueprint/CONVENTIONS.md @@ -1,6 +1,6 @@ --- -version: 1.4.2 -updated: 2026-04-08 +version: 1.4.3 +updated: 2026-04-10 source: dev-manager-tauri --- diff --git a/.blueprint/manifest.yaml b/.blueprint/manifest.yaml index 0a4d16c..49f3dee 100644 --- a/.blueprint/manifest.yaml +++ b/.blueprint/manifest.yaml @@ -6,7 +6,7 @@ description: > 成为每个项目的贴身导师。炼境本身亦被纳入其中, 形成可自我进化的开发智能闭环。 iteration: 1 -updated: 2026-04-08 +updated: 2026-04-10 @@ -258,6 +258,13 @@ modules: progress: 100 position: [2250, 0] + - id: claude-autonomy-config + name: Claude 自主性配置 + area: backend + status: done + progress: 100 + position: [2500, 0] + edges: # 前端依赖 - from: workspace-mgmt diff --git a/.blueprint/usage.json b/.blueprint/usage.json index 1b84fe0..a3f0721 100644 --- a/.blueprint/usage.json +++ b/.blueprint/usage.json @@ -90,6 +90,650 @@ "todo": 1, "total": 135 } + }, + { + "at": "2026-04-08T14:49:16Z", + "blocked_reasons": [], + "conventions_version": "1.4.2", + "delta": { + "newly_blocked": [], + "newly_done": [ + "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 文件生成", + "devtools-scan/WSL 工具扫描", + "devtools-scan/Windows 工具扫描", + "devtools-scan/工具信息持久化", + "git-ops/上游状态检测", + "git-ops/分支管理", + "git-ops/基础操作", + "github-auth/OAuth Device Flow", + "github-auth/Token 管理", + "github-publish/.gitignore 生成", + "github-publish/Git 初始化 & 首次推送", + "github-publish/创建 GitHub 仓库", + "github-publish/扫描本地 Git 状态", + "health-center/T1 · Backend 健康检查聚合命令", + "health-center/T2 · 质量指标聚合", + "health-center/T3 · 前端健康中心页面", + "health-center/T4 · 扩展 MCP get_diagnostics", + "mcp-config-inject/加入产品组时注入配置", + "mcp-config-inject/端口变更时重新注入所有配置", + "mcp-config-inject/退出产品组时清除配置", + "mcp-server/MCP 端口可配置(Rust 侧)", + "mcp-server/启动时绑定 HTTP 端口", + "mcp-server/实现 MCP JSON-RPC 基础协议", + "mcp-server/实现产品组上下文工具", + "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/从模板创建项目", + "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 真实健康检查", + "settings-page/WSL 发行版选择", + "settings-page/关于 & 更新", + "settings-page/终端配置", + "settings-page/编辑器检测", + "shell-launch/打开终端", + "shell-launch/打开编辑器", + "sqlite-db/数据库迁移", + "sqlite-db/连接池初始化", + "tags-groups/分组管理", + "tags-groups/标签管理", + "tray-service/关闭窗口最小化到托盘", + "tray-service/系统托盘图标与菜单", + "tray-service/集成 tauri-plugin-single-instance", + "v2rayn-import/当前节点读取", + "v2rayn-import/数据库路径检测", + "v2rayn-import/节点列表扫描", + "workspace-mgmt/空间 CRUD", + "workspace-mgmt/空间级设置", + "workspace-mgmt/部署命令管理", + "wsl-proxy/代理一致性测试", + "wsl-proxy/代理同步", + "wsl-proxy/代理清除", + "wsl-proxy/代理状态检测" + ], + "unblocked": [] + }, + "iteration": 1, + "modules": { + "blocked": 0, + "concept": 0, + "done": 33, + "in_progress": 0, + "planned": 0, + "stalled": [], + "total": 33 + }, + "task_ids": { + "blocked": [], + "done": [ + "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 文件生成", + "devtools-scan/WSL 工具扫描", + "devtools-scan/Windows 工具扫描", + "devtools-scan/工具信息持久化", + "git-ops/上游状态检测", + "git-ops/分支管理", + "git-ops/基础操作", + "github-auth/OAuth Device Flow", + "github-auth/Token 管理", + "github-publish/.gitignore 生成", + "github-publish/Git 初始化 & 首次推送", + "github-publish/创建 GitHub 仓库", + "github-publish/扫描本地 Git 状态", + "health-center/T1 · Backend 健康检查聚合命令", + "health-center/T2 · 质量指标聚合", + "health-center/T3 · 前端健康中心页面", + "health-center/T4 · 扩展 MCP get_diagnostics", + "mcp-config-inject/加入产品组时注入配置", + "mcp-config-inject/端口变更时重新注入所有配置", + "mcp-config-inject/退出产品组时清除配置", + "mcp-server/MCP 端口可配置(Rust 侧)", + "mcp-server/启动时绑定 HTTP 端口", + "mcp-server/实现 MCP JSON-RPC 基础协议", + "mcp-server/实现产品组上下文工具", + "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/从模板创建项目", + "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 真实健康检查", + "settings-page/WSL 发行版选择", + "settings-page/关于 & 更新", + "settings-page/终端配置", + "settings-page/编辑器检测", + "shell-launch/打开终端", + "shell-launch/打开编辑器", + "sqlite-db/数据库迁移", + "sqlite-db/连接池初始化", + "tags-groups/分组管理", + "tags-groups/标签管理", + "tray-service/关闭窗口最小化到托盘", + "tray-service/系统托盘图标与菜单", + "tray-service/集成 tauri-plugin-single-instance", + "v2rayn-import/当前节点读取", + "v2rayn-import/数据库路径检测", + "v2rayn-import/节点列表扫描", + "workspace-mgmt/空间 CRUD", + "workspace-mgmt/空间级设置", + "workspace-mgmt/部署命令管理", + "wsl-proxy/代理一致性测试", + "wsl-proxy/代理同步", + "wsl-proxy/代理清除", + "wsl-proxy/代理状态检测" + ] + }, + "tasks": { + "blocked": 0, + "dispatched": 0, + "done": 136, + "in_progress": 0, + "todo": 0, + "total": 140 + } + }, + { + "at": "2026-04-09T00:19:55Z", + "blocked_reasons": [], + "conventions_version": "1.4.2", + "delta": { + "newly_blocked": [], + "newly_done": [], + "unblocked": [] + }, + "iteration": 1, + "modules": { + "blocked": 0, + "concept": 0, + "done": 33, + "in_progress": 0, + "planned": 0, + "stalled": [], + "total": 33 + }, + "task_ids": { + "blocked": [], + "done": [ + "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 文件生成", + "devtools-scan/WSL 工具扫描", + "devtools-scan/Windows 工具扫描", + "devtools-scan/工具信息持久化", + "git-ops/上游状态检测", + "git-ops/分支管理", + "git-ops/基础操作", + "github-auth/OAuth Device Flow", + "github-auth/Token 管理", + "github-publish/.gitignore 生成", + "github-publish/Git 初始化 & 首次推送", + "github-publish/创建 GitHub 仓库", + "github-publish/扫描本地 Git 状态", + "health-center/T1 · Backend 健康检查聚合命令", + "health-center/T2 · 质量指标聚合", + "health-center/T3 · 前端健康中心页面", + "health-center/T4 · 扩展 MCP get_diagnostics", + "mcp-config-inject/加入产品组时注入配置", + "mcp-config-inject/端口变更时重新注入所有配置", + "mcp-config-inject/退出产品组时清除配置", + "mcp-server/MCP 端口可配置(Rust 侧)", + "mcp-server/启动时绑定 HTTP 端口", + "mcp-server/实现 MCP JSON-RPC 基础协议", + "mcp-server/实现产品组上下文工具", + "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/从模板创建项目", + "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 真实健康检查", + "settings-page/WSL 发行版选择", + "settings-page/关于 & 更新", + "settings-page/终端配置", + "settings-page/编辑器检测", + "shell-launch/打开终端", + "shell-launch/打开编辑器", + "sqlite-db/数据库迁移", + "sqlite-db/连接池初始化", + "tags-groups/分组管理", + "tags-groups/标签管理", + "tray-service/关闭窗口最小化到托盘", + "tray-service/系统托盘图标与菜单", + "tray-service/集成 tauri-plugin-single-instance", + "v2rayn-import/当前节点读取", + "v2rayn-import/数据库路径检测", + "v2rayn-import/节点列表扫描", + "workspace-mgmt/空间 CRUD", + "workspace-mgmt/空间级设置", + "workspace-mgmt/部署命令管理", + "wsl-proxy/代理一致性测试", + "wsl-proxy/代理同步", + "wsl-proxy/代理清除", + "wsl-proxy/代理状态检测" + ] + }, + "tasks": { + "blocked": 0, + "dispatched": 0, + "done": 136, + "in_progress": 0, + "todo": 0, + "total": 140 + } + }, + { + "at": "2026-04-10T12:52:42Z", + "blocked_reasons": [], + "conventions_version": "1.4.3", + "delta": { + "newly_blocked": [], + "newly_done": [], + "unblocked": [] + }, + "iteration": 1, + "modules": { + "blocked": 0, + "concept": 0, + "done": 33, + "in_progress": 0, + "planned": 0, + "stalled": [], + "total": 33 + }, + "task_ids": { + "blocked": [], + "done": [ + "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 文件生成", + "devtools-scan/WSL 工具扫描", + "devtools-scan/Windows 工具扫描", + "devtools-scan/工具信息持久化", + "git-ops/上游状态检测", + "git-ops/分支管理", + "git-ops/基础操作", + "github-auth/OAuth Device Flow", + "github-auth/Token 管理", + "github-publish/.gitignore 生成", + "github-publish/Git 初始化 & 首次推送", + "github-publish/创建 GitHub 仓库", + "github-publish/扫描本地 Git 状态", + "health-center/T1 · Backend 健康检查聚合命令", + "health-center/T2 · 质量指标聚合", + "health-center/T3 · 前端健康中心页面", + "health-center/T4 · 扩展 MCP get_diagnostics", + "mcp-config-inject/加入产品组时注入配置", + "mcp-config-inject/端口变更时重新注入所有配置", + "mcp-config-inject/退出产品组时清除配置", + "mcp-server/MCP 端口可配置(Rust 侧)", + "mcp-server/启动时绑定 HTTP 端口", + "mcp-server/实现 MCP JSON-RPC 基础协议", + "mcp-server/实现产品组上下文工具", + "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/从模板创建项目", + "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 真实健康检查", + "settings-page/WSL 发行版选择", + "settings-page/关于 & 更新", + "settings-page/终端配置", + "settings-page/编辑器检测", + "shell-launch/打开终端", + "shell-launch/打开编辑器", + "sqlite-db/数据库迁移", + "sqlite-db/连接池初始化", + "tags-groups/分组管理", + "tags-groups/标签管理", + "tray-service/关闭窗口最小化到托盘", + "tray-service/系统托盘图标与菜单", + "tray-service/集成 tauri-plugin-single-instance", + "v2rayn-import/当前节点读取", + "v2rayn-import/数据库路径检测", + "v2rayn-import/节点列表扫描", + "workspace-mgmt/空间 CRUD", + "workspace-mgmt/空间级设置", + "workspace-mgmt/部署命令管理", + "wsl-proxy/代理一致性测试", + "wsl-proxy/代理同步", + "wsl-proxy/代理清除", + "wsl-proxy/代理状态检测" + ] + }, + "tasks": { + "blocked": 0, + "dispatched": 0, + "done": 136, + "in_progress": 0, + "todo": 0, + "total": 140 + } } ] } \ No newline at end of file diff --git a/.claude/settings.json b/.claude/settings.json index 768fdaf..777e921 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -2,14 +2,17 @@ "hooks": { "PreToolUse": [ { - "matcher": "Bash", "hooks": [ { - "type": "command", - "command": "node -e \"let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{try{const i=JSON.parse(d);const cmd=(i.tool_input||{}).command||'';if(cmd.includes('git commit')){process.stderr.write('\\n📋 提交前检查清单:\\n complexity S → /code-review\\n complexity M → /Dev-edge-case → /code-review\\n\\n');}}catch(e){}});\"" + "command": "node -e \"let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{try{const i=JSON.parse(d);const cmd=(i.tool_input||{}).command||'';if(cmd.includes('git commit')){process.stderr.write('\\n📋 提交前检查清单:\\n complexity S → /code-review\\n complexity M → /Dev-edge-case → /code-review\\n\\n');}}catch(e){}});\"", + "type": "command" } - ] + ], + "matcher": "Bash" } ] + }, + "permissions": { + "defaultMode": "acceptEdits" } -} +} \ No newline at end of file diff --git a/src-tauri/src/commands/blueprint.rs b/src-tauri/src/commands/blueprint.rs index bf14aae..a138b6d 100644 --- a/src-tauri/src/commands/blueprint.rs +++ b/src-tauri/src/commands/blueprint.rs @@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize}; use std::path::Path; // ── 主节点:master CONVENTIONS.md 内容和版本(编译时嵌入)──────────────────── - +// CONVENTIONS v1.4.3:claude_managed_template 加入需求讨论表、复杂度决策表、两阶段提交规则 const MASTER_CONVENTIONS: &str = include_str!("../../../.blueprint/CONVENTIONS.md"); /// 从 MASTER_CONVENTIONS frontmatter 自动解析版本号(内置基线版本,不随用户版变化)。 @@ -92,24 +92,36 @@ fn claude_managed_template() -> String { 本项目使用 `.blueprint/` 目录维护项目全景架构图,驱动需求讨论和任务管理。 -**每次对话都应遵循以下流程:** +### 对话开始时必须执行 -### 1. 了解当前状态 -对话开始时,先读取 `.blueprint/manifest.yaml` 了解项目模块和状态。 +1. 读取 `.blueprint/manifest.yaml` 了解项目全景和当前状态 +2. 读取 `.blueprint/CONVENTIONS.md` 了解完整工作流规则 -### 2. 讨论需求时更新蓝图 -- 确认了新需求 → 在 manifest.yaml 新增模块,创建 `.blueprint/modules/.md` -- 拆分了大需求 → 在模块文件中添加任务卡 -- 调整了方向 → 更新模块关系(edges) +### 需求讨论 → 蓝图同步规则 -### 3. 完成实现后标记蓝图 -- 完成了功能 → 更新对应任务卡状态为 `done`(前缀改为 ✅) -- 更新 manifest.yaml 顶部的 `updated` 日期 +| 用户说的 | Claude 应做的 | +|----------|--------------| +| "我想加个 XX 功能" | 确认需求后:manifest 新增模块(status: concept),创建 `.blueprint/modules/.md` | +| "XX 功能需要 A、B、C" | 在模块文件中拆分为任务卡 | +| "这个方案确定了" | 模块 status → planned,补充任务卡 files/acceptance | +| "开始做 XX" | 模块 status → in_progress | +| 没提蓝图但在讨论功能 | 主动提议更新蓝图 | -### 4. 任务卡规范 -详见 `.blueprint/CONVENTIONS.md`,核心规则: -- 任务卡同时具备 `files` + `acceptance` + complexity `S/M` → 标记为 📋 可派发 -- 可派发的任务卡可以直接交给 Claude Agent 独立完成 +### 复杂度决策(讨论新功能 / 拆解需求时) + +| complexity | 执行流程 | +|-----------|---------| +| S / M | 直接拆任务卡,确保每张卡有 `files` + `acceptance` + `complexity` → 标记 📋 | +| L(复杂系统设计) | 先 `/architect` 输出设计文档,用户确认后 `/splitter` 拆成 S/M 任务卡 | + +> L 级任务禁止直接写代码,必须先经过 `/architect` → `/splitter` 流程。 + +### 任务执行两阶段提交 + +- **开始写代码前**:任务卡前缀改为 🔵,status → in_progress +- **完成验收后**:任务卡前缀改为 ✅,status → done,更新 manifest `updated` 日期 + +完整规则(迭代管理、阻塞处理、复盘笔记等)详见 `.blueprint/CONVENTIONS.md`。 "#) } diff --git a/src-tauri/src/commands/claude_config.rs b/src-tauri/src/commands/claude_config.rs new file mode 100644 index 0000000..f046af1 --- /dev/null +++ b/src-tauri/src/commands/claude_config.rs @@ -0,0 +1,71 @@ +use serde::{Deserialize, Serialize}; + +const BASH_RULES_MARKER: &str = ""; + +#[derive(Debug, Serialize, Deserialize)] +pub struct BeastGlobalStatus { + /// Beast 是否已安装(settings.manifest.json 中存在 beast-mode 记录) + pub installed: bool, + /// 当前是否处于狂暴模式(permissions.allow 包含 Bash(*)) + pub active: bool, + /// ~/.claude/CLAUDE.md 是否已含 Beast 注入的 bash 规则 + pub has_bash_rules: bool, +} + +fn claude_home_dir() -> Option { + let home = std::env::var("USERPROFILE") + .or_else(|_| std::env::var("HOME")) + .ok()?; + Some(std::path::Path::new(&home).join(".claude")) +} + +/// 读取全局 Beast 安装状态(只读,不修改任何文件)。 +#[tauri::command] +pub async fn get_beast_global_status() -> Result { + let claude_dir = match claude_home_dir() { + Some(d) => d, + None => return Ok(BeastGlobalStatus { installed: false, active: false, has_bash_rules: false }), + }; + + // 检查安装状态(manifest) + let installed = { + let manifest_path = claude_dir.join("settings.manifest.json"); + if manifest_path.exists() { + let content = std::fs::read_to_string(&manifest_path).unwrap_or_default(); + let json: serde_json::Value = serde_json::from_str(&content) + .unwrap_or(serde_json::Value::Object(Default::default())); + json.get("beast-mode").is_some() + } else { + false + } + }; + + // 检查当前模式(settings.json 中 allow 是否包含 Bash(*)) + let active = { + let settings_path = claude_dir.join("settings.json"); + if settings_path.exists() { + let content = std::fs::read_to_string(&settings_path).unwrap_or_default(); + let json: serde_json::Value = serde_json::from_str(&content) + .unwrap_or(serde_json::Value::Object(Default::default())); + json["permissions"]["allow"] + .as_array() + .map(|arr| arr.iter().any(|v| v.as_str() == Some("Bash(*)"))) + .unwrap_or(false) + } else { + false + } + }; + + // 检查 bash 规则是否已注入 ~/.claude/CLAUDE.md + let has_bash_rules = { + let claude_md = claude_dir.join("CLAUDE.md"); + if claude_md.exists() { + let content = std::fs::read_to_string(&claude_md).unwrap_or_default(); + content.contains(BASH_RULES_MARKER) + } else { + false + } + }; + + Ok(BeastGlobalStatus { installed, active, has_bash_rules }) +} diff --git a/src-tauri/src/commands/mod.rs b/src-tauri/src/commands/mod.rs index 2364fbe..0354187 100644 --- a/src-tauri/src/commands/mod.rs +++ b/src-tauri/src/commands/mod.rs @@ -19,4 +19,5 @@ pub mod cicd; pub mod blueprint; pub mod buff; pub mod canvas; +pub mod claude_config; pub mod mentor; diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 92e8443..2e2fe4c 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -18,7 +18,7 @@ pub(crate) fn silent_cmd(program: &str) -> std::process::Command { cmd } -use commands::{activity::*, blueprint::*, buff::{apply_blueprint_buff, remove_blueprint_buff, get_buff_status, list_buffed_projects}, canvas::*, cicd::*, devtools::*, git_ops::*, git_repos::*, github::*, groups::*, mentor::{add_project_note, get_group_mentor_report, get_mentor_context, get_project_notes, get_startup_alerts, run_startup_health_scan}, network::{get_wsl_ip, sync_wsl_proxy, get_wsl_proxy_status, clear_wsl_proxy, test_wsl_proxy_ip, test_win_proxy_ip}, project_scan::*, project_tools::*, projects::{batch_create_projects, create_project, delete_project, get_project, get_projects, scan_subfolders, update_project, update_project_tags}, proxy::*, publish::*, settings::{check_mcp_health, detect_editors, get_settings, run_health_check, search_editor_path, update_settings}, shell::*, spaces::*, tags::*, templates::*}; +use commands::{activity::*, blueprint::*, buff::{apply_blueprint_buff, remove_blueprint_buff, get_buff_status, list_buffed_projects}, canvas::*, cicd::*, claude_config::get_beast_global_status, devtools::*, git_ops::*, git_repos::*, github::*, groups::*, mentor::{add_project_note, get_group_mentor_report, get_mentor_context, get_project_notes, get_startup_alerts, run_startup_health_scan}, network::{get_wsl_ip, sync_wsl_proxy, get_wsl_proxy_status, clear_wsl_proxy, test_wsl_proxy_ip, test_win_proxy_ip}, project_scan::*, project_tools::*, projects::{batch_create_projects, create_project, delete_project, get_project, get_projects, scan_subfolders, update_project, update_project_tags}, proxy::*, publish::*, settings::{check_mcp_health, detect_editors, get_settings, run_health_check, search_editor_path, update_settings}, shell::*, spaces::*, tags::*, templates::*}; #[cfg_attr(mobile, tauri::mobile_entry_point)] pub fn run() { @@ -271,6 +271,8 @@ pub fn run() { add_project_note, get_group_mentor_report, get_startup_alerts, + // beast status (read-only) + get_beast_global_status, ]) .run(tauri::generate_context!()) .expect("error while running tauri application"); diff --git a/src/components/dashboard/ClaudeConfigModal.tsx b/src/components/dashboard/ClaudeConfigModal.tsx new file mode 100644 index 0000000..6e2885a --- /dev/null +++ b/src/components/dashboard/ClaudeConfigModal.tsx @@ -0,0 +1,104 @@ +import { useQuery } from "@tanstack/react-query"; +import { getBeastGlobalStatus } from "../../lib/commands"; +import { Dialog } from "../ui/Dialog"; + +interface Props { + projectName: string; + onClose: () => void; +} + +export function ClaudeConfigModal({ projectName, onClose }: Props) { + const { data: beast, isLoading } = useQuery({ + queryKey: ["beastGlobalStatus"], + queryFn: getBeastGlobalStatus, + staleTime: 10000, + }); + + const modeLabel = beast?.active ? "🔥 狂暴模式" : "🛡️ 普通模式"; + const modeBg = beast?.active + ? "bg-orange-50 border-orange-200 text-orange-700" + : "bg-gray-50 border-gray-200 text-gray-600"; + + return ( + +
+ + {isLoading ? ( +

读取中…

+ ) : ( + <> + {/* Beast 安装状态 */} +
+ Beast + {beast?.installed ? ( + + ● 已安装 + + ) : ( + + ○ 未安装 + + )} +
+ + {/* 当前模式 */} +
+

{beast?.installed ? modeLabel : "— 未启用"}

+

+ {beast?.active + ? "权限全开,危险操作已拦截" + : beast?.installed + ? "文件修改需确认,Bash 需确认" + : "Beast 未安装,使用 Claude Code 默认权限"} +

+
+ + {/* Bash 规则状态 */} +
+
+

Bash 自主性规则

+

~/.claude/CLAUDE.md

+
+ {beast?.has_bash_rules ? ( + + ● 已注入 + + ) : ( + + ○ 未注入 + + )} +
+ + {/* CLI 操作提示 */} +
+

在终端管理

+ {[ + { cmd: "beast i", desc: "安装 Beast" }, + { cmd: "beast on", desc: "开启狂暴模式 + 注入 Bash 规则" }, + { cmd: "beast off", desc: "切回普通模式 + 移除 Bash 规则" }, + { cmd: "beast s", desc: "查看当前状态" }, + ].map(({ cmd, desc }) => ( +
+ + {cmd} + + {desc} +
+ ))} +
+ + )} +
+ +
+ +
+
+ ); +} diff --git a/src/components/dashboard/ProjectCard.tsx b/src/components/dashboard/ProjectCard.tsx index aa917c8..fdf7dfc 100644 --- a/src/components/dashboard/ProjectCard.tsx +++ b/src/components/dashboard/ProjectCard.tsx @@ -10,6 +10,7 @@ import { PublishModal } from "./PublishModal"; import { BlueprintModal } from "./BlueprintModal"; import { BlueprintPromptModal } from "./BlueprintPromptModal"; import { MentorPanel } from "../mentor/MentorPanel"; +import { ClaudeConfigModal } from "./ClaudeConfigModal"; import { getOtherSpacesInfo, recordPushToRemote, formatRelativeTime, type SpacesJson } from "../../lib/spacesSync"; import { openUrl } from "@tauri-apps/plugin-opener"; @@ -67,6 +68,7 @@ export function ProjectCard({ project: p, role, spacesJson }: Props) { const [showBlueprint, setShowBlueprint] = useState(false); const [showBlueprintPrompt, setShowBlueprintPrompt] = useState(false); const [showMentor, setShowMentor] = useState(false); + const [showClaudeConfig, setShowClaudeConfig] = useState(false); const [showBranchMenu, setShowBranchMenu] = useState(false); const [newBranchName, setNewBranchName] = useState(""); const [creatingBranch, setCreatingBranch] = useState(false); @@ -721,6 +723,10 @@ export function ProjectCard({ project: p, role, spacesJson }: Props) {
{(p.updated_at ?? "").slice(0, 10)}
+