智能项目上下文管理系统,解决 WorkBuddy 多项目、多对话间的上下文断裂问题。
纯 Python 实现,跨平台兼容 (Windows/macOS/Linux),通过 skillhub 安全扫描。
MIT License - 可自由使用、修改和分发,适合 20 人以内团队离线部署。
本 Skill 在以下情况下触发:
python3 pcm.py stop
当本 Skill 被触发时,AI 必须遵循以下规则:
project-context-manager/
├── SKILL.md # Skill 定义文件
├── README.md # 说明文档
├── install.py # 跨平台安装脚本 (Python)
└── pcm.py # 主程序(合并所有功能)
data/
├── ~/.workbuddy/project-context/
│ ├── index.json # 全局索引
│ ├── tag-index.json # 标签索引
│ ├── audit/ # 审计日志
│ └── {workspace-hash}/ # 项目级缓存
│ ├── fingerprint.sha256 # L1 对话指纹
│ ├── summary.json # L2 增量摘要
│ ├── project-context.md # L3 项目上下文文档
│ └── confirmed.json # L4 用户确认记录
| 命令 | 用途 | 示例 |
|------|------|------|
| python3 pcm.py create [workspace] | 创建/更新项目上下文 | python3 pcm.py create |
| python3 pcm.py status [workspace] | 查看缓存状态 | python3 pcm.py status |
| python3 pcm.py stop [workspace] | Stop hook 入口 | python3 pcm.py stop |
昨天: 讨论了订单管理系统的技术方案,决定采用 NestJS + Next.js
今天: 用户说"继续昨天的开发"
AI 动作:
1. 检测到无当前项目上下文
2. 查询缓存,发现 L3 项目模板
3. 自动加载: [来源:order-system] 技术栈: NestJS + Next.js,决策: ...
4. Token 消耗: ~1.5K(vs 无缓存时 ~5K)
当前在 analytics-dashboard 项目,用户说: "请利用 order-system 项目中的方案"
AI 动作:
1. 检测到跨项目查询请求
2. 安全检查: 用户明确提及"order-system"
3. 读取 order-system 项目上下文
4. 返回: [来源:order-system] 方案内容...
5. 记录审计日志
对话结束(Stop hook 触发,需手动配置)
AI 动作:
1. 分析对话是否包含项目信息
2. 计算对话指纹,检查缓存层级
3. L2 命中: 仅处理新增决策和待办
4. 更新缓存和标签索引
5. 静默完成,不打扰用户
配置方法:在 WorkBuddy 设置中添加 Stop hook:
python3 ~/.workbuddy/skills/project-context-manager/pcm.py stop
## 📊 Project Context Status
**项目**: project-name
**工作空间哈希**: 4f75ff063c893b12
### 缓存状态
- L1 指纹缓存: ✅ 已创建 (64 bytes) # 对话指纹匹配
- L2 摘要缓存: ✅ 已创建 (1.2 KB) # 增量摘要可用
- L3 上下文缓存: ✅ 已创建 (5.6 KB) # 完整项目文档
- L4 确认缓存: ✅ 已确认 # 用户已确认
### 项目标签
- `nestjs`
- `nextjs`
- `api-design`
### 关联项目
- **order-system** (共同标签: 2)
[来源:order-system] 项目背景: 订单管理系统 v2.3.0
[来源:order-system] 技术栈: NestJS + Next.js + Prisma + Jest v29
[来源:order-system] 关键决策: 采用分层架构,API → Service → Repository
ℹ️ 跨项目访问提示
您正在访问其他项目的上下文信息,所有引用均已标注来源
⚠️ 安全警告:检测到敏感信息
在生成的项目上下文中检测到以下敏感信息:
- API密钥: 1 处
- 密码: 2 处
**已自动处理**:
- 敏感信息已被标记,不会写入项目文档
- 建议在确认前审查并移除敏感内容
用户: 请总结项目背景
AI:
🔄 正在为项目 'my-project' 生成上下文...
## 项目上下文摘要
### 基本信息
- **项目**: my-project
- **最后更新**: 2026-04-13T22:00:00Z
### 关键决策
1. 采用 React + TypeScript 技术栈
2. 使用 Vite 作为构建工具
3. 部署到 Vercel
### 待办事项
- [ ] 完成用户认证模块
- [ ] 集成支付接口
### 建议标签
- `react`, `typescript`, `vite`
请确认以上信息是否准确?
用户: 请利用 order-system 项目中的方案来解决当前问题
AI:
正在查询 order-system 项目上下文...
[来源:order-system] 项目背景: 订单管理系统 v2.3.0
[来源:order-system] 技术栈: NestJS + Next.js + Prisma + Jest v29
[来源:order-system] 架构模式: 采用分层架构,每层职责清晰
[来源:order-system] 关键决策: 使用 Repository 模式进行数据访问
基于 order-system 项目的经验,建议当前项目:
1. 采用类似的分层架构设计
2. 使用 NestJS 的模块化架构
3. 参考其 Repository 模式实现
ℹ️ 以上信息来自 order-system 项目,仅用于参考,不会保存到当前项目
用户: 查看项目标签云
AI:
## 🏷️ 项目标签云
| 标签 | 使用次数 | 关联项目数 |
|------|----------|------------|
| react | 5 | 3 |
| nestjs | 3 | 2 |
| api-design | 2 | 2 |
| typescript | 4 | 2 |
### 当前项目标签
- `nestjs`, `nextjs`, `prisma`
### 建议关联项目
- **order-system** (共同标签: nestjs, prisma)
- **api-gateway** (共同标签: nextjs)
四层缓存策略,逐层降低 token 消耗:
[来源:项目名]
| 类 | 功能 |
|----|------|
| Utils | 日志、哈希、时间戳、文件操作 |
| CacheManager | L1-L4 四层缓存管理 |
| ConversationAnalyzer | 对话分析、实体提取 |
| SummaryGenerator | 上下文文档生成 |
| TagManager | 标签管理、关联推荐 |
| SecurityManager | 敏感信息、审计、访问控制 |
| PCM | 主入口、命令分发 |
~/.workbuddy/project-context/
├── index.json # 全局索引
├── tag-index.json # 标签索引
├── audit/ # 安全审计日志
│ └── YYYY-MM-DD.jsonl
└── {workspace-hash}/ # 项目级缓存
├── fingerprint.sha256 # L1 对话指纹
├── summary.json # L2 增量摘要
├── project-context.md # L3 项目上下文文档
├── confirmed.json # L4 用户确认记录
└── versions/ # 历史版本
# 进入 skill 目录
cd project-context-manager
# 运行安装脚本
python3 install.py
# 或指定安装
python3 install.py install
# 使用 PowerShell
cd project-context-manager
python install.py
python3 install.py uninstall
本 Skill 已通过 skillhub.cn 安全扫描:
共 1 个版本