dev-manager-tauri/.blueprint/modules/project-mentor.md
lanrtop 56536effff feat: P2 CONVENTIONS 动态化——梦核建议可直接写入并分发
- 新增用户版 CONVENTIONS 存储层(app_data_dir/conventions/CONVENTIONS.md)
  - OnceLock 初始化目录,effective_conventions_content() 用户版优先 fallback 内置
  - invalidate_effective_cache() 写入/重置后清除缓存

- 新增三个 Tauri command
  - get_user_conventions_status:返回来源(builtin/user)、版本、内容
  - save_user_conventions:解析 frontmatter version,写入用户版,自动同步所有项目
  - reset_conventions_to_builtin:删除用户版,自动同步回内置版

- sync_blueprint_rules / build_init_prompt / build_sync_prompt / generate_muhe_prompt
  全部切换为 effective_conventions_content(),规则更新无需发版

- GovernancePanel 新增规则编辑器 UI
  - 来源 badge(内置基线 / 用户自定义)
  - 「应用梦核建议」区域:粘贴新内容 + 确认写入 + 同步进度提示
  - 「重置为基线」按钮(仅用户版存在时显示)
2026-04-08 03:27:04 +09:00

125 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 项目导师
炼境作为所管理项目的贴身导师——持续感知每个项目的功能运转状态、模块质量与成长方向,借助 Claude 将数据转化为有观点的引导。炼境自身亦被纳入其中,形成自指闭环。
## 核心定位
```
功能运转感知(代码做)
→ 各模块是否在正常运转?有无停滞、失效、报错?
功能质量理解Claude 做)
→ 各模块实现质量如何?在整体中分量几何?
成长方向引导(代码 + Claude 协作)
→ 下一步该聚焦什么?风险在哪?优化路径是什么?
```
三层能力作用于炼境管理的每一个项目,也作用于炼境自身——
工具与被工具服务的对象合而为一,闭环成立。
## 自指闭环说明
```
炼境 感知其他项目 → 积累模式与洞察
同样机制作用于炼境自身
Claude 读炼境蓝图 + 运行指标
→ 给出炼境自身的优化建议
炼境变得更强 → 更好地理解项目
包括更好地理解自己 ↺
```
炼境通过管理别的项目**认识自己**,通过认识自己**成为更好的导师**。
## 数据基础(上游依赖)
| 数据源 | 提供什么 | 来自哪个模块 |
|--------|---------|------------|
| blueprint 规划态 | 模块设计意图、任务完成度 | blueprint-flywheel |
| runtime_logs | 执行层历史、注入成功率 | runtime-diagnostics |
| usage.json 飞轮 | 跨项目趋势、飞轮持续率 | blueprint-feedback |
| 健康中心指标 | Git 活跃度、CI 状态、路径有效性 | health-center |
| MCP 接口 | Claude 可查询任意维度 | mcp-server |
## 任务卡
### ✅ T1 · 后端聚合 commandMentorContext
- status: done
- complexity: M
- files: src-tauri/src/commands/mentor.rs, src-tauri/src/lib.rs
- acceptance: `get_mentor_context(project_id)` 返回包含 health、blueprint_summary、recent_errors、mentor_markdown 的 MentorContext 结构体,可通过 Tauri invoke 调用成功
### ✅ T2 · MCP 项目导师查询接口
- status: done
- complexity: S
- files: src-tauri/src/mcp_server.rs
- depends: T1
- acceptance: MCP 新增 `get_project_mentor_context` 工具Claude 调用后返回 mentor_markdown 字符串,内容包含健康摘要与近期错误
### ✅ T3 · 前端导师面板
- status: done
- complexity: M
- files: src/components/mentor/MentorPanel.tsx, src/lib/commands.ts, src/components/dashboard/ProjectCard.tsx
- depends: T1
- acceptance: 项目卡片底部出现"🎓"导师按钮,点击展示健康摘要和近期错误,"生成导师报告"按钮点击后将 mentor_markdown 复制到剪贴板
### 🔵 T4 · 炼境自指接入
- status: in_progress
- complexity: S
- files: src-tauri/src/commands/mentor.rs
- depends: T1
- acceptance: 炼境自身dev-manager-tauri作为项目注册后`get_mentor_context` 能正常返回其蓝图摘要和健康数据,不产生递归调用
### ✅ T5 · project_notes 数据层 + 后端命令
- status: done
- complexity: S
- files: src-tauri/src/db.rs, src-tauri/src/commands/mentor.rs, src-tauri/src/lib.rs
- depends: T1
- acceptance: DB 增量迁移新增 `project_notes` 表;`get_project_notes(project_id)` 和 `add_project_note(project_id, content, source)` 两个 Tauri command 可通过 invoke 正常调用
### ✅ T6 · MCP append_project_note 工具
- status: done
- complexity: S
- files: src-tauri/src/mcp_server.rs
- depends: T5
- acceptance: MCP tools/list 新增 `append_project_note` 工具Claude 通过 MCP 调用后,笔记写入 DB返回成功确认包含 group 归属校验project_id 必须属于请求的 group
### ✅ T7 · MentorPanel 展示 AI 笔记
- status: done
- complexity: S
- files: src/components/mentor/MentorPanel.tsx, src/lib/commands.ts
- depends: T5
- acceptance: MentorPanel 底部新增"AI 笔记"区域,展示该项目最近 10 条笔记(时间 + 内容),无笔记时显示占位文案
### ✅ T8 · 后端全组巡检命令
- status: done
- complexity: S
- files: src-tauri/src/commands/mentor.rs, src-tauri/src/lib.rs
- depends: T1
- acceptance: `get_group_mentor_report(group_id)` 命令遍历组内所有项目,聚合每个项目的 mentor_markdown返回一份完整的 Markdown 字符串,包含各项目小标题分隔
### ✅ T9 · 前端全组巡检按钮
- status: done
- complexity: S
- files: src/components/manage/ManagePage.tsx, src/lib/commands.ts
- depends: T8
- acceptance: ManagePage 产品组 Tab 的每个组卡片右上角出现"巡检全组"按钮;点击后加载中显示 spinner完成后将聚合报告复制到剪贴板并提示"已复制,可粘贴给 Claude"
### ✅ T10 · 启动健康扫描 + 前端 Alert Banner
- status: done
- complexity: M
- files: src-tauri/src/commands/mentor.rs, src-tauri/src/lib.rs, src/lib/commands.ts, src/App.tsx
- depends: T1
- acceptance: 应用启动时后台扫描所有项目,超 14 天无 git 提交或蓝图存在 🔴 blocked 任务的项目写入告警category=startup_alert前端 App.tsx 加载完成后调用 `get_startup_alerts`,有结果则在页面顶部显示可关闭的黄色 Banner列出需关注的项目名
## 决策记录
- 项目导师是洞察与引导层health-center 是数据基础层,两者是上下游关系,不合并为一个模块
- Claude 是智能层的唯一执行者,代码只负责数据采集与结构化,不在代码层做质量推断
- 炼境自指是设计意图,不是边缘 case——从一开始就将其纳入系统而非事后兼容
- 任务卡保持 concept 状态直到 health-center 完成,避免在数据基础未就绪时过早实现上层