内容
# 工件
**自主托管,类似Claude的工件发布。** 支持发布HTML、React组件、Markdown或压缩的静态网站,并返回您自己域名上的不可猜测的URL。
[](https://github.com/kuyazee/artifacts/actions/workflows/ci.yml)
[](LICENSE)
[](package.json)

AI助手会生成许多可分享的输出 — 仪表盘、原型、报告、小应用。Claude的托管工件非常好,但URL位于别人的基础设施上。这是约600行的自主托管版本。
## 功能
- **四种内容类型:** HTML、JSX/TSX(单个React组件,无构建步骤)、Markdown和压缩的静态网站。
- **代理原生,人性化:** 内置MCP服务器 — Claude Code、Codex或任何MCP客户端都可以通过一次工具调用发布。人类在 `/` 处获得一个拖放式Web UI(在您的API密钥后面锁定)和一个 [CLI](docs/cli.md)。
- **默认私有:** 不可猜测的斜杠,`noindex` 无处不在,带有 bearer-key 的写入,可选的过期时间。
- **生命周期控制:** 自定义斜杠,重命名,不删除而禁用,自动过期,删除。
- **故意简单:** 一个容器,无数据库,无账户 — 工件是 `/data` 下的普通文件。
## 60秒快速入门
```bash
git clone https://github.com/kuyazee/artifacts && cd artifacts
ARTIFACTS_API_KEY=$(openssl rand -hex 32) BASE_URL=https://artifacts.example.com docker compose up -d
```
```bash
curl -s -X POST https://artifacts.example.com/api/artifacts \
-H "Authorization: Bearer $ARTIFACTS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"content": "<h1>hello</h1>", "type": "html", "slug": "hello"}'
# {"slug":"hello","url":"https://artifacts.example.com/a/hello"}
```
```bash
claude mcp add --transport http artifacts https://artifacts.example.com/mcp \
--header "Authorization: Bearer ${ARTIFACTS_API_KEY}" --scope user
```
## 下一步
| 我想… | 阅读 |
|---|---|
| 部署它(Docker,compose,Coolify,裸节点,环境变量) | [docs/deploy.md](docs/deploy.md) |
| 使用REST API(包括zip站点) | [docs/api.md](docs/api.md) |
| 从终端发布 | [docs/cli.md](docs/cli.md) |
| 连接Claude Code / Codex / 任何代理 | [docs/mcp.md](docs/mcp.md) |
| 了解JSX/TSX渲染 + zip验证 | [docs/formats.md](docs/formats.md) |
## 三行安全说明
上传的HTML会执行 — 这是产品 — 所以请在从未设置cookie的专用子域上托管它。写入仅限 bearer-header;托管的JS无法对其进行CSRF攻击。读取是公开的,但由不可猜测的、非索引的斜杠控制 — 不要发布机密。完整模型参见 [SECURITY.md](SECURITY.md)。
## 贡献与许可
欢迎PR — 请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。整个测试套件是一个shell脚本。[MIT](LICENSE) 2026 Zonily Jame 版权所有。