内容
<div align="center">
<img src="docs/sx_logo.png" alt="sx" width="360">
### 技能分享变得简单
#### 将技能库放入您的 Dropbox 中。您的整个团队的技能 — 版本控制,在每个 AI 工具中。
[](https://github.com/sleuth-io/sx/stargazers)
[](https://star-history.com/#sleuth-io/sx&Date)
[](https://github.com/sleuth-io/sx/releases)
[](https://github.com/sleuth-io/sx/pulls)
⭐ [给这个仓库点赞](https://github.com/sleuth-io/sx) · 🌐 [网站](https://skills.new) · 📋 [更新日志](https://github.com/sleuth-io/sx/releases) · 📄 [许可证](LICENSE)
</div>

## 30 秒版本
1. **[下载应用](https://github.com/sleuth-io/sx/releases)** (`sx-app-*` for macOS, Windows, Linux) 并打开它 — 它会询问一个问题并设置您的库。
2. **指向一个团队已经同步的文件夹** — Dropbox、Google Drive、iCloud、OneDrive。 该文件夹 *就是* 团队保险库。 无需服务器,无需 git,无需帐户。
3. **拖入一个技能**。 它已发布。 指向同一文件夹的队友会在他们使用的每个 AI 工具中获得它。
命令行人员?同样的事情,三行(npm 样式的清单 + 底层锁定):
```bash
brew install sleuth-io/tap/sx
sx init --type path --path ~/Dropbox/sx-vault
sx add ~/.claude/skills/my-skill
```
## 为什么使用 sx?
AI 资产 — 技能、MCP、代理、规则、命令、钩子 — 通常生活在单个 Git 仓库中。 当您想将它们放入另一个仓库时,您会复制粘贴,但它们会与没有源代码的真实版本分离。 `sx` 为实际团队管理复杂的 AI 资产共享和分发:
- **零基础设施** — 一个团队已经同步的文件夹是一个完整的保险库;无需服务器,无需帐户
- **无需 Git 知识** — 非技术团队成员也可以共享技能;管道保持隐藏
- **每个 AI 工具,包括 Web 工具** — 一个资产安装到所有主要的 AI 助手
- **跨项目和团队共享** — 一次管理一个资产,在任何仓库或团队中安装
- **正确的资产,而不是全部** — 范围限定为组织、仓库、路径、团队、机器人或用户;不会导致上下文膨胀
- **随着增长而增长** — 版本控制、使用统计(`sx stats`)和审计跟踪(`sx audit`)
## 应用或命令行 — 由您选择
两个入口,同一个库。 应用和命令行共享一个配置,因此在一个中添加的库会在另一个中显示 — 混合团队永远不会漂移。
- **应用** — 适用于所有人。 在内置编辑器中创建和编辑技能(或拖入文件),发布到您的团队,在 AI 工具中安装只需单击一下。 无需终端。[下载 macOS、Windows 或 Linux 版本](https://github.com/sleuth-io/sx/releases)(`sx-app-*` 工件)。
- **命令行** — 适用于工程师和自动化。 同样的操作,可脚本化:将其固定在 CI 中,连接到钩子,从您自己的工具驱动。 在下面安装。
## 快速开始
**通过 Homebrew(macOS/Linux)安装:**
```bash
brew tap sleuth-io/tap
brew install sx
```
**或通过 shell 脚本:**
```bash
curl -fsSL https://raw.githubusercontent.com/sleuth-io/sx/main/install.sh | bash
```
然后在您的保险库或项目中初始化:
```bash
sx init
```
从这里:**添加**技能,**共享**给合适的人,**查看**已使用情况。

### 管理 — 捕获、版本控制和观察
将资产添加到您的保险库(`sx` 自动检测类型):
```bash
sx add /path/to/my-skill
sx add ~/.claude/skills/my-skill # 现有的 Claude Code 技能
sx add code-review@claude-plugins-official # 来自注册表的插件
```
您的 AI 资产保持原样 — `sx` 只需用版本控制元数据包装它们并将它们存储在保险库格式中。
**多个保险库?** 使用配置文件切换它们:
```bash
sx profile add work # 添加新配置文件
sx profile use work # 切换到它
sx profile list # 查看所有配置文件
```
**查看实际使用情况** — 跟踪团队的采用率和令牌使用情况:
```bash
sx stats # 采用率仪表盘
sx stats --since 7d --json # 可机器读取
```
### 分发 — 安装到正确的范围,在任何客户端
```bash
# 安装作用于您当前项目的所有内容
sx install
```
**安装目标** — 选择哪些资产可见:
```bash
sx install my-skill --org # 保险库中的所有人
sx install my-skill --repo github.com/acme/infra # 仅限该仓库内
sx install my-skill --path github.com/acme/infra#docs/ # 仓库中的一个路径
sx install my-skill --team platform # 每个团队成员
sx install my-skill --user alice@acme.com # 单个用户
sx install my-skill --bot python-backend # 机器人身份(CI 运行器,代理)
```
参阅 [docs/scoping.md](docs/scoping.md) 了解完整的概述和每个安装目标的链接。
**从 claude.ai 或 chatgpt.com 使用您的保险库** — 通过 skills.new 中继将其公开为 MCP 端点:
```bash
sx cloud connect # 打开 skills.new,粘贴回附加行
sx cloud serve # 保持运行 — Ctrl+C 退出
sx cloud status # 打印 MCP URL 以粘贴到 claude.ai / chatgpt.com
```
中继通过 WebSocket 转发请求 — 保险库内容保持本地。参阅 [docs/cloud-relay.md](docs/cloud-relay.md)。
### 管理 — 审计和迁移
**审计** — 记录每个团队和安装变更:
```bash
sx audit # 最近的团队/安装变更
sx audit --actor alice@acme.com --since 30d --event install.set
```
**迁移整个保险库** (资产 + 版本,团队,机器人,范围,审计,使用情况):
```bash
sx vault copy --from skills-new --to git-vault # 预览(只读)
sx vault copy --from skills-new --to git-vault --yes
```
参阅 [docs/copy.md](docs/copy.md) 了解方向性和损失情况。带有更改请求流(RBAC)的门控更改流在[路线图](#路线图)中。
## 您可以使用 sx 构建和共享什么?
- **技能** - 用于特定任务的自定义提示和行为
- **规则** - 适用于特定文件类型或路径的编码标准和指南
- **代理** - 具有特定目标的自主 AI 代理
- **命令** - 用于快速操作的斜杠命令
- **钩子** - 生命周期事件的自动化触发器
- **MCP 服务器**(实验性)- 用于外部集成的模型上下文协议(MCP)服务器
- **插件** - 带有命令、技能等的 Claude Code 插件包
## 便携式代理,而不仅仅是文件
一个 AI 代理的好坏取决于它知道什么和被允许执行什么。 `sx` 让您可以 **一次** 描述这些 — 定义一个 Bot 并附加代理的提示以及它依赖的技能、规则、命令、钩子和 MCP 服务器 — 并在任何客户端(无论是否编码)安装它。
- **一个定义,每个工具** — 相同的代理在每个 [支持的客户端](#支持的客户端) 上运行,不论是否编码; `sx` 在安装时为每个工具编写其本机格式
- **打包整个功能** — 技能、规则、命令、钩子和 MCP 配置随版本化的资产一起旅行,而不是散落在仓库和机器上的松散文件
- **与任何供应商解耦** — AI 工具正在商品化;但在其上运行的代理不应锁定。 用您拥有的可移植格式描述它们,并在工具更迭时在它们之间携带
## 分发模型
为您的团队选择合适的分发模型:
### 共享文件夹(小型团队,无基础设施)
将保险库放在团队已经同步的文件夹中 — Dropbox、Google Drive、OneDrive 或 iCloud。无需 git、无需 GitHub 账户、无需服务器。参阅 [docs/synced-folders.md](docs/synced-folders.md)。
```bash
sx init --type path --path ~/Dropbox/sx-vault
```
### 本地(个人)
非常适合在多个个人项目之间轻松共享个人工具
```bash
sx init --type path --path my/vault/path
```
### Git 保险库(小型团队)
通过共享的 git 保险库共享资产
```bash
sx init --type git --repo-url git@github.com:yourteam/skills.git
```
### Skills.new(大型团队和企业)
具有发现、创建、共享和使用情况分析的 UI
```bash
sx init --type sleuth
```
### 插件市场(无需 sx)
每个 git 或路径保险库也是一个 **Claude Code / Codex 插件市场** — sx 在每次发布时生成并维护 `.claude-plugin/marketplace.json` 和 `.codex-plugin/plugin.json`。团队成员无需运行 sx 即可从 AI 工具直接安装库的技能:
```
# Claude Code
/plugin marketplace add yourteam/skills
/plugin install skills@skills
# Codex
codex plugin marketplace add git@github.com:yourteam/skills.git
```
每个集合在保险库中也暴露为其自己的 Claude Code 插件,因此人们可以仅安装他们需要的部分。私有仓库通过正常的 git 凭证工作。插件安装仅交付技能(规则和每个团队的范围仍然需要 `sx install`)— 参阅 [docs/plugins-spec.md](docs/plugins-spec.md)。
## 它是如何工作的
sx 遵循 npm、cargo 和 uv 使用的清单和锁定模式:
1. **清单(`sx.toml`)** — 保险库的源代码。列出每个受管理的资产、其安装范围(`org`、`repo`、`path`、`team`、`bot`、`user`)和团队定义(成员、管理员、仓库)。提交到 git / 路径保险库。参阅 [docs/manifest-spec.md](docs/manifest-spec.md)。
2. **锁定文件** — 每用户解析的工件。 `sx install` 读取清单,将团队和用户范围与调用者的 git 身份验证令牌相对照,并写入用户缓存目录(`~/<cache>/sx/lockfiles/`)。当解析的锁定更改时,旧文件会带有时间戳旋转,因此旧安装保持可复制。
3. **审计和使用流** — 每个团队/安装变更都追加一个审计条目到 `.sx/audit/YYYY-MM.jsonl`;使用事件追加到 `.sx/usage/YYYY-MM.jsonl`。使用 `sx audit` / `sx stats` 查询它们。
高级别:**管理** 一个保险库中的资产,**分发** 到 [全局、每个仓库、每个路径、每个团队、每个机器人或每个用户](docs/scoping.md) — 自动安装到新的 Claude Code 会话中,以便每个人保持同步 — 并通过审计和使用流**管理** 每个更改。
## 将 sx 用作 Go 库
`sx` 执行的每个操作也是一个包。发布技能和代理、管理机器人和团队、浏览或下载资产,针对 Skills.new、Git 或本地路径保险库,通过一个 `Client`:
```go
import "github.com/sleuth-io/sx/pkg/sxvault"
ctx := context.Background()
client, err := sxvault.OpenSkillsNew("https://app.skills.new", token)
if err != nil {
log.Fatal(err)
}
if err := client.PutSkillZip(ctx, sxvault.SkillZipSpec{
Name: "lint-helper", Version: "1.0.0", ZipData: zip,
}); err != nil {
log.Fatal(err)
}
```
参阅 [docs/library.md](docs/library.md) 了解完整的 API 指南。
## 支持的客户端
| 客户端 | 状态 | 注释 |
|-------------------------|----------------|-----------------------------------------------------------|
| Claude Code | ✅ 支持 | 所有资产类型的完整支持 |
| Cline | ✅ 支持 | 技能、规则、工作流作为命令、MCP 服务器、钩子 |
| Codex | ✅ 支持 | 技能、命令、代理、MCP 服务器 |
| Cursor | ✅ 支持 | 技能、规则、命令、MCP 服务器、钩子 |
| GitHub Copilot | ✅ 支持 | 技能、规则、命令、代理、MCP 服务器、本地钩子 |
| Gemini (CLI/VS Code) | ✅ 支持 | 技能、规则、命令、MCP 服务器、钩子 |
| Gemini (JetBrains) | ✅ 支持 | 仅限规则、MCP 服务器(无命令/钩子) |
| Gemini (Android Studio) | ✅ 支持 | 仅限规则、MCP-remote(HTTP,无 stdio) |
| Kiro | ✅ 支持 | 技能、规则、命令、MCP 服务器 |
| Openclaw | ✅ 支持 | 技能、规则、命令 |
| OpenCode | ✅ 支持 | 技能、命令、代理、规则、MCP 服务器 |
| claude.ai (web) | ✅ 支持 | 通过 skills.new 云中继 |
| chatgpt.com (web) | ✅ 支持 | 通过 skills.new 云中继 |
## 路线图
- ✅ 本地、Git 和 Skills.new 保险库
- ✅ Claude Code 支持
- ✅ Cline 支持
- ✅ Cursor 支持
- ✅ GitHub Copilot 支持
- ✅ Gemini 支持
- ✅ Codex 支持
- ✅ Kiro 支持
- ✅ Openclaw 支持
- ✅ OpenCode 支持
- ✅ claude.ai 和 chatgpt.com 支持通过 skills.new 云中继
- ✅ 所有 vault 类型组织、团队、机器人、仓库和个人安装目标
- ✅ 技能发现 - 使用 Skills.new 从代码和架构中发现相关技能
- ✅ 分析 - 跟踪技能使用和影响
- **RBAC 和更改请求流程** - 支持带有门控更新流程的 RBAC
## 许可证
查看 LICENSE 文件了解详情。
---
## 开发
<details>
<summary>点击展开开发说明</summary>
### 文档
- [Vault Spec](docs/vault-spec.md) - Vault 目录结构
- [Manifest Spec](docs/manifest-spec.md) - sx.toml 源代码格式(资产、范围、团队)
- [Lock Spec](docs/lock-spec.md) - 每用户解析锁定文件
- [Scoping](docs/scoping.md) - 安装目标和链接到每个范围的文档(组织、仓库、团队、用户、机器人)
- [Vault copy](docs/copy.md) - `sx vault copy` 跨 vault 迁移(资产、团队、机器人、范围、审计、使用情况)
- [Audit log](docs/audit.md) - 事件目录、`sx audit` 过滤器、存储格式
- [Usage analytics](docs/stats.md) - `sx stats` 仪表盘、JSON 输出、事件格式
- [Metadata Spec](docs/metadata-spec.md) - 资产元数据格式
- [MCP Spec](docs/mcp-spec.md) - MCP 服务器和查询工具
- [Profiles](docs/profiles.md) - 多个配置文件
- [Clients](docs/clients.md) - 客户端支持模型和 IDE 与 CLI 限制
- [Cloud relay](docs/cloud-relay.md) - 将您的 vault 暴露给 claude.ai 和 chatgpt.com 通过 skills.new
- [Library](docs/library.md) - 使用 `pkg/sxvault` 公共 API 将 sx 用作 Go 库
### 先决条件
Go 1.25 或更高版本是必需的。使用 [gvm](https://github.com/moovweb/gvm) 安装:
```bash
# 安装 gvm
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
# 安装 Go(如果需要使用 go1.4 作为引导)
gvm install go1.4 -B
gvm use go1.4
export GOROOT_BOOTSTRAP=$GOROOT
gvm install go1.25
gvm use go1.25 --default
```
### 从源代码构建
```bash
make init # 首次设置(安装工具、下载依赖项)
make build # 构建二进制文件
make install # 安装到 GOPATH/bin
```
### 测试
```bash
make test # 运行带有 race detection 的测试
make format # 使用 gofmt 格式化代码
make lint # 运行 golangci-lint
make prepush # 运行前(格式化、lint、测试、构建)
```
### 版本发布
标记并推送以触发通过 GoReleaser 自动发布:
```bash
git tag v0.1.0
git push origin v0.1.0
```
</details>
连接信息
猜你喜欢
暂无推荐服务器