Molta 是一个轻量的 HTTP 网关:将类 OpenAI 的 v1/chat/completions 请求转发到本地 OpenClaw(ClawdBot) 网关(WebSocket),并返回兼容响应,方便你在现有客户端中直接使用 MoltBot(ClawdBot)。
- OpenAI 风格接口:
/v1/chat/completions、/v1/models - 内置鉴权:使用
TOKEN进行 Bearer 校验 - 支持流式响应(SSE)
- 会话复用与快速创建新会话指令
需要 Node.js 20+(本地开发或 npm 安装时)
npm i -g molta
moltadocker run --rm -p 8090:8090 \
-e TOKEN="<Your token>" \
-e CLAWD_TOKEN="<Your Clawd Token>" \
-e CLAWD_HOST="<Clawd host>" \
-e CLAWD_PORT=<Clawd port> \
ghcr.io/ve-ria/molta:latestyarn install
yarn dev启动后默认监听 http://127.0.0.1:8090。
项目会读取当前目录的 .env 并校验(见 schema.json)。
必填:
TOKEN:HTTP 接口鉴权 TokenCLAWD_TOKEN:OpenClaw 网关鉴权 Token
可选:
HOST:监听地址,默认localhostPORT:监听端口,默认8090CLAWD_HOST:OpenClawd 网关地址,默认localhost- Molta 与 OpenClaw 都在 Docker:填 Clawd 容器名或容器 IP
- Molta 在 Docker、OpenClaw 在本机:填
host.docker.internal - Molta 与 OpenClaw 都在本机:填
localhost
CLAWD_PORT:OpenClaw 网关端口,默认18789
示例:
TOKEN="<Your token>"
HOST="127.0.0.1"
PORT=8090
CLAWD_HOST="127.0.0.1"
CLAWD_PORT=18789
CLAWD_TOKEN="<Your Clawd Token>"GET /v1/models
示例返回(created 为当前时间):
{
"object": "list",
"data": [
{
"id": "molta",
"object": "model",
"created": "2025-01-01T00:00:00.000Z",
"owned_by": "molta"
}
]
}POST /v1/chat/completions
请求体(兼容 OpenAI):
{
"model": "molta",
"messages": [
{ "role": "user", "content": "你好" }
],
"stream": false
}鉴权:
Authorization: Bearer <TOKEN>
流式响应:当 stream=true 时返回 SSE。
- 会话 ID 基于
user或id字段生成;未提供则使用http。 - 发送
/clawd-new或clawd-new可强制创建新会话。
yarn build
yarn start需要 Node.js 20+(推荐 22+)
yarn build:sea产物位于 dist/molta-sea(Windows 可自行加 .exe),中间产物在 dist-sea/。
src/router/chat/completions.ts:主接口逻辑src/services/gateway.ts:Clawd 网关 WebSocket 客户端schema.json:环境变量校验规则