把好用的 Skill,变成每个人的能力。
沙箱隔离 · 成果交付 · 外部调用
A self-hosted platform for running agent skills in isolated sandboxes and delivering artifacts through the web or API.
产品演示 · 核心能力 · 使用流程 · 快速开始 · API 接入 · 开发与文档
SkillGo 是一个可私有化部署的多用户 Skill 执行平台,专注于接收一次任务,按选定 Skill 完成工作,交付真实成果。上传现有的 SKILL.md 技能包,准备环境并审核发布,再通过自然语言和附件发起任务。Agent 在独立沙箱中执行,处理可恢复错误,平台按配置的验收策略接收并保存生成文件;同一项 Skill 能力也可以发布为 API,接入已有业务系统。
第一次了解 SkillGo?不妨先观看这段 1 分 41 秒的产品演示。
以 PPT 制作为例,直观了解 SkillGo 如何将 Skill 转化为可执行、可交付、可供业务调用的能力。视频配有中文配音与中英双语字幕。
SkillGo-1080p60-.-.mp4
下载演示视频 · 1080p · 60 fps
说明: 视频展示 SkillGo 的产品流程。具体文档、表格、演示稿及图像处理能力取决于所上传的 Skill 和配置的模型。
Skill 管理 — 技能导入、版本管理、审核发布、社区共享
Agent 执行 — Skill 流程直达、多 Skill 协调、Python / 命令执行、进度追踪与成果交付
模型与环境 — 多模型连接、视觉与 OCR、环境准备及依赖解析
- 准备 Skill:导入 ZIP,按需准备运行环境并完成审核发布。
- 发起任务:选择一个或多个 Skill,输入目标并添加附件。
- 跟踪执行:查看进度与工具日志;任务无人值守运行,信息不足时采用合理假设,无法继续时明确报告原因。
- 获取成果:下载已保存的文件,查看所用验收策略;失败或取消时可查看原因并重试。
同一任务由一个 Agent 协调所选 Skill,共享该任务工作区;不同任务使用独立工作卷。详细格式和示例参见 Skill 包说明 与 examples/。
| 设置 | 默认行为 | 适用方式 |
|---|---|---|
| 沿用 Skill 既定流程 | 关闭 | 在 Skill 版本管理中开启;仅单 Skill 任务免除强制规划,模型仍可在必要时规划 |
| 运行联网 | 关闭 | 按版本授权;与既定流程开关相互独立 |
| 文件接收模式 | 默认开启 | 保留 Skill 自带校验,平台安全接收并保存真实文件;额外的平台完整验证可主动选择 |
| 最终操作自动交付 | 默认可用,无需单独开启 | 框架引导模型提前声明最后一组操作及产物;满足条件后直接交付,适用于所有账号、Skill 和文件格式 |
| 详细上下文观测 | 关闭 | SKILLGO_CONTEXT_OBSERVABILITY=true,排查时记录统计,不增加摘要模型调用 |
这些是独立设置。既定流程开关不会自动开启联网、跳过 Skill 校验或开启自动交付;联网与既定流程设置在创建任务时复制,修改版本按钮不改变已有任务。文件接收成功只表示真实文件已安全保存,不等于业务内容或版式已通过审核。
通用自动交付需要模型在最后一组工具调用中声明确切文件路径,并包含所有剩余的 Skill 校验和清理。若文件名需运行后才能得知、还需要模型看版,或文件没有在本组中生成/更新,仍使用普通结束路径。无需修改 Skill 包,详见 通用最终操作交付。
新部署无需配置上述两项。需要额外平台验证时可显式设置 SKILLGO_ARTIFACT_DELIVERY_ONLY=false;已有实例的显式配置继续有效,升级不会自动覆盖。
准备 Git、Docker Engine / Docker Desktop 和 Docker Compose v2,克隆项目并创建环境文件:
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,然后启动:
docker compose up -d --build打开 **http://127.0.0.1:8080**,使用 Bootstrap 管理员账号登录,并在平台设置中配置模型。Windows PowerShell 请用 Copy-Item .env.example .env 代替 cp。
基础模式仅启动 Web、API 和数据库,适合体验界面、Skill 管理与普通对话。要执行脚本、处理附件或生成文件,请继续启用沙箱模式。
需要 Docker Engine + 已注册到 Docker 的 gVisor runsc。先按 部署指南 完成安装与 Docker Socket GID 配置,再执行:
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.shWorker 数量可按宿主资源调整:--scale worker=N。deploy/ecs.env.example 默认监听 80 端口,并覆盖根目录 .env 的同名配置;环境准备默认关闭,启用方法见 执行环境与隔离。
同一项已发布的 Skill 能力,也可以通过独立 Endpoint 接入业务系统。 Endpoint 必须绑定已审核、可运行的 Skill 版本;密钥仅在创建或轮换时完整展示。
- 同步指令调用:
POST /api/v1/invoke/{slug}— 适用于纯指令处理,返回结构化结果与run_id。 - 异步沙箱任务:
POST /api/v1/workflow-endpoints/{slug}/jobs— 适用于文件与工具任务,返回202 Accepted、任务 ID 和查询地址。
异步接口接收可选输入文件和文本指令,至少提供一项;纯文本调用省略 file,不会生成占位附件。
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 文档 · Python 客户端示例 · 开发环境交互文档:http://127.0.0.1:8000/api/docs
SkillGo 由 Web / FastAPI 控制面、PostgreSQL 与文件存储、可信 Worker、独立 gVisor 任务沙箱构成。控制面负责授权、任务管理与交付,Worker 协调模型和沙箱中的执行过程。
关键边界:
- 执行隔离:每次任务尝试使用独立容器与工作卷;沙箱以非 root 身份运行,使用只读根文件系统和可配置资源预算,不注入平台密钥或挂载 Docker Socket。
- 网络授权:运行联网默认关闭。多 Skill 任务中,只要一个所选版本获得联网授权,整个任务沙箱就可联网;当前不限制目标域名。
- 任务编排:一个 Agent 在任务沙箱内协调所选 Skill;多 Skill 协调不等于通用并行 DAG 或多 Agent 调度。
- 完成判定:普通任务由 Agent 声明产物;自动交付仅支持明确审核的版本与命令序列,不以“目录里存在一个 PPT”作为完成依据。
- 速度与质量:平台减少重复规划和确定流程中的往返;实际耗时及内容质量仍取决于模型、Skill、输入和重试,不承诺固定耗时或全面快于其他框架。
- 信任边界:Worker 与环境准备服务属于可信控制面;gVisor 不能代替宿主机维护、权限治理与 HTTPS。
更多细节见 执行环境与隔离;漏洞报告方式见 SECURITY.md。
本地开发使用 Python 3.12 + Node.js 24;后端为 FastAPI,前端为 React / TypeScript。
部署与接入
部署指南 · 开发指南 · Skill 包说明 · 任务 API 部署过程中,我们也推荐你把我们的项目交由AI来部署。
架构与进阶
执行环境与隔离 · 产品与技术架构 · Agent 内核 · 文档索引
既定流程开关 · 通用最终操作交付 · 工作流兼容适配 · 上下文观测
本文描述当前 main。生产部署请选择经过验证的提交或 Release,并参考对应版本文档;历史设计记录不代表当前功能开关或部署状态。
v1.0.0:让 Skill 顺畅执行到交付(点击展开)
- 沿用既定流程:管理员可按 Skill 版本开启,单 Skill 任务不再强制重列执行计划;完整 Skill、前置条件和自带校验仍交给模型遵循。
- 减少执行往返:支持批量读取、批量命令和工作流连续执行,可恢复错误返回模型处理;正常完成后安全收集真实产物。
- 默认直接接收:默认使用文件接收模式,复用 Skill 自带校验;需要额外平台验证时仍可主动开启。
- 通用自动交付:默认对全部账号、Skill 和文件格式可用;模型在最后操作前声明产物,操作及自带校验成功、文件确为本组新建或更新且收集一致后,可省去独立结束轮次。
- 网页与 API 一致:新任务继承所绑定版本的联网和既定流程设置,不要求外部调用方重复配置。
- 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.
- Nov 2, 2026 — Reached 50 GitHub stars! Thanks to everyone who supports SkillGo.
More to come. 🚀
欢迎提交问题、改进建议与 Pull Request。如果你也认可 SkillGo ,欢迎点一个 Star⭐,这对我们很重要 ^_^
开发约定见 CONTRIBUTING.md,安全问题请按 SECURITY.md 私下报告。SkillGo 使用 MIT License。