SkillGo Logo

SkillGo

把好用的 Skill,变成每个人的能力。
沙箱隔离 · 成果交付 · 外部调用

A self-hosted platform for running agent skills in isolated sandboxes and delivering artifacts through the web or API.

License: MIT Release CI XERJ Corpus Hub contributor Python 3.12 Node.js 24

产品演示 · 核心能力 · 使用流程 · 快速开始 · API 接入 · 开发与文档

SkillGo 是一个可私有化部署的多用户 Skill 执行平台,专注于**接收一次任务,按选定 Skill 完成工作,交付真实成果**。上传现有的 `SKILL.md` 技能包,准备环境并审核发布,再通过自然语言和附件发起任务。Agent 在独立沙箱中执行,处理可恢复错误,平台按配置的验收策略接收并保存生成文件;同一项 Skill 能力也可以发布为 API,接入已有业务系统。 ## 产品演示 **第一次了解 SkillGo?不妨先观看这段 1 分 41 秒的产品演示。** 以 PPT 制作为例,直观了解 SkillGo 如何将 Skill 转化为可执行、可交付、可供业务调用的能力。视频配有中文配音与中英双语字幕。 https://github.com/user-attachments/assets/eb3e6cdf-cda6-434b-a0a9-4cc0d37262f4

下载演示视频 · 1080p · 60 fps

> **说明:** 视频展示 SkillGo 的产品流程。具体文档、表格、演示稿及图像处理能力取决于所上传的 Skill 和配置的模型。 ## 核心能力

SkillGo 核心能力:沙箱隔离、成果交付、外部调用

### 平台功能

   Skill 管理 — 技能导入、版本管理、审核发布、社区共享

   对话工作台 — 自然语言交互、附件处理、历史文件复用

   Agent 执行 — Skill 流程直达、多 Skill 协调、Python / 命令执行、进度追踪与成果交付

   模型与环境 — 多模型连接、视觉与 OCR、环境准备及依赖解析

   团队与运维 — 权限管理、操作审计、文件保留、备份与恢复

### 界面预览
起始页 ![SkillGo 起始页与社区精选 Skill](docs/assets/skillgo-home.png)
任务工作台 ![SkillGo 任务工作台与执行过程](docs/assets/skillgo-workbench.png)
Skill 管理与存储界面
Skill 管理界面
Skill 管理与发布
存储管理界面
存储与生命周期管理
## 使用流程

SkillGo 使用流程:准备并发布 Skill,提交任务,独立沙箱执行,验证并交付成果

1. **准备 Skill**:导入 ZIP,按需准备运行环境并完成审核发布。 2. **发起任务**:选择一个或多个 Skill,输入目标并添加附件。 3. **跟踪执行**:查看进度与工具日志;任务无人值守运行,信息不足时采用合理假设,无法继续时明确报告原因。 4. **获取成果**:下载已保存的文件,查看所用验收策略;失败或取消时可查看原因并重试。 同一任务由一个 Agent 协调所选 Skill,共享该任务工作区;不同任务使用独立工作卷。详细格式和示例参见 [Skill 包说明](docs/skill-packages.md) 与 [`examples/`](examples/)。 ### 执行策略由管理员按需开启 | 设置 | 默认行为 | 适用方式 | | --- | --- | --- | | 沿用 Skill 既定流程 | 关闭 | 在 Skill 版本管理中开启;仅单 Skill 任务免除强制规划,模型仍可在必要时规划 | | 运行联网 | 关闭 | 按版本授权;与既定流程开关相互独立 | | 文件接收模式 | 默认开启 | 保留 Skill 自带校验,平台安全接收并保存真实文件;额外的平台完整验证可主动选择 | | 最终操作自动交付 | 默认可用,无需单独开启 | 框架引导模型提前声明最后一组操作及产物;满足条件后直接交付,适用于所有账号、Skill 和文件格式 | | 详细上下文观测 | 关闭 | `SKILLGO_CONTEXT_OBSERVABILITY=true`,排查时记录统计,不增加摘要模型调用 | 这些是独立设置。既定流程开关不会自动开启联网、跳过 Skill 校验或开启自动交付;联网与既定流程设置在创建任务时复制,修改版本按钮不改变已有任务。文件接收成功只表示真实文件已安全保存,不等于业务内容或版式已通过审核。 通用自动交付需要模型在最后一组工具调用中声明确切文件路径,并包含所有剩余的 Skill 校验和清理。若文件名需运行后才能得知、还需要模型看版,或文件没有在本组中生成/更新,仍使用普通结束路径。无需修改 Skill 包,详见 [通用最终操作交付](docs/final-operation-delivery.md)。 新部署无需配置上述两项。需要额外平台验证时可显式设置 `SKILLGO_ARTIFACT_DELIVERY_ONLY=false`;已有实例的显式配置继续有效,升级不会自动覆盖。 ## 快速开始 ### 体验界面与对话 准备 **Git、Docker Engine / Docker Desktop 和 Docker Compose v2**,克隆项目并创建环境文件: ```bash git clone https://github.com/Max-cu/SkillGo.git cd SkillGo git checkout v1.0.0 cp .env.example .env ``` 在 `.env` 中设置 `POSTGRES_PASSWORD`、`SKILLGO_JWT_SECRET`、`SKILLGO_BOOTSTRAP_EMAIL`、`SKILLGO_BOOTSTRAP_PASSWORD`,然后启动: ```bash docker compose up -d --build ``` 打开 **http://127.0.0.1:8080**,使用 Bootstrap 管理员账号登录,并在平台设置中配置模型。Windows PowerShell 请用 `Copy-Item .env.example .env` 代替 `cp`。 > **基础模式**仅启动 Web、API 和数据库,适合体验界面、Skill 管理与普通对话。要执行脚本、处理附件或生成文件,请继续启用沙箱模式。 ### 启用沙箱执行(Linux) 需要 **Docker Engine + 已注册到 Docker 的 gVisor `runsc`**。先按 [部署指南](deploy/README.md) 完成安装与 Docker Socket GID 配置,再执行: ```bash cp deploy/ecs.env.example deploy/ecs.env # 编辑 deploy/ecs.env:配置 Docker GID、访问地址与端口 # 构建沙箱镜像并完成预检 docker compose --env-file .env --env-file deploy/ecs.env \ --profile build-only build sandbox-runtime bash deploy/preflight.sh # 启动沙箱模式(示例:2 个 Worker) docker compose --env-file .env --env-file deploy/ecs.env \ --profile sandbox up -d --build --scale worker=2 # 验证服务、Worker 和 gVisor 隔离 SKILLGO_INSTALL_ROOT="$PWD" bash deploy/verify-ecs.sh ``` Worker 数量可按宿主资源调整:`--scale worker=N`。`deploy/ecs.env.example` 默认监听 **80 端口**,并覆盖根目录 `.env` 的同名配置;环境准备默认关闭,启用方法见 [执行环境与隔离](docs/execution-and-isolation.md)。 ## API 接入 **同一项已发布的 Skill 能力,也可以通过独立 Endpoint 接入业务系统。** Endpoint 必须绑定已审核、可运行的 Skill 版本;密钥仅在创建或轮换时完整展示。 - **同步指令调用**:`POST /api/v1/invoke/{slug}` — 适用于纯指令处理,返回结构化结果与 `run_id`。 - **异步沙箱任务**:`POST /api/v1/workflow-endpoints/{slug}/jobs` — 适用于文件与工具任务,返回 `202 Accepted`、任务 ID 和查询地址。 异步接口接收可选输入文件和文本指令,至少提供一项;纯文本调用省略 `file`,不会生成占位附件。 ### 示例:提交文件处理任务 ```bash export SKILLGO_BASE_URL="https://skillgo.example.com" export SKILLGO_API_KEY="<你的 Endpoint 密钥>" curl "$SKILLGO_BASE_URL/api/v1/workflow-endpoints/your-slug/jobs" \ -H "X-SkillGo-Key: $SKILLGO_API_KEY" \ -H "Idempotency-Key: request-001" \ -F "file=@./input.docx" \ -F "instruction=根据资料制作项目汇报 PPT,突出关键进展与下一步计划" ``` 请求成功后,查询任务状态并下载产物。`Idempotency-Key` 可避免同一 Endpoint 下重复提交相同请求键时重复创建任务。外部任务无人值守执行,不会中途追问;信息不足时,Agent 会采用合理假设并在结果中说明。 Endpoint 绑定具体 Skill 版本。每个新 API 任务都会继承该版本的联网授权和“沿用 Skill 既定流程”设置;调用方无需额外传入这两个开关。 [完整 API 文档](docs/workflow-api.md) · [Python 客户端示例](examples/workflow_api_client.py) · 开发环境交互文档:`http://127.0.0.1:8000/api/docs` ## 架构与边界

SkillGo 运行架构与执行闭环:控制平面、任务队列、Worker、gVisor 沙箱与成果交付

SkillGo 由 **Web / FastAPI 控制面、PostgreSQL 与文件存储、可信 Worker、独立 gVisor 任务沙箱**构成。控制面负责授权、任务管理与交付,Worker 协调模型和沙箱中的执行过程。 **关键边界:** - **执行隔离**:每次任务尝试使用独立容器与工作卷;沙箱以非 root 身份运行,使用只读根文件系统和可配置资源预算,不注入平台密钥或挂载 Docker Socket。 - **网络授权**:运行联网默认关闭。多 Skill 任务中,只要一个所选版本获得联网授权,整个任务沙箱就可联网;当前不限制目标域名。 - **任务编排**:一个 Agent 在任务沙箱内协调所选 Skill;多 Skill 协调不等于通用并行 DAG 或多 Agent 调度。 - **完成判定**:普通任务由 Agent 声明产物;自动交付仅支持明确审核的版本与命令序列,不以“目录里存在一个 PPT”作为完成依据。 - **速度与质量**:平台减少重复规划和确定流程中的往返;实际耗时及内容质量仍取决于模型、Skill、输入和重试,不承诺固定耗时或全面快于其他框架。 - **信任边界**:Worker 与环境准备服务属于可信控制面;gVisor 不能代替宿主机维护、权限治理与 HTTPS。 更多细节见 [执行环境与隔离](docs/execution-and-isolation.md);漏洞报告方式见 [SECURITY.md](SECURITY.md)。 ## 开发与文档 本地开发使用 **Python 3.12 + Node.js 24**;后端为 FastAPI,前端为 React / TypeScript。 **部署与接入** [部署指南](deploy/README.md) · [开发指南](docs/development.md) · [Skill 包说明](docs/skill-packages.md) · [任务 API](docs/workflow-api.md) 部署过程中,我们也推荐你把我们的项目交由AI来部署。 **架构与进阶** [执行环境与隔离](docs/execution-and-isolation.md) · [产品与技术架构](docs/PRODUCT_ARCHITECTURE.md) · [Agent 内核](docs/agent-kernel.md) · [文档索引](docs/README.md) [既定流程开关](docs/skill-flow-policy.md) · [通用最终操作交付](docs/final-operation-delivery.md) · [工作流兼容适配](docs/workflow-auto-delivery.md) · [上下文观测](docs/context-observability.md) 本文描述当前 `main`。生产部署请选择经过验证的提交或 [Release](https://github.com/Max-cu/SkillGo/releases),并参考对应版本文档;历史设计记录不代表当前功能开关或部署状态。
v1.0.0:让 Skill 顺畅执行到交付(点击展开) - **沿用既定流程**:管理员可按 Skill 版本开启,单 Skill 任务不再强制重列执行计划;完整 Skill、前置条件和自带校验仍交给模型遵循。 - **减少执行往返**:支持批量读取、批量命令和工作流连续执行,可恢复错误返回模型处理;正常完成后安全收集真实产物。 - **默认直接接收**:默认使用文件接收模式,复用 Skill 自带校验;需要额外平台验证时仍可主动开启。 - **通用自动交付**:默认对全部账号、Skill 和文件格式可用;模型在最后操作前声明产物,操作及自带校验成功、文件确为本组新建或更新且收集一致后,可省去独立结束轮次。 - **网页与 API 一致**:新任务继承所绑定版本的联网和既定流程设置,不要求外部调用方重复配置。 [查看 v1.0.0 发布说明](RELEASE_NOTES.md) · [完整变更记录](CHANGELOG.md)
## Project Highlights - **Oct 22, 2026** — SkillGo v1.0.0 officially released after several rounds of testing and refinement. - **Oct 29, 2026** — Selected for the [XERJ Corpus Hub](https://hub.xerj.org/contributors/Max-cu). - **Nov 2, 2026** — Reached **50 GitHub stars**! Thanks to everyone who supports SkillGo. **More to come.** 🚀 ## 参与项目 欢迎提交问题、改进建议与 Pull Request。如果你也认可 SkillGo ,欢迎点一个 Star⭐,这对我们很重要 ^_^ 开发约定见 [CONTRIBUTING.md](CONTRIBUTING.md),安全问题请按 [SECURITY.md](SECURITY.md) 私下报告。SkillGo 使用 [MIT License](LICENSE)。