sleuth-io/sx
GitHub: sleuth-io/sx
sx 是一个 AI 编码助手的包管理器,解决团队间 AI 资产共享和管理的难题。
Stars: 198 | Forks: 10
### `sx` 是您团队用于 AI 资产(技能、MCP 配置、命令等)的私有 npm。
### 捕获您最优秀的 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)

## 为什么选择 sx?
您最优秀的开发者已经摸索出了如何让 AI 助手变得极其高效——自定义技能、MCP 配置、斜杠命令、经过验证的模式。但这些知识只停留在他们自己的机器上。
**现有的变通方法无法扩展:**
- **复制到每个仓库** —— 噩梦般的重复,没有集中更新,版本漂移
- **全局配置** —— 为不需要这些技能的项目/任务膨胀上下文
- **客户端插件** —— 需要手动安装每一个,锁定在单个 AI 客户端上,无法打包
**sx 通过以下方式解决此问题:**
- **分享专业知识** —— 将个人的发现转化为团队资产
- **即时上手** —— 新开发者从第一天起就能继承团队的 AI 操作手册
- **集中更新** —— 在您的仓库中更改一次,所有人都会获得更新
- **作用域安装** —— 为每个组织、团队、机器人、仓库或个人提供正确的资产,不膨胀上下文
- **兼容任何 AI 客户端** —— Claude Code、Cursor、GitHub Copilot、Gemini、Kiro、OpenCode 等,以及通过云中继支持 claude.ai 和 chatgpt.com
## 快速入门
**通过 Homebrew 安装 (macOS/Linux):**
```
brew tap sleuth-io/tap
brew install sx
```
**或通过 shell 脚本安装:**
```
curl -fsSL https://raw.githubusercontent.com/sleuth-io/sx/main/install.sh | bash
```
然后
```
# 初始化
sx init
# 从您的 vault 添加资产
sx add /path/to/my-skill
# 安装资产到您的当前项目
sx install
```
**有多个仓库?** 使用配置文件在它们之间切换:
```
sx profile add work # Add a new profile
sx profile use work # Switch to it
sx profile list # See all profiles
```
**安装目标** —— 选择谁可以看到哪些资产:
```
sx install my-skill --org # everyone in the vault
sx install my-skill --repo github.com/acme/infra # only inside that repo
sx install my-skill --path github.com/acme/infra#docs/ # one path in a repo
sx install my-skill --team platform # every member of a team
sx install my-skill --user alice@acme.com # a single user (must be the caller)
sx install my-skill --bot python-backend # a bot identity (CI runner, agent)
```
| 作用域 | 谁会得到它 |
|-------|-------------|
| `--org` | 所有人 —— 如果没有设置标志,这是默认值 |
| `--repo` / `--path` | 在指定仓库或子路径内工作的调用者 |
| `--team` | 团队成员;需要管理员批准 |
| `--user` | 单个人类用户,必须与调用者的 git 身份匹配 |
| `--bot` | 一个机器人身份,在设置了 `SX_BOT=
` 时解析 |
完整概述请参见 [docs/scoping.md](docs/scoping.md),以及每个安装目标的作用域文档链接。
**预览** —— 查看 `sx install` 会为您解析什么,相当于 `pip freeze`,无需下载或写入任何内容:
```
sx install --dry-run
```
**从 claude.ai 或 chatgpt.com 使用您的仓库** —— 通过 skills.new 中继将其公开为一个 MCP 端点:
```
sx cloud connect # opens skills.new, paste back the attach line
sx cloud serve # keep this running — Ctrl+C exits
sx cloud status # prints the MCP URL to paste into claude.ai / chatgpt.com
```
中继通过您机器打开的 WebSocket 转发请求——仓库内容保持在本地。详见 [docs/cloud-relay.md](docs/cloud-relay.md)。
**使用分析和审计**:
```
sx stats # adoption dashboard
sx stats --since 7d --json # machine-readable
sx audit # recent team/install mutations
sx audit --actor alice@acme.com --since 30d --event install.set
```
### 已经在使用 Claude Code?
如果您已经在 `.claude` 目录中构建了技能、插件或 MCP 配置,`sx` 可以帮助您进行版本控制、跨机器同步以及与队友共享。
```
# 添加您现有的技能/命令(sx 自动检测类型)
sx add ~/.claude/commands/my-command
sx add ~/.claude/skills/my-skill
sx add code-review@claude-plugins-official
```
您的提示文件将保持原样 - `sx` 只是用元数据包装它们以便进行版本控制。
## 您可以构建和分享什么?
- **技能** —— 用于特定任务的自定义提示和行为
- **规则** —— 适用于特定文件类型或路径的编码标准和指南
- **代理** —— 具有特定目标的自主 AI 代理
- **命令** —— 用于快速操作的斜杠命令
- **钩子** —— 生命周期事件的自动化触发器
- **MCP 服务器**(实验性)—— 用于外部集成的 Model Context Protocol (MCP) 服务器
- **插件** —— 包含命令、技能等的 Claude Code 插件包
## skills.sh 支持
sx 集成了 [skills.sh](https://skills.sh),这是一个拥有 85,000+ 个代理技能的社区目录。
```
sx add anthropics/skills/frontend-design # Add a specific skill
sx add vercel-labs/agent-skills # Browse skills in a repo
sx add --browse # Search and browse the full directory
```
## 分发模型
为您的团队选择合适的分发模型:
### 本地(个人)
非常适合在多个个人项目中轻松共享个人工具
```
sx init --type path --path my/vault/path
```
### Git 仓库(小型团队)
通过共享 git 仓库共享资产
```
sx init --type git --repo git@github.com:yourteam/skills.git
```
### Skills.new(大型团队和企业)
集中化管理,带有用于发现、创建、共享和使用分析的用户界面
```
sx init --type sleuth
```
## 工作原理
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 身份解析团队和用户作用域,并将结果写入用户的缓存目录(`~//sx/lockfiles/`)。当解析的锁文件发生变化时,之前的文件会被加上时间戳进行轮换,以使旧安装保持可重现性。
3. **审计 + 使用情况流** —— 每次团队/安装变更都会在 `.sx/audit/YYYY-MM.jsonl` 中追加一个审计条目;使用事件追加到 `.sx/usage/YYYY-MM.jsonl`。使用 `sx audit` / `sx stats` 查询它们。
高级概览:**创建**带有元数据的资产,**共享**到您的仓库,**安装**[全局、按仓库、按路径、按团队、按机器人或按用户](docs/scoping.md),**自动安装**在新的 Claude Code 会话中,**保持同步** —— 每个人都会自动获得相同的工具。
## 支持的客户端
| 客户端 | 状态 | 备注 |
|-------------------------|--------------|----------------------------------------------------------|
| 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 (网页版) | ✅ 支持 | 通过 [skills.new 云中继](docs/cloud-relay.md) |
| chatgpt.com (网页版) | ✅ 支持 | 通过 [skills.new 云中继](docs/cloud-relay.md) |
## 路线图
- ✅ 本地、Git 和 Skills.new 仓库
- ✅ Claude Code 支持
- ✅ Cline 支持
- ✅ Cursor 支持
- ✅ GitHub Copilot 支持
- ✅ Gemini 支持
- ✅ Codex 支持
- ✅ Kiro 支持
- ✅ Openclaw 支持
- ✅ OpenCode 支持
- ✅ 通过 skills.new 云中继支持 claude.ai 和 chatgpt.com
- ✅ 所有仓库类型的组织、团队、机器人、仓库和个人安装目标
- ✅ 技能发现 - 使用 Skills.new 从您的代码和架构中发现相关技能
- ✅ 分析 - 跟踪技能使用情况和影响
- **RBAC 和变更请求流程** - 支持门控的技能更新流程
## 许可证
详见 LICENSE 文件。
## 开发
点击展开开发说明
### 文档
- [仓库规范](docs/vault-spec.md) - 仓库目录结构
- [清单规范](docs/manifest-spec.md) - sx.toml 真实来源格式(资产、作用域、团队)
- [锁文件规范](docs/lock-spec.md) - 每个用户解析的锁文件
- [作用域](docs/scoping.md) - 安装目标和每个作用域文档的链接(组织、仓库、团队、用户、机器人)
- [审计日志](docs/audit.md) - 事件目录、`sx audit` 过滤器、存储格式
- [使用分析](docs/stats.md) - `sx stats` 仪表板、JSON 输出、事件格式
- [元数据规范](docs/metadata-spec.md) - 资产元数据格式
- [MCP 规范](docs/mcp-spec.md) - MCP 服务器和查询工具
- [配置文件](docs/profiles.md) - 多个配置文件
- [客户端](docs/clients.md) - 客户端支持模型和 IDE 与 CLI 的限制
- [云中继](docs/cloud-relay.md) - 通过 skills.new 将您的仓库暴露给 claude.ai 和 chatgpt.com
### 前置条件
需要 Go 1.25 或更高版本。使用 [gvm](https://github.com/moovweb/gvm) 安装:
```
# 安装 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
```
### 从源码构建
```
make init # First time setup (install tools, download deps)
make build # Build binary
make install # Install to GOPATH/bin
```
### 测试
```
make test # Run tests with race detection
make format # Format code with gofmt
make lint # Run golangci-lint
make prepush # Run before pushing (format, lint, test, build)
```
### 发布
添加标签并推送以通过 GoReleaser 触发自动发布:
```
git tag v0.1.0
git push origin v0.1.0
```
标签:AI编码助手, AI资产, EVTX分析, MCP配置, SOC Prime, 包管理器, 占用监测, 命令管理, 团队协作, 多客户端支持, 安全可观测性, 开发工具, 技能管理, 效率提升, 日志审计, 版本控制, 知识共享, 私有npm, 统一API, 网络空间测绘, 自动化传播, 资产管理, 配置分发