Merge f15d920e50 into 4583f88626
This commit is contained in:
commit
c32c6e787d
10
Dockerfile
10
Dockerfile
@ -8,10 +8,10 @@ RUN corepack enable
|
|||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
ARG CLAWDBOT_DOCKER_APT_PACKAGES=""
|
ARG MOLTBOT_DOCKER_APT_PACKAGES=""
|
||||||
RUN if [ -n "$CLAWDBOT_DOCKER_APT_PACKAGES" ]; then \
|
RUN if [ -n "$MOLTBOT_DOCKER_APT_PACKAGES" ]; then \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends $CLAWDBOT_DOCKER_APT_PACKAGES && \
|
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends $MOLTBOT_DOCKER_APT_PACKAGES && \
|
||||||
apt-get clean && \
|
apt-get clean && \
|
||||||
rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*; \
|
rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*; \
|
||||||
fi
|
fi
|
||||||
@ -24,9 +24,9 @@ COPY scripts ./scripts
|
|||||||
RUN pnpm install --frozen-lockfile
|
RUN pnpm install --frozen-lockfile
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN CLAWDBOT_A2UI_SKIP_MISSING=1 pnpm build
|
RUN MOLTBOT_A2UI_SKIP_MISSING=1 pnpm build
|
||||||
# Force pnpm for UI build (Bun may fail on ARM/Synology architectures)
|
# Force pnpm for UI build (Bun may fail on ARM/Synology architectures)
|
||||||
ENV CLAWDBOT_PREFER_PNPM=1
|
ENV MOLTBOT_PREFER_PNPM=1
|
||||||
RUN pnpm ui:install
|
RUN pnpm ui:install
|
||||||
RUN pnpm ui:build
|
RUN pnpm ui:build
|
||||||
|
|
||||||
|
|||||||
16
README.md
16
README.md
@ -21,7 +21,7 @@ It answers you on the channels you already use (WhatsApp, Telegram, Slack, Disco
|
|||||||
|
|
||||||
If you want a personal, single-user assistant that feels local, fast, and always-on, this is it.
|
If you want a personal, single-user assistant that feels local, fast, and always-on, this is it.
|
||||||
|
|
||||||
[Website](https://molt.bot) · [Docs](https://docs.molt.bot) · [Getting Started](https://docs.molt.bot/start/getting-started) · [Updating](https://docs.molt.bot/install/updating) · [Showcase](https://docs.molt.bot/start/showcase) · [FAQ](https://docs.molt.bot/start/faq) · [Wizard](https://docs.molt.bot/start/wizard) · [Nix](https://github.com/moltbot/nix-clawdbot) · [Docker](https://docs.molt.bot/install/docker) · [Discord](https://discord.gg/clawd)
|
[Website](https://molt.bot) · [Docs](https://docs.molt.bot) · [Getting Started](https://docs.molt.bot/start/getting-started) · [Updating](https://docs.molt.bot/install/updating) · [Showcase](https://docs.molt.bot/start/showcase) · [FAQ](https://docs.molt.bot/start/faq) · [Wizard](https://docs.molt.bot/start/wizard) · [Nix](https://github.com/moltbot/nix-moltbot) · [Docker](https://docs.molt.bot/install/docker) · [Discord](https://discord.gg/clawd)
|
||||||
|
|
||||||
Preferred setup: run the onboarding wizard (`moltbot onboard`). It walks through gateway, workspace, channels, and skills. The CLI wizard is the recommended path and works on **macOS, Linux, and Windows (via WSL2; strongly recommended)**.
|
Preferred setup: run the onboarding wizard (`moltbot onboard`). It walks through gateway, workspace, channels, and skills. The CLI wizard is the recommended path and works on **macOS, Linux, and Windows (via WSL2; strongly recommended)**.
|
||||||
Works with npm, pnpm, or bun.
|
Works with npm, pnpm, or bun.
|
||||||
@ -245,11 +245,11 @@ Details: [Nodes](https://docs.molt.bot/nodes) · [macOS app](https://docs.molt.b
|
|||||||
|
|
||||||
Details: [Session tools](https://docs.molt.bot/concepts/session-tool)
|
Details: [Session tools](https://docs.molt.bot/concepts/session-tool)
|
||||||
|
|
||||||
## Skills registry (ClawdHub)
|
## Skills registry (MoltHub)
|
||||||
|
|
||||||
ClawdHub is a minimal skill registry. With ClawdHub enabled, the agent can search for skills automatically and pull in new ones as needed.
|
MoltHub is a minimal skill registry. With MoltHub enabled, the agent can search for skills automatically and pull in new ones as needed.
|
||||||
|
|
||||||
[ClawdHub](https://ClawdHub.com)
|
[MoltHub](https://ClawdHub.com)
|
||||||
|
|
||||||
## Chat commands
|
## Chat commands
|
||||||
|
|
||||||
@ -295,13 +295,13 @@ Runbook: [iOS connect](https://docs.molt.bot/platforms/ios).
|
|||||||
|
|
||||||
## Agent workspace + skills
|
## Agent workspace + skills
|
||||||
|
|
||||||
- Workspace root: `~/clawd` (configurable via `agents.defaults.workspace`).
|
- Workspace root: `~/moltbot` (configurable via `agents.defaults.workspace`).
|
||||||
- Injected prompt files: `AGENTS.md`, `SOUL.md`, `TOOLS.md`.
|
- Injected prompt files: `AGENTS.md`, `SOUL.md`, `TOOLS.md`.
|
||||||
- Skills: `~/clawd/skills/<skill>/SKILL.md`.
|
- Skills: `~/moltbot/skills/<skill>/SKILL.md`.
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
Minimal `~/.clawdbot/moltbot.json` (model + defaults):
|
Minimal `~/.moltbot/moltbot.json` (model + defaults):
|
||||||
|
|
||||||
```json5
|
```json5
|
||||||
{
|
{
|
||||||
@ -323,7 +323,7 @@ Details: [Security guide](https://docs.molt.bot/gateway/security) · [Docker + s
|
|||||||
|
|
||||||
### [WhatsApp](https://docs.molt.bot/channels/whatsapp)
|
### [WhatsApp](https://docs.molt.bot/channels/whatsapp)
|
||||||
|
|
||||||
- Link the device: `pnpm moltbot channels login` (stores creds in `~/.clawdbot/credentials`).
|
- Link the device: `pnpm moltbot channels login` (stores creds in `~/.moltbot/credentials`).
|
||||||
- Allowlist who can talk to the assistant via `channels.whatsapp.allowFrom`.
|
- Allowlist who can talk to the assistant via `channels.whatsapp.allowFrom`.
|
||||||
- If `channels.whatsapp.groups` is set, it becomes a group allowlist; include `"*"` to allow all.
|
- If `channels.whatsapp.groups` is set, it becomes a group allowlist; include `"*"` to allow all.
|
||||||
|
|
||||||
|
|||||||
@ -1,19 +1,20 @@
|
|||||||
services:
|
services:
|
||||||
moltbot-gateway:
|
moltbot-gateway:
|
||||||
image: ${CLAWDBOT_IMAGE:-moltbot:local}
|
build: .
|
||||||
|
image: ${MOLTBOT_IMAGE:-moltbot:local}
|
||||||
environment:
|
environment:
|
||||||
HOME: /home/node
|
HOME: /home/node
|
||||||
TERM: xterm-256color
|
TERM: xterm-256color
|
||||||
CLAWDBOT_GATEWAY_TOKEN: ${CLAWDBOT_GATEWAY_TOKEN}
|
MOLTBOT_GATEWAY_TOKEN: ${MOLTBOT_GATEWAY_TOKEN}
|
||||||
CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY}
|
CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY}
|
||||||
CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY}
|
CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY}
|
||||||
CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE}
|
CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE}
|
||||||
volumes:
|
volumes:
|
||||||
- ${CLAWDBOT_CONFIG_DIR}:/home/node/.clawdbot
|
- ${MOLTBOT_CONFIG_DIR}:/home/node/.moltbot
|
||||||
- ${CLAWDBOT_WORKSPACE_DIR}:/home/node/clawd
|
- ${MOLTBOT_WORKSPACE_DIR}:/home/node/moltbot
|
||||||
ports:
|
ports:
|
||||||
- "${CLAWDBOT_GATEWAY_PORT:-18789}:18789"
|
- "${MOLTBOT_GATEWAY_PORT:-18789}:18789"
|
||||||
- "${CLAWDBOT_BRIDGE_PORT:-18790}:18790"
|
- "${MOLTBOT_BRIDGE_PORT:-18790}:18790"
|
||||||
init: true
|
init: true
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command:
|
command:
|
||||||
@ -22,13 +23,14 @@ services:
|
|||||||
"dist/index.js",
|
"dist/index.js",
|
||||||
"gateway",
|
"gateway",
|
||||||
"--bind",
|
"--bind",
|
||||||
"${CLAWDBOT_GATEWAY_BIND:-lan}",
|
"${MOLTBOT_GATEWAY_BIND:-lan}",
|
||||||
"--port",
|
"--port",
|
||||||
"${CLAWDBOT_GATEWAY_PORT:-18789}"
|
"${MOLTBOT_GATEWAY_PORT:-18789}"
|
||||||
]
|
]
|
||||||
|
|
||||||
moltbot-cli:
|
moltbot-cli:
|
||||||
image: ${CLAWDBOT_IMAGE:-moltbot:local}
|
build: .
|
||||||
|
image: ${MOLTBOT_IMAGE:-moltbot:local}
|
||||||
environment:
|
environment:
|
||||||
HOME: /home/node
|
HOME: /home/node
|
||||||
TERM: xterm-256color
|
TERM: xterm-256color
|
||||||
@ -37,8 +39,8 @@ services:
|
|||||||
CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY}
|
CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY}
|
||||||
CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE}
|
CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE}
|
||||||
volumes:
|
volumes:
|
||||||
- ${CLAWDBOT_CONFIG_DIR}:/home/node/.clawdbot
|
- ${MOLTBOT_CONFIG_DIR}:/home/node/.moltbot
|
||||||
- ${CLAWDBOT_WORKSPACE_DIR}:/home/node/clawd
|
- ${MOLTBOT_WORKSPACE_DIR}:/home/node/moltbot
|
||||||
stdin_open: true
|
stdin_open: true
|
||||||
tty: true
|
tty: true
|
||||||
init: true
|
init: true
|
||||||
|
|||||||
@ -17,8 +17,8 @@ primary_region = "iad" # change to your closest region
|
|||||||
|
|
||||||
[env]
|
[env]
|
||||||
NODE_ENV = "production"
|
NODE_ENV = "production"
|
||||||
CLAWDBOT_PREFER_PNPM = "1"
|
MOLTBOT_PREFER_PNPM = "1"
|
||||||
CLAWDBOT_STATE_DIR = "/data"
|
MOLTBOT_STATE_DIR = "/data"
|
||||||
NODE_OPTIONS = "--max-old-space-size=1536"
|
NODE_OPTIONS = "--max-old-space-size=1536"
|
||||||
|
|
||||||
[processes]
|
[processes]
|
||||||
|
|||||||
4
fly.toml
4
fly.toml
@ -10,8 +10,8 @@ primary_region = "iad" # change to your closest region
|
|||||||
[env]
|
[env]
|
||||||
NODE_ENV = "production"
|
NODE_ENV = "production"
|
||||||
# Fly uses x86, but keep this for consistency
|
# Fly uses x86, but keep this for consistency
|
||||||
CLAWDBOT_PREFER_PNPM = "1"
|
MOLTBOT_PREFER_PNPM = "1"
|
||||||
CLAWDBOT_STATE_DIR = "/data"
|
MOLTBOT_STATE_DIR = "/data"
|
||||||
NODE_OPTIONS = "--max-old-space-size=1536"
|
NODE_OPTIONS = "--max-old-space-size=1536"
|
||||||
|
|
||||||
[processes]
|
[processes]
|
||||||
|
|||||||
@ -9,11 +9,11 @@ services:
|
|||||||
value: "8080"
|
value: "8080"
|
||||||
- key: SETUP_PASSWORD
|
- key: SETUP_PASSWORD
|
||||||
sync: false
|
sync: false
|
||||||
- key: CLAWDBOT_STATE_DIR
|
- key: MOLTBOT_STATE_DIR
|
||||||
value: /data/.clawdbot
|
value: /data/.moltbot
|
||||||
- key: CLAWDBOT_WORKSPACE_DIR
|
- key: MOLTBOT_WORKSPACE_DIR
|
||||||
value: /data/workspace
|
value: /data/workspace
|
||||||
- key: CLAWDBOT_GATEWAY_TOKEN
|
- key: MOLTBOT_GATEWAY_TOKEN
|
||||||
generateValue: true
|
generateValue: true
|
||||||
disk:
|
disk:
|
||||||
name: moltbot-data
|
name: moltbot-data
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user