Spaces:
Sleeping
Sleeping
File size: 4,577 Bytes
0ddba4e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | ---
title: ClawDBot Gateway on Hugging Face (Docker)
emoji: "🦞"
colorFrom: red
colorTo: yellow
sdk: docker
pinned: false
---
# ClawDBot 在 Hugging Face 上的 Docker 部署
这个目录包含一个最小化的 Docker 配置,用来在 Hugging Face Spaces 上运行 ClawDBot Gateway。
你可以:
- 本地用 Docker 启动并访问 ClawDBot 网页控制台
- 将本目录推送到 Hugging Face `spaces` 仓库(如 `acpr123/clawdbot`)并在线运行
> 注意:请**不要**把任何私密 Token(例如 Hugging Face Token、OpenAI / Anthropic API Key 等)提交到 Git 仓库,而是通过 Hugging Face 的 Secrets 或本地环境变量注入。
---
## 1. 本地构建与运行
在 `0126project` 目录下:
```bash
cd /home/luck/xzy/0126project
docker build -t clawdbot-hf .
docker run \
-p 7860:7860 \
-e CLAWBOT_GATEWAY_TOKEN="your-gateway-token" \
--name clawdbot-hf \
clawdbot-hf
```
然后在浏览器打开:
```text
http://localhost:7860
```
首次启动时,容器会:
- 使用 `npm install -g clawdbot@latest` 安装最新版 ClawDBot
- 在容器内部启动 Gateway(Web UI + WebSocket)
- 监听 `PORT`(默认 7860,对应 Hugging Face Spaces 的默认端口)
如需持久化配置和会话,可以绑定本地目录到容器的 `/data`:
```bash
docker run \
-p 7860:7860 \
-e CLAWBOT_GATEWAY_TOKEN="your-gateway-token" \
-v "$PWD/data:/data" \
--name clawdbot-hf \
clawdbot-hf
```
---
## 2. 推送到 Hugging Face Spaces(以 `acpr123` 为例)
1. 在 Hugging Face 网页上创建一个新的 **Space**:
- Owner:`acpr123`
- Space 名称:例如 `clawdbot`
- SDK:选择 **Docker**
2. 在本机初始化 Git 仓库(在 `0126project` 下):
```bash
cd /home/luck/xzy/0126project
git init
git add .
git commit -m "Initial ClawDBot Docker space"
```
3. 将 Hugging Face Space 作为远程仓库添加(URL 示例):
```bash
git remote add origin https://huggingface.co/spaces/acpr123/clawdbot
```
4. 使用你的 Hugging Face 账户凭证(用户名 + Token)推送代码:
```bash
git push -u origin main # 或 master,视你本地默认分支而定
```
推送时会提示输入用户名和密码:
- 用户名:`acpr123`
- 密码:你的 Hugging Face Access Token(形如 `hf_...`)
> 不要在本仓库的任何文件中明文写入 Token;仅在 Git 推送认证或 HF 控制台的 Secrets 中使用。
5. 推送完成后,Hugging Face 会自动根据 `Dockerfile` 构建镜像并启动 Space。构建完成后,访问 Space 页面即可打开 ClawDBot 控制台。
---
## 3. 在 Hugging Face 配置环境变量 / Secrets
在 Space 的 **Settings → Variables and secrets** 中添加:
- `CLAWDBOT_GATEWAY_TOKEN`(Secret)
- 用作 Gateway 控制台登录 Token
- 建议设置为随机长字符串
- 模型相关 API Key(按需):
- `ANTHROPIC_API_KEY`
- `OPENAI_API_KEY`
- `GOOGLE_API_KEY`(Gemini)
- 其他你计划使用的模型提供商 Key
在容器内,ClawDBot 会自动读取这些环境变量,无需修改代码。
> 提示:Hugging Face 上设置为 **Secrets** 的变量不会出现在构建日志中,也不会存入仓库。
---
## 4. `.env` 示例(本地开发可选)
如果你想在本地用 `docker run --env-file .env` 的方式启动,可以在本目录下创建 `.env` 文件,例如:
```env
PORT=7860
# ClawDBot Gateway 安全 Token(用于控制台登录)
CLAWDBOT_GATEWAY_TOKEN=your-gateway-token
# 可选:模型提供商配置
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-openai-...
GOOGLE_API_KEY=AIza...
```
> 再次强调:**不要**提交实际的密钥到任何公共仓库。
---
## 5. 目录说明
当前仓库仅包含运行 ClawDBot Gateway 所需的最小 Docker 配置:
- `Dockerfile`:构建使用最新 npm 版本 ClawDBot 的镜像
- `README.md`:本说明文档
ClawDBot 自身的代码和 UI 由 `npm install -g clawdbot@latest` 在镜像构建时自动获取,无需手动拷贝源码。
---
## 6. 后续可扩展方向
- 在 `/data/workspace` 中挂载自定义 `AGENTS.md` / `SOUL.md` / `USER.md` / `MEMORY.md` 等,打造专属 Lobster Personality
- 通过 ClawDBot 控制台配置 WhatsApp / Telegram / Slack / Discord 等消息渠道
- 配置本地模型或其他托管模型,实现多模型路由
如果你需要,我也可以在本目录中再补一份:
- **一页式部署速查表(中文版)**
- 或按 **Windows / macOS / Linux** 分平台的推送与调试说明
|