Skill HTTP 网关
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_2a52e6b3/skill-to-http。
技能介绍
它解决的问题
本地装好的 Agent 技能,默认只能在 Agent 会话里被调用:要么在交互界面里手写 prompt,要么在脚本里手动拼参数。一旦你想把某个技能(比如读 PDF 并总结、生成周报)挂到团队内部服务、被其他系统远程触发,就得自己再造一套 HTTP 服务:自己解析请求、自己调度执行、自己处理超时与回调。skill-to-http 把这件事固化下来:扫描已安装的 Skill 目录,按统一的 POST /skills/{name}/run 接口暴露出去,调用方只需要一个 API Key 和一个 JSON body。
它如何工作
服务启动时扫描 /skills、/app/skills 等目录(可用 --skill-dir 扩展),为每个 SKILL.md 生成参数 schema,注册成可调用的 endpoint。整体分三层:
- 传输层:默认跑 HTTP 方便快速联调;按需切换 HTTPS(self-signed 或导入证书),证书统一放在 /.http/certs/ 或 ~/.http/certs/ 下,与同系列 skill 共用目录约定。
- 执行层:自动探测环境并选择执行器,优先级为 openclaw > cc(Claude Code SDK)> claudecli > codex > llm。cc 启动开销约 0.5s,支持 asyncio 并发;claudecli 用 --bare 模式跳过插件,约 2.5-3s;最弱的 llm 模式纯文本生成,无法调用任何工具。
- 任务层:同步接口直接等结果;异步接口返回 jobid,可通过 GET /jobs/{jobid} 轮询(保留 1 小时),或注册 webhook_url 接收回调。回调带 HMAC-SHA256 签名头,默认拒绝回环地址以防 SSRF。
此外还有 GET /skills、GET /health、POST /admin/reload(热重载技能)等管理端点;可选的 SQLite 历史记录会持久化每次异步执行。
适用边界与注意点
这是一个把本机能力对外暴露的工具,不是零风险的便利封装。端口一旦可达,调用方就能触发技能执行——而技能可能拥有文件、shell、网络、凭证等能力。几条硬性建议:
- exposeskills 设为 * 会一次性开放全部技能,只适合完全隔离的环境;生产环境务必用白名单加 denyskills 黑名单。
- 默认 HTTP 模式下 API Key、请求内容、技能输出全部明文传输,跨主机必须启用 HTTPS。
- --api-key 传参会在进程列表里可见,改用 config.json 或 SKILLHTTPAPI_KEY 环境变量。
- 执行器默认立即执行不询问,对发邮件、删数据类技能,建议在 frontmatter 里设 requires_confirmation: true。
- 管理控制台监听 0.0.0.0:9000,仅供内网受信环境使用,不要反代到公网。
使用场景
- 把 Agent 中已装好的文档处理技能封装成内网 REST 接口,供业务系统远程触发执行
- 摘要类长任务改用异步接口提交,靠 webhook 回调拿结果,不必让客户端一直轮询
- 团队内多系统共用技能服务时,用白名单和黑名单控制暴露范围,并启用 HTTPS 与 API Key
- 在 CI/CD 流水线中通过 codex 执行器调用技能生成测试报告
适合人员
- 维护公司 Agent 平台的工程师,想把一批自建技能统一暴露成 HTTP 服务给各业务系统调用
- 开发内部系统集成的工程师,需要让业务系统通过 REST 接口远程调用现有 Agent 技能
- 负责内网服务安全的运维人员,需要给技能服务配置 TLS 证书、API Key 与暴露范围管控