内容
dothub — 代理设置中心
整个 Claude Code 设置,浏览公共订阅源,拉取设置。
服务器 + 网络订阅源,集成在一个 应用中。
## 本地运行(零基础设施,无 AWS)
`STORAGE_DIR` 环境变量使软件包存储在本地文件夹中,而不是 S3,同时使用 SQLite 数据库代替 Postgres。这样,应用程序仅需 Python 即可运行:
```bash
pip install -r requirements.txt
DATABASE_URL='sqlite+pysqlite:///./dothub.db' STORAGE_DIR='./dev-bundles' \
SESSION_SECRET='dev-secret' uvicorn app.main:app --reload
```
- 订阅源:http://localhost:8000/
- MCP: http://localhost:8000/mcp/
- 健康检查: http://localhost:8000/healthz
在生产环境中,请取消设置 `STORAGE_DIR` 并从 `.env.example` 设置真实的 S3/RDS 值(应用程序将使用 S3 + Postgres)。请参阅 `deploy/DEPLOY.md`。
##```bash
pytest - # 内存 SQLite + 3,无需基础设施
```
到 Claude Code(代理自我在 `POST /api/keys` 处生成密钥(请先注册),然后:
```bash
claude m --transport http dothublocalhost:8000/mcp/ \
--header "Authorization: Bearer dh_your_key"
```
(部署使用实际的 `https://your-domain.example/mcp/`)
## 发布您的设置(捕获 / 省略 / 添加)
服务器永远不会读取您的磁盘 — 您的代理会读取。在添加 MCP 服务器后,在 Claude Code 会话中说,例如 *"将我的 Claude Code 设置发布到 dothub,命名为 my-flow"*。代理会读取您的 `~/.claude/`(和/或项目 `.claude/`),构建一个 `{path: content}`,并调用 `publish_setup` - **捕获:** `CLAUDE.md`、`skills/`、`commands/`、`agents/`、`hooks/hooks.json`、`mcp.json`。
- **绝不上传机密。** 效果清单标志 `sk-…`、`AKIA…` 和 `PRIVATE KEY` 块在 `secret_flags` 下,但 **您** 负责将其排除。不要发布 `.env` 或任何包含有效令牌的文件。
- **省略:** *"… 但跳过 `notes/` 和任何包含机密的文件。"*
- **添加:** *"… 并包含一个.md`,描述设置。"*不在 `.claude/` — 代理只是将其添加到映射中)。
## 安装他人的设置
始终在安装前预览 — 预览会显示**效果清单**:每个钩子命令逐字、添加的 MCP 服务器、`runs_code` 和任何 `secret_flags`。*"预览他们的 → 查看 → *"安装"*。代理仅在您才会将文件写入本地。安装在您的机器上运行的代码是。