SkillGo,支持多用户与独立沙箱执行的 Skill 平台

发布时间:2026/10/30 20:22:55

SkillGo,支持多用户与独立沙箱执行的 Skill 平台 一、为什么要做 SkillGo聚焦于解决创造一个私有化部署的社区Skill 获得以后在社区中怎样管理、怎样运行、怎样隔离以及怎样将skill配置成可以接入业务系统的api。这是 SkillGo 出现的原因。GitHubGitHub - Max-cu/SkillGo: A self-hosted multi-user Agent and Skill platform with isolated execution, auditable runs, and verifiable artifacts. · GitHub最新正式版本Release SkillGo v0.2.1 · Max-cu/SkillGo · GitHub二、SkillGo 是什么SkillGo 是一个面向企业私有化部署的多用户 Skill 管理与运行平台。它不是单纯的 Skill 商店也不是一个只负责安装 Skill 的命令行工具。SkillGo 希望建立一条完整链路上传 Skill ↓ 结构校验 ↓ 版本管理 ↓ 审核与发布 ↓ 用户选择并运行 ↓ 独立沙箱执行 ↓ 结果与产物交付 ↓ 发布为外部 API它主要解决四个问题Skill 的统一管理Skill 的真实运行不同用户和任务之间的环境隔离Skill 的 API 化与企业内部接入一句话概括SkillGo 让 Skill 不只是一个可以下载的文件包而是一个可以被治理、运行、复用和接入业务的能力单元。三、Skill 的统一管理当 Skill 数量逐渐增加以后仅仅把它们放在文件夹或代码仓库中是不够的。SkillGo 为此提供了完整的 Skill 生命周期管理Skill 上传包结构校验SKILL.md解析版本管理不可变发布版本私有与社区可见性管理员审核发布状态管理运行画像识别所有者与权限管理历史任务版本追踪SkillGo 兼容以顶层SKILL.md为入口的通用 Agent Skill同时支持可选的skillgo.yaml扩展配置。一个基础 Skill 可以是weather/ └── SKILL.md复杂 Skill 也可以包含脚本、依赖和参考资料document-review/ ├── SKILL.md ├── scripts/ │ └── review.py ├── references/ │ └── formatting-rules.md └── requirements.txt平台会分析 Skill 中声明或实际使用的脚本命令Python 依赖输入文件输出文件网络需求工具需求执行方式经过审核和发布的版本会被固定保存。任务运行时绑定到确切的 Skill 版本后续即使上传了新版本也不会改变历史任务的执行依据。四、Skill 不只是被管理还要能够真正运行SkillGo 和普通 Skill Hub 最大的区别是它不仅保存和展示 Skill还负责真正运行 Skill。有些 Skill 只包含文字指令可以直接交给模型执行。但更多实用 Skill 会涉及执行 Python调用 Shell 命令读取用户文件安装临时依赖调用工具执行多轮流程生成 Word、Excel、PDF 或其他文件对生成结果进行验证这些操作需要一个真实运行环境。因此SkillGo 在控制面之外实现了一套 Worker 和沙箱执行链路。当用户运行需要工具或脚本的 Skill 时平台会创建任务记录固定本次使用的 Skill 版本保存当前用户和输入文件归属由 Worker 领取任务创建本次任务专属的 Docker Volume将 Skill 和输入文件放入独立工作区创建独立任务容器在容器中执行 Agent、工具和脚本收集并验证输出文件保存任务结果销毁临时容器和 Volume。这意味着 Skill 在 SkillGo 中不是一段只供模型阅读的说明而是能够进入真实执行环境、调用工具并交付结果的完整工作单元。五、多用户之间怎样保证互不干扰企业内部部署 Skill 平台时不可能只考虑一个用户。多个用户会同时上传不同 Skill运行不同任务上传内部文件生成任务产物创建 API Endpoint查看自己的历史记录如果只使用一个公共工作目录就容易出现文件混用、任务覆盖和数据越权。SkillGo 使用两层隔离解决这个问题。第一层用户资源隔离SkillGo 中的以下资源都有明确的所有者Skill会话附件任务输入文件生成产物API Endpoint后端 API 查询资源时会同时校验当前用户和对象归属。这不是简单地在前端隐藏其他人的菜单而是在数据库查询和接口层限制访问。文件存储路径也会按照用户和任务划分workspaces/{user_id}/{conversation_id}/... job-inputs/{user_id}/{job_id}/... job-artifacts/{user_id}/{job_id}/...第二层任务级沙箱隔离SkillGo 不会给每个用户永久运行一台虚拟机而是采用更细粒度的任务隔离每次 Skill 任务的每次执行尝试都创建一套独立沙箱。例如用户 A ├── 任务 A1 → Volume A1 容器 A1 └── 任务 A2 → Volume A2 容器 A2 用户 B └── 任务 B1 → Volume B1 容器 B1不同任务之间不会共享可写文件系统/workspace/tmp临时依赖进程状态输入文件生成产物即使同一个用户并发运行两个 Skill这两个任务也拥有各自独立的执行环境。因此SkillGo 实际实现的是用户级资源隔离 任务级运行环境隔离。六、使用 Docker 和 gVisor 运行 SkillSkillGo 的完整部署模式面向 Linux 服务器并支持使用 gVisor 的runsc作为 Docker Runtime。gVisor 是 Google 开源的容器沙箱技术。在 SkillGo 中执行关系如下SkillGo Worker ↓ Docker SDK ↓ Docker Container ↓ runtimerunsc gVisor ↓ Skill 任务进程每个 Skill 任务容器还会应用以下限制使用非 root 用户根文件系统只读独立可写工作区独立/tmp移除 Linux Capabilities启用no-new-privileges限制 CPU限制内存限制进程数量默认关闭任务网络不挂载 Docker Socket不提供数据库连接不提供平台 JWT Secret不向任务容器暴露模型 API KeyWorker 只会把本次任务选择的 Skill 和输入文件放入独立 Volume不会把平台完整存储目录挂载到任务容器。这使得不同用户运行 Skill 时不会共享工作目录和进程环境。七、将配置好的 Skill 发布为 API企业内部完成一个 Skill 的配置、审核和验证以后往往不希望它只能在网页中运行。其他系统可能也需要调用同一项能力例如OA 系统文档管理系统数据平台企业内部工作流审批系统研发平台业务后台因此SkillGo 支持把已发布的 Skill 版本部署成 API Endpoint。平台根据 Skill 的执行方式提供两种接口。指令型 Skill同步 API适合不需要独立沙箱文件任务的 SkillPOST /api/v1/invoke/{slug}调用方提交 JSON 数据平台同步返回结构化结果和run_id。沙箱型 Skill异步任务 API适合需要上传文件、运行脚本和生成产物的 SkillPOST /api/v1/workflow-endpoints/{slug}/jobs调用示例curl -X POST https://your-skillgo.example/api/v1/workflow-endpoints/document-review/jobs \ -H X-SkillGo-Key: $SKILLGO_API_KEY \ -H Idempotency-Key: request-001 \ -F file./input.docx \ -F instruction请执行文档校对并生成结果文件接口返回任务 ID 后调用方可以继续查询任务状态取消任务获取执行结果下载生成产物每个 Endpoint 使用独立 API Key。密钥完整内容只会在创建或轮换时返回一次数据库仅保存密钥前缀和 SHA-256 摘要。外部 API 创建的任务不会绕过平台原有的用户归属和沙箱机制。它仍然会绑定 Endpoint 所有者固定 Skill 版本创建独立任务进入独立沙箱验证输出文件记录执行过程这使企业可以先在 SkillGo 网页中配置和验证 Skill再把同一项能力接入现有业务系统。八、为什么适合企业私有化部署SkillGo 从一开始就不是按照公共 SaaS 工具设计的而是面向企业内部部署场景。完整平台可以部署在企业自己的 Linux 服务器中包括Web 前端FastAPI 控制面PostgreSQLSandbox WorkerDockergVisor文件存储模型连接配置企业可以连接自己的 OpenAI-compatible 模型服务。用户上传的 Skill、附件、任务记录和生成产物都保存在自己的实例中。平台支持成员、管理员和唯一超级管理员管理员注册审核Skill 发布审核用户资源归属模型连接管理API Key 管理审计记录数据库迁移备份与恢复版本升级存储生命周期管理对话附件、任务输入和生成产物默认保留 15 天到期后自动删除避免长期运行后文件无限堆积。管理员可以在存储管理页面查看服务器磁盘容量和不同用户的文件占用情况。九、SkillGo 的运行架构SkillGo 当前的整体执行链路如下主要组件包括用户工作台 / 外部业务系统 ↓ React TypeScript ↓ FastAPI 控制面 ↓ PostgreSQL 任务与资源记录 ↓ Sandbox Worker 领取任务 ↓ 独立 Docker Volume ↓ gVisor runsc 任务容器 ↓ Agent 执行 Skill ↓ 产物验证与持久化 ↓ 网页下载 / API 返回控制面负责用户身份权限检查Skill 管理版本管理任务创建Endpoint 管理审计记录Worker 负责任务租约模型编排容器生命周期工具执行产物收集结果验证任务容器只负责运行当前 Skill不拥有平台控制权限。十、技术栈层级技术前端React、TypeScript、Vite、Nginx后端Python 3.12、FastAPI、Pydantic、SQLAlchemy数据库PostgreSQL开发环境支持 SQLite数据库迁移Alembic身份认证JWT、Argon2模型接入OpenAI-compatible API任务调度数据库行锁、任务租约、心跳与失效恢复沙箱运行Docker SDK、独立 Volume、gVisorrunsc前端动画GSAP部署Docker Compose自动化测试pytest、TypeScript、Vite、GitHub Actions十一、快速体验基础模式基础模式可以预览 SkillGo 界面、用户管理和普通对话不包含完整沙箱 Worker。git clone https://github.com/Max-cu/SkillGo.git cd SkillGo git checkout v0.2.1 cp .env.example .env启动前需要编辑.env至少替换PostgreSQL 密码JWT Secret初始超级管理员邮箱初始超级管理员密码然后执行docker compose up -d --build默认访问地址http://127.0.0.1:8080完整沙箱模式完整模式需要LinuxDocker EngineDocker Compose v2gVisorrunsc配置.env和deploy/ecs.env后执行docker compose \ --env-file .env \ --env-file deploy/ecs.env \ --profile build-only \ build sandbox-runtime docker compose \ --env-file .env \ --env-file deploy/ecs.env \ --profile sandbox \ up -d --build完整部署文档SkillGo/deploy/README.md at main · Max-cu/SkillGo · GitHub十二、SkillGo 适合哪些场景SkillGo 适合需要统一管理和运行 Skill 的团队或企业例如企业内部 Skill 中心私有化 Agent 能力平台文档处理与审核平台数据处理 Skill 平台研发自动化工具平台多用户 AI 工作台AI 能力 API 网关将已有 Skill 接入业务系统需要隔离运行第三方 Skill 的场景如果只是搜索或下载 Skill现有 Skill Hub 已经能够很好地解决问题。但如果你还需要管理 Skill审核 Skill固定 Skill 版本让多个用户运行 Skill保证不同任务环境独立交付真实生成的文件将 Skill 发布成 API在企业内部私有化部署那么这正是 SkillGo 想解决的问题。十三、写在最后SkillGo 的出发点并不是再做一个 Skill Hub。现有生态已经有很多优秀的 Skill 发现、分享和安装工具。SkillGo 希望补齐的是 Skill 被发现和安装之后的下一段链路怎样统一管理 Skill怎样让 Skill 真正运行怎样让不同用户和任务互不干扰以及怎样把验证过的 Skill 接入企业业务。这也是 SkillGo 最核心的定位一个支持多用户管理、任务级独立沙箱运行和 Skill API 化的私有化平台。项目已经正式开源并发布了正式版本 v0.2.1。GitHubGitHub - Max-cu/SkillGo: A self-hosted multi-user Agent and Skill platform with isolated execution, auditable runs, and verifiable artifacts. · GitHub正式 ReleaseRelease SkillGo v0.2.1 · Max-cu/SkillGo · GitHub如果你正在寻找一套能够管理并真正运行 Skill 的私有化功能平台欢迎体验 SkillGo。如果项目对你有帮助也欢迎点一个 ⭐ Star或者提交 Issue 分享你的使用反馈。
延伸阅读

更多相关文章

2026/10/28 0:14:38

惊爆!php代码里的md5加密,竟藏着这般秘密

1. MD5加密md5 ( $str, bool $ false参数str -- 原始字符串。若可选的被设定成TRUE, 那么MD5报文摘要会以16字节长度的原始二进制格式予以返回。这是一种不可逆加密,执行如下的代码$ ;echo md5($);得到结果是2. Crype加密crypt ( $str, $saltcrypt() 返回一个散…

2026/10/25 18:15:22

Java注解,99%的人只会用,却不知它才是代码的隐藏BOSS

它是 Java 极为关键且重要 的 组成部分, 自 J2SE 5.0 那个时代起便已然存在了。于我们所编写的代码当中, 我们在任何地方都能够看到数量众多的注解, 诸如 、 、 。这些注解我们或许相当熟悉, 然而注解所具备的作用、呈现的工作原理、展现的工作方式以及我们究竟该如何去自定义…

2026/10/27 15:33:09

初创公司如何选择合适的UI工具支撑快速迭代产品?

刚起步的公司所面临的关键难题是, 时间和资源呈现出极度紧张的状况, 其团队规模较小, 预算又有限, 然而要在最短的周期之内, 去验证产品想法、迭代用户反馈, 还要完成从MVP到市场的过程, 正是基于于此情境, 挑对恰当的UI工具不但对设计效率产生影响, 而且更加直接左右着产品上线…

2026/10/30 20:21:26

低功耗蓝牙时间同步实战:BlueSync锚点采样与漂移补偿

简介:BlueSync 是一套面向嵌入式与低功耗蓝牙开发者的时间同步协议开源实现,适合物联网、无线传感网及 BLE 实验课程中的学习与复现。资源围绕 BLE 之上的时间同步展开,包含集线器与传感器节点的完整代码及实验启动说明,涉及 Rasp…

2026/10/30 20:21:26

MIPI HS RX实战解析:从物理层到协议栈的全链路调试

1. 什么是MIPI HS RX?它到底在解决什么问题?MIPI HS RX,全称是Mobile Industry Processor Interface High-Speed Receiver,直译就是“移动行业处理器接口高速接收器”。但这个名称本身并不重要,真正关键的是——它不是…

2026/10/30 20:21:26

机械臂模糊自适应控制Simulink模型:原理、搭建与调试指南

简介:面向机械臂控制研究与仿真的MATLAB/Simulink资源包,聚焦模糊补偿与模糊自适应控制策略,针对模型不确定性、参数变化与外部干扰下的稳定控制问题提供完整实现方案。压缩包内共77个文件,以53个mat数据文件、9个库文件、3个m脚本…

2026/10/30 20:21:26

螺柱焊质量标准化与100%合格率实现路径

1. 螺柱焊质量困局的行业背景螺柱焊作为一种高效、可靠的连接工艺,在钢结构、汽车制造、船舶建造等领域广泛应用。这种焊接方式通过瞬间放电将螺柱与基材熔接,具有速度快、变形小、强度高的特点。然而在实际生产中,我们常常面临一个尴尬局面&…

2026/10/30 20:21:26

增量学习在AI Agent知识库动态更新中的应用与实践

1. 增量学习与AI Agent知识库更新机制解析在AI系统实际部署场景中,静态知识库的局限性日益凸显。去年我们团队为某金融机构部署的客服Agent就遭遇了典型困境:当央行突然调整房贷政策时,原有模型需要全量重新训练,导致业务中断36小…

2026/10/30 20:16:26

水下OFDM多径信道建模与误码率优化实战

简介:这份资源聚焦水下通信中的OFDM技术,面向通信工程、水声通信方向的学生与研究人员,用于理解并仿真多径水下信道下的OFDM收发链路。包内共18个文件,以11个m脚本为核心,配合3个gif与2个jpg演示图、2个fig界面文件&am…

2026/10/29 17:05:52

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/29 17:06:02

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/29 17:06:13

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/30 0:00:46

NCP1342高频准谐振反激控制器:从设计约束到验收的完整方案

简介:NCP1342 高频准谐振反激控制器应用介绍译文文档,面向电源设计工程师、硬件研发人员及开关电源学习者,帮助读者跨越英文原版资料的语言门槛,系统理解这款高集成度 QR Flyback 控制器的设计要点。文档围绕芯片核心特性展开&…

2026/10/30 0:00:46

NCP1342准谐振反激电源设计:从选型到验收的全流程解析

简介:这份文档面向电源设计工程师与开关电源学习者,系统梳理NCP1342高频准谐振反激控制器的应用要点,帮助读者快速理解这款高集成度离线电源变换器控制芯片的工作机制与设计方法。内容涵盖芯片核心特性、引脚功能定义、电气特性参数表、最大额…

2026/10/30 0:00:46

Web系统自动登出机制设计与实现全解析

1. 系统自动登出机制的设计初衷在各类Web应用和后台管理系统中,自动登出功能早已成为标配。这个看似简单的功能背后,实际上涉及用户安全、资源管理和体验优化的多重考量。作为从业十多年的老开发,我见过太多因为登出逻辑设计不当导致的安全事…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑