skillpack
将 AI 技能打包成分布式本地代理,支持 Slack/Telegram/飞书多渠道接入
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
将 AI 技能打包成分布式本地代理,支持 Slack/Telegram/飞书多渠道接入
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你的团队每天都在 Slack 上协作,团队成员散落在不同城市,你们希望有一个 AI 助手能像本地员工一样运行,数据不出内网,响应来自 Slack/Telegram,还能随时在浏览器中调试和对话。这不是科幻,正是 SkillPack 要解决的核心问题。

图1:SkillPack 团队 logo(来源:GitHub 官方仓库)
SkillPack 由 CreminiAI 团队开发,名字取自 cremini mushrooms(口蘑)——一种通过地下菌丝网络互联共生的真菌。这个命名本身就揭示了团队的核心愿景:构建分布式智能网络,让 AI 能力像菌丝网络一样渗透到团队的每一个角落,而不是集中在某个云端服务上。
传统的 AI Agent 开发面临几个现实痛点:提示词满天飞、脚本各自为政、敏感数据必须上云、团队成员难以直接使用。而 SkillPack 的解决思路是:把 AI 技能打包成可分发的本地代理应用——如果把 AI 技能(skills)比作 LEGO 积木,那么 SkillPack 就是把积木组装成成品的那套说明书和组装工具。
项目采用 MIT 许可证,目前 694 颗 GitHub Stars,技术栈为 TypeScript/Node.js,支持 Node.js 22.19.0 及以上版本。
SkillPack 的核心能力可以拆解为三个层次:
SkillPack 支持从多个来源汇聚 AI 技能(skills):
vercel-labs/agent-skills --skill frontend-design打包完成后,SkillPack 生成一个 zip 文件(或者直接运行),内含所有技能、提示词模板和运行时。运行时会启动一个本地 Web 服务器(默认端口 26313),用户通过浏览器直接与 AI 代理对话。
SkillPack 不只是一个本地 Web 应用,它还内置了三大即时通讯渠道适配器:
@slack/bolt 库,实现 Socket Mode 接入,AI 代理可以直接响应 Slack 频道消息node-telegram-bot-api,轮询模式运行,监听 Telegram Bot 消息@larksuiteoapi/node-sdk,支持飞书渠道的消息收发每个渠道的消息都会通过 markdown.ts 适配层统一转换为平台原生格式,确保跨渠道体验一致。
SkillPack 的 AI 执行引擎基于 @earendil-works/pi-coding-agent。这个底层代理提供了:
send-file-tool 支持将生成的文件发送给用户manage-schedule-tool 允许通过自然语言创建和管理 cron 任务delegated-custom-tool 机制,Pack 可以声明自定义工具并委托给 pi 代理执行SessionManager + AuthStorage 管理多用户会话和认证状态SkillPack 的架构围绕「适配器模式」展开,核心是 PackAgent(代理层)与各类 Adapter(渠道层)的解耦。
架构设计文档(docs/architecture.md)清晰描述了关键组件:
PackAgent(平台无关代理层)
├── runtime/agent.ts — 核心代理逻辑
├── runtime/server.ts — Express + WS 服务器
├── runtime/lifecycle.ts — 优雅关闭/重启
└── adapters/
├── web.ts — Web HTTP + WebSocket
├── telegram.ts — Telegram 轮询
├── slack.ts — Slack Socket Mode
├── feishu.ts — 飞书
└── markdown.ts — Markdown → 平台文本
这种设计的优势在于:新增一个渠道(如 Discord、Teams)只需实现对应的 Adapter,无需改动核心代理逻辑。
npx @cremini/skillpack create
# 交互式:填写名称 → 添加技能 → 编写提示词 → 可选立即打包
npx @cremini/skillpack zip
# 生成 <pack-name>.zip,可直接分发
打包产物包含:skillpack.json(配置)、skills-lock.json(技能锁定版本)、system-prompt.md(系统提示词)、AGENTS.md(代理行为规则)、SOUL.md(人格设定)。这种自描述机制使得 Pack 完全独立、可离线运行。
src/runtime/config.ts + ConfigFileAuthBackend 负责运行时配置管理,支持 OpenAI、Claude 等主流 LLM Provider 的 API Key 配置。ModelRegistry 支持多模型注册和动态切换。
SkillPack 本身是纯 Node.js CLI 工具,不需要 Docker 环境,但需要 Node.js >= 22.19.0(相对较新的版本要求)。对于习惯 Docker 一键部署的用户,这一点是主要门槛。
提供两种启动路径:
npx 方式(适合开发者):
npx @cremini/skillpack run
# 自动构建 TypeScript → 启动服务器 → 打开浏览器
打包分发方式(适合最终用户):
下载 zip → 解压 → 执行 start.sh(Mac/Linux)或 start.bat(Windows),无需安装 Node.js
内置的 Web UI 是一个极简风格的聊天界面,采用类似 ChatGPT 的对话式设计。侧边栏包含会话管理和 API Key 配置区,正文区域是消息流。样式文件(web/styles.css)定义了绿色主题(--accent: #3d9040)和圆润的卡片式消息气泡。
由于所有计算都在本地运行,数据不会离开用户的机器——这对于需要处理敏感业务数据的企业来说是一个关键优势。API Key 虽然需要用户自己提供,但可以严格控制访问权限。
SkillPack 的定位介于「个人工具」和「企业平台」之间。一方面,它强调本地运行、数据隐私;另一方面,它的 Slack/Telegram 集成模式又需要公网可达的 Webhook。对于真正需要强隐私保障的企业,这种架构存在一定的网络依赖性。
SkillPack 代表了一个重要趋势:从「单一 AI 助手」到「团队 AI 能力网络」的转变。过去一年,随着 Claude API、OpenAI API 的成本下降和可访问性提升,越来越多的团队开始尝试将 AI 能力嵌入日常协作工具。SkillPack 踩在了这个趋势的风口上。
从 GitHub 趋势来看,带有 agentic-ai、agent-skills、agentic-workflow 等 topic 的项目在过去半年增长显著,SkillPack 的 694 Stars 在同类项目中处于中上游水平,其技术实现的完整度(CLI + Web + 多渠道适配)明显优于多数同类项目。
如果你是 AI 爱好者,SkillPack 提供了一个零成本、低门槛的方式,在自己电脑上体验完整的 AI Agent 工作流。如果你是开发者,SkillPack 的适配器架构和打包机制提供了可复用的设计参考,其源码(特别是 src/runtime/adapters/ 和 src/runtime/agent.ts)是学习多渠道 AI 代理设计的优秀范本。
分析基于 GitHub 仓库 CreminiAI/skillpack(v1.3.8)源码、README 和架构文档。