# skill-manager **Repository Path**: n7gs7/skill-manager ## Basic Information - **Project Name**: skill-manager - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-15 - **Last Updated**: 2026-05-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Neural Forge - Skill Manager AI Agent 技能管理与可视化编排平台。发现、管理、编排和优化多平台的 SKILL.md 技能文件。 演示地址:https://skills.crlkcloud.cyou/ ## 功能 - **技能市场** — 扫描本地目录,浏览、搜索、分类所有已安装的 AI Agent 技能 - **可视化编排** — 基于 React Flow 的画布,拖拽组合多个技能为工作流 - **AI 对话优化** — 内置 AI 对话面板,实时编辑和优化 SKILL.md - **技能评估** — 6 维度自动评分(清晰度、职责、一致性、文档质量、流程化、跨平台) - **场景推荐** — 根据需求描述智能推荐匹配的技能 - **版本快照** — 编辑前自动创建快照,支持回滚和差异对比 - **定时调度** — 周期性扫描和维护任务 - **多平台导出** — 支持 OpenCode、Claude、Copilot、WorkBuddy 格式 ## 使用指南 ### 技能市场 1. 点击 **扫描技能** 从配置的 scanPaths 中发现 SKILL.md 文件 2. 左侧列表浏览所有技能,支持按平台、分类筛选 3. 右侧详情面板查看技能内容、评估分数 4. 点击 **评估** 对技能进行 6 维度自动评分 ### 可视化编排 1. 切换到 **编排** 标签页 2. 从右侧技能列表拖拽技能到画布 3. 连线定义执行顺序,形成工作流 4. 点击 **保存** 持久化编排配置 5. 可通过 **AI 合并** 将整个编排合并为一个技能文件 ### AI 对话 1. 切换到 **对话** 标签页 2. 输入优化需求,AI 自动修改 SKILL.md 内容 3. 每次编辑自动创建快照,支持一键回滚 4. 可对比快照差异,查看修改历史 ### 场景推荐 1. 切换到 **推荐** 标签页 2. 描述你的使用场景(如"React 表单开发") 3. AI 分析后推荐最匹配的技能组合 4. 可一键安装推荐技能到指定平台目录 ### 系统设置 1. 点击右上角齿轮图标进入设置 2. 配置 AI 提供商(OpenRouter / DeepSeek / MiniMax 等) 3. 选择活跃模型、调整扫描路径 4. 管理调度任务(定时扫描、自动评估) ## 技术栈 | 层 | 技术 | |---|------| | 前端 | Next.js 15, React 19, TypeScript | | 画布 | @xyflow/react (React Flow) | | 图标 | lucide-react | | 后端 | Express 4, TypeScript | | 运行 | tsx (开发), tsc (构建) | | 存储 | 文件系统 JSON | | AI | OpenRouter / MiniMax / DeepSeek / SiliconFlow | | 调度 | node-cron | | 解析 | gray-matter, yaml | ## 项目结构 ``` skill-manager/ ├── server/ # Express 后端 (端口 3210) │ └── src/ │ ├── index.ts # 入口 │ ├── routes/ # API 路由 │ │ ├── skills.ts # 技能 CRUD、扫描、评估、推荐 │ │ ├── compositions.ts # 编排 CRUD、合并 │ │ ├── scheduler.ts # 调度任务管理 │ │ └── chat.ts # AI 聊天代理 │ ├── services/ # 业务服务 │ │ ├── scheduler.ts # node-cron 调度 │ │ └── exporter.ts # 多平台导出 │ └── types/ # 类型定义 ├── web/ # Next.js 前端 (端口 3200) │ └── src/ │ ├── app/ # Next.js App Router │ │ ├── page.tsx # 主页面(3 标签页) │ │ ├── layout.tsx # 根布局 │ │ └── globals.css # 暗色主题样式 │ ├── components/ # 组件 │ │ ├── SkillMarket.tsx # 技能市场浏览器 │ │ ├── Canvas.tsx # 可视化编排画布 │ │ ├── ChatPanel.tsx # AI 聊天 + 编辑器 │ │ ├── RecommendPanel.tsx # 场景推荐 │ │ ├── CompositionList.tsx# 编排列表 │ │ └── Toast.tsx # 通知系统 │ ├── lib/api.ts # API 客户端 │ └── types/ # 类型定义 ├── data/ # 文件存储 │ ├── config.json # 扫描路径配置 │ ├── skills/ # 技能 JSON │ ├── compositions/ # 编排 JSON │ └── snapshots/ # 版本快照 └── docs/ # 设计文档 ``` ## 快速开始 ### 前置条件 - Node.js >= 20 - pnpm(`npm install -g pnpm`) ### 安装 & 启动 ```bash # 安装依赖 cd server && pnpm install cd ../web && pnpm install # 配置环境变量(server/.env) # 至少配置一个 AI Provider 的 API Key OPENROUTER_API_KEY=sk-or-xxx # 或 MINIMAX_API_KEY=xxx DEEPSEEK_API_KEY=xxx SILICONFLOW_API_KEY=xxx # 启动后端(端口 3210) cd server && pnpm dev # 启动前端(端口 3200) cd web && pnpm dev ``` 启动后访问 http://localhost:3200 ### 配置扫描路径 编辑 `data/config.json`,添加需要扫描的 SKILL.md 目录路径: ```json { "scanPaths": [ "C:\\Users\\username\\.claude\\skills", "C:\\Users\\username\\.config\\opencode\\skills" ] } ``` ## API 接口 所有接口均在 `http://localhost:3210/api` 下。 ### 技能管理 | 方法 | 路径 | 说明 | |------|------|------| | GET | `/api/skills` | 获取所有技能 | | GET | `/api/skills/search?q=` | 全文搜索 | | GET | `/api/skills/:id` | 获取单个技能 | | PUT | `/api/skills/:id` | 更新技能 | | DELETE | `/api/skills/:id` | 删除技能 | | POST | `/api/skills/scan` | 扫描目录 | | POST | `/api/skills/recategorize` | 重新分类 | | POST | `/api/skills/evaluate-all` | 批量评估 | | POST | `/api/skills/:id/evaluate` | 评估单个技能 | | POST | `/api/skills/recommend` | 场景推荐 | | POST | `/api/skills/:id/install` | 安装到目标目录 | | POST | `/api/skills/:id/test` | AI 模拟测试 | | POST | `/api/skills/from-content` | 从内容创建技能 | ### 快照管理 | 方法 | 路径 | 说明 | |------|------|------| | GET | `/api/skills/:id/snapshots` | 快照列表 | | GET | `/api/skills/:id/snapshots/:snapId` | 获取快照 | | POST | `/api/skills/:id/rollback/:snapId` | 回滚到快照 | | GET | `/api/skills/:id/diff/:snapId` | 差异对比 | ### 编排管理 | 方法 | 路径 | 说明 | |------|------|------| | GET | `/api/compositions` | 编排列表 | | GET | `/api/compositions/:id` | 获取编排 | | POST | `/api/compositions` | 创建编排 | | PUT | `/api/compositions/:id` | 更新编排 | | DELETE | `/api/compositions/:id` | 删除编排 | | POST | `/api/compositions/:id/merge` | AI 合并为单个技能 | ### 调度 & 聊天 | 方法 | 路径 | 说明 | |------|------|------| | GET | `/api/scheduler/jobs` | 调度任务列表 | | POST | `/api/scheduler/jobs` | 创建调度任务 | | PATCH | `/api/scheduler/jobs/:id/toggle` | 启停任务 | | GET | `/api/chat/providers` | AI 提供商列表 | | POST | `/api/chat` | 发送聊天消息 | | GET | `/api/health` | 健康检查 | ## 评估维度 技能评估基于 6 个维度(每项 0-10 分,总分 60): - **clarity** — 指令适配性(触发器、排除条款、关键词列表) - **focus** — 职责明确性(警告、输入输出、参数) - **consistency** — 内容一致性(示例、引用、表格、frontmatter) - **docQuality** — 文档质量(章节结构、代码块、列表) - **simplicity** — 流程傻瓜化(步骤编号、条件逻辑、工作流描述) - **portability** — 跨平台兼容性(frontmatter、schema、平台中立语言) ## 技能分类 支持 17 种自动分类:AI 平台 & API、前端开发、后端开发、设计创意、文档 & 办公、内容创作、开发工具、数据分析、自动化 & 浏览器、腾讯云、微信 & 企微、电商 & 购物、金融 & 股票、生活服务、音视频 & 多媒体、教育 & 学习、搜索 & 信息