feat: Implement CLAUDE.md Manager View with file tree, viewer, and metadata actions

- Added main JavaScript functionality for CLAUDE.md management including file loading, rendering, and editing capabilities.
- Created a test HTML file to validate the functionality of the CLAUDE.md manager.
- Introduced CLI generation examples and documentation for rules creation via CLI.
- Enhanced error handling and notifications for file operations.
This commit is contained in:
catlog22
2025-12-14 23:08:36 +08:00
parent 0529b57694
commit d91477ad80
30 changed files with 7961 additions and 298 deletions

202
MCP_OPTIMIZATION_SUMMARY.md Normal file
View File

@@ -0,0 +1,202 @@
# MCP 优化和模板功能实现总结
## 完成的功能
### 1. ✅ .mcp.json 支持优化
#### 后端改进(`mcp-routes.ts`
- **新增函数**
- `addMcpServerToMcpJson()` - 添加服务器到 .mcp.json
- `removeMcpServerFromMcpJson()` - 从 .mcp.json 删除服务器
- **优化的配置优先级**
```
1. Enterprise managed-mcp.json (最高优先级,不可覆盖)
2. .mcp.json (项目级,新默认) ← 优先级提升
3. ~/.claude.json projects[path].mcpServers (遗留支持)
4. ~/.claude.json mcpServers (用户全局)
```
- **智能安装逻辑**
- `addMcpServerToProject()` 默认写入 `.mcp.json`
- 仍然支持 `.claude.json`(向后兼容)
- `removeMcpServerFromProject()` 自动检测并从两处删除
- **元数据跟踪**
```json
{
"mcpJsonPath": "D:\\Claude_dms3\\.mcp.json",
"hasMcpJson": true
}
```
#### 前端 UI 改进(`mcp-manager.js`
- **配置来源指示器**
- 有 .mcp.json显示绿色 `file-check` 图标
- 无 .mcp.json显示提示 "Will use .mcp.json"
- **项目概览表增强**
- 每个项目旁显示 `.mcp.json` 状态图标
- 清晰区分配置来源
### 2. ✅ MCP 模板系统
#### 数据库模块(`mcp-templates-db.ts`
- **数据库位置**`~/.ccw/mcp-templates.db`
- **模板结构**
```typescript
interface McpTemplate {
id?: number;
name: string;
description?: string;
serverConfig: {
command: string;
args?: string[];
env?: Record<string, string>;
};
tags?: string[];
category?: string;
createdAt?: number;
updatedAt?: number;
}
```
- **功能**
- `saveTemplate()` - 保存/更新模板
- `getAllTemplates()` - 获取所有模板
- `getTemplateByName()` - 按名称查找
- `getTemplatesByCategory()` - 按分类查找
- `searchTemplates()` - 关键字搜索
- `deleteTemplate()` - 删除模板
#### API 端点
| 方法 | 路径 | 功能 |
|------|------|------|
| GET | `/api/mcp-templates` | 获取所有模板 |
| POST | `/api/mcp-templates` | 保存模板 |
| GET | `/api/mcp-templates/:name` | 获取单个模板 |
| DELETE | `/api/mcp-templates/:name` | 删除模板 |
| GET | `/api/mcp-templates/search?q=keyword` | 搜索模板 |
| GET | `/api/mcp-templates/categories` | 获取所有分类 |
| GET | `/api/mcp-templates/category/:name` | 按分类获取 |
| POST | `/api/mcp-templates/install` | 安装模板到项目/全局 |
### 3. ✅ Bug 修复
#### 删除服务器逻辑优化
- **问题**:无法正确删除来自 .mcp.json 的服务器
- **解决**
```typescript
// 现在会同时检查两个位置
removeMcpServerFromProject() {
// 尝试从 .mcp.json 删除
// 也尝试从 .claude.json 删除
// 返回详细的删除结果
}
```
## 测试验证
### 1. .mcp.json 识别测试
```bash
$ curl http://localhost:3456/api/mcp-config | jq
```
✅ 成功识别 `D:\Claude_dms3\.mcp.json`
✅ 正确加载服务器配置:
- test-mcp-server
- ccw-tools (含环境变量)
### 2. 创建的测试文件
- `D:\Claude_dms3\.mcp.json` - 测试配置文件
## 待实现功能
### 前端 UI下一步
- [ ] 模板管理界面
- 模板列表视图
- 创建/编辑模板表单
- 模板预览
- 从现有服务器保存为模板
- 从模板快速安装
### CCW Tools 安装增强
- [ ] 全局安装选项
- 添加到 ~/.claude.json
- 所有项目可用
- [ ] 项目安装选项(当前默认)
- 写入 .mcp.json
- 仅当前项目可用
## 使用示例
### 保存当前服务器为模板
```javascript
// POST /api/mcp-templates
{
"name": "filesystem-server",
"description": "MCP Filesystem server for local files",
"serverConfig": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/files"]
},
"category": "官方",
"tags": ["filesystem", "mcp", "official"]
}
```
### 安装模板到项目
```javascript
// POST /api/mcp-templates/install
{
"templateName": "filesystem-server",
"projectPath": "D:/Claude_dms3",
"scope": "project" // 或 "global"
}
```
## 架构优势
### 1. 清晰的配置层次
- **企业级** → 组织统一管理
- **.mcp.json** → 项目团队共享(可提交 git
- **.claude.json** → 用户个人配置(不提交)
### 2. 向后兼容
- 遗留 `.claude.json` 配置仍然有效
- 平滑迁移路径
### 3. 模板复用
- 常用配置保存为模板
- 跨项目快速部署
- 团队共享最佳实践
## 文件修改清单
### 新增文件
1. `ccw/src/core/mcp-templates-db.ts` - 模板数据库模块
### 修改文件
1. `ccw/src/core/routes/mcp-routes.ts`
- 添加 .mcp.json 读写函数
- 优化配置优先级
- 添加模板 API 路由
- 修复删除逻辑
2. `ccw/src/templates/dashboard-js/views/mcp-manager.js`
- 添加 .mcp.json 状态显示
- 项目概览表增强
### 测试文件
1. `D:\Claude_dms3\.mcp.json` - 测试配置
## 下一步计划
1. **完成前端模板管理 UI**
2. **实现 CCW Tools 全局/项目安装切换**
3. **添加预设模板库**(官方 MCP 服务器)
4. **模板导入/导出功能**
---
生成时间2025-12-14
Claude Code Workflow v6.1.4