# SkillHub **Repository Path**: aiagentdemo/skill-hub ## Basic Information - **Project Name**: SkillHub - **Description**: 一个用于「生成 / 管理 / 导入 / 配置」AI Skill 的全栈平台。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-24 - **Last Updated**: 2026-07-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SkillHub · 智能技能平台 一个用于「生成 / 管理 / 导入 / 配置」AI Skill 的全栈平台。后端 **Python + FastAPI**,前端 **Vue 3 + Vite**,UI 为蓝白科技 · 酷炫大模型风。 ## 界面预览  ## 功能 1. **技能生成**:根据自然语言需求生成结构化 Skill 包(含 `SKILL.md` 等文件),可选保存到技能库。生成时会自动加载技能库中的 **skill-creator** 作为指导上下文注入大模型,提升生成的规范性与准确性。 2. **技能管理**:上传 `.md` 或 `.zip` 技能、查看技能列表与详情、浏览技能内每个文件的内容、下载 ZIP、删除。 3. **导入与示例**:一键导入内置示例技能(含 **Skill Creator** 技能生成器);支持从其他大模型生成的 JSON 结果导入。 4. **模型配置**:配置生成所用的大模型(默认公司万擎大模型,另支持内置 Mock、Claude/Anthropic 兼容、OpenAI 兼容)。未配置密钥时自动使用内置 Mock 生成器,**离线即可运行**。 ## skill-creator 指导生成(提升准确性) 生成技能时,后端会自动查找技能库中作为「技能生成指南」的 **skill-creator**(按名称/标签匹配 `skill-creator`、`技能生成器` 等关键字),读取其文件内容并注入到大模型的系统提示中,引导模型按规范结构与最佳实践产出技能。 - 若技能库中**已有** skill-creator:使用库内版本(可在「导入与示例」中一键导入内置的 Skill Creator,或自行上传/编辑后持续优化它)。 - 若技能库中**没有**:自动回退到后端内置的 skill-creator 指南,保证生成质量不掉档。 - 生成结果的元信息中会显示本次使用的「生成指南」来源(库内 / 内置)。 ## 目录结构 ``` SkillHub/ ├── backend/ # FastAPI 后端 │ ├── app/ │ │ ├── main.py # 路由与应用入口 │ │ ├── config.py # 路径与常量 │ │ ├── database.py # SQLite 访问层 │ │ ├── storage.py # 技能文件存储 / zip 解包 / 文件读取 │ │ ├── generator.py # 生成服务(Mock + 真实 API) │ │ └── examples.py # 内置示例技能 │ ├── data/ # 运行时生成:SQLite + 技能文件 │ └── requirements.txt └── frontend/ # Vue3 前端 ├── src/ │ ├── views/ # Generate / Skills / SkillDetail / Examples / Settings │ ├── components/ # FileViewer │ ├── api/ # 后端接口封装 │ └── style.css # 全局蓝白科技主题 └── package.json ``` ## 快速开始 ### 1. 启动后端(端口 8000) ```bash cd backend pip install -r requirements.txt uvicorn app.main:app --reload --port 8000 ``` API 文档:http://127.0.0.1:8000/docs > 提示:若运行环境的文件系统不支持 SQLite 文件锁(极少见),可用环境变量指定数据库到本地磁盘: > `SKILLHUB_DB_PATH=/tmp/skillhub.db uvicorn app.main:app --port 8000` ### 2. 启动前端(端口 5173) ```bash cd frontend npm install npm run dev ``` 打开 http://127.0.0.1:5173 即可使用。前端通过 Vite 代理把 `/api` 转发到后端 8000 端口。 ## 配置真实大模型 **默认已配置好公司私有大模型(OpenAI 兼容网关),开箱即可调用真实模型生成 Skill。** 默认配置来自 `smart-data-platform/backend/.env.example`: - Base URL:`https://XXX.XXX.com/api/agent/v1/apps` - Model:`ai model` - API Key:已内置(可在「模型配置」页或环境变量覆盖) 可用环境变量覆盖默认值(与 .env.example 同名): ```bash export OPENAI_API_KEY=你的密钥 export OPENAI_BASE_URL=https://xxx.xxx.com/api/agent/v1/apps export OPENAI_MODEL=ai model uvicorn app.main:app --port 8000 ``` 进入「模型配置」页面可切换/编辑以下服务商: - **公司私有大模型(默认激活)**:OpenAI 兼容;Base URL 为 SDK 风格基地址,后端会自动追加 `/chat/completions`。 - **内置 Mock**:无需任何配置,离线生成技能结构(适合演示与无密钥环境)。 - **Claude (Anthropic 兼容)** / **OpenAI 兼容**:填写 Base URL、模型名与 API Key 即可启用。 > 兼容性说明:部分企业网关不接受 `temperature` / `max_tokens` 等额外参数,因此默认只发送 `model` + `messages`(最兼容)。如需调参,可在模型配置中为对应服务商填写 temperature / max_tokens。 > > 容错说明:当网关返回的不是标准 Skill JSON(例如其自带固定角色、输出其它结构或纯文本)时,后端会自动把模型输出规范化并完整渲染进 `SKILL.md`,不会丢弃结果;真实调用若失败则回退到内置 Mock 生成器,保证始终可用。 ## 主要 API | 方法 | 路径 | 说明 | |------|------|------| | POST | `/api/generate` | 生成技能 | | GET | `/api/skills` | 技能列表 | | GET | `/api/skills/{id}` | 技能详情(含文件树) | | GET | `/api/skills/{id}/file?path=` | 读取技能内单个文件内容 | | GET | `/api/skills/{id}/download` | 下载技能 ZIP | | DELETE | `/api/skills/{id}` | 删除技能 | | POST | `/api/skills/upload` | 上传 .md / .zip 技能 | | GET | `/api/examples` | 内置示例列表 | | POST | `/api/examples/{key}/import` | 导入内置示例 | | POST | `/api/import` | 从 JSON 导入(其他大模型结果) | | GET / PUT | `/api/config/model` | 读取 / 保存模型配置 | ## 技术说明 - 数据:技能元数据存 SQLite(`backend/data/skillhub.db`),技能文件按目录存于 `backend/data/skills/