diff --git a/README.md b/README.md index 33611ed..1a905dd 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,47 @@ -# Papur (Clawdbot) Home Assistant Add-on (Draft) +# Moltbot Assistant – Home Assistant Add-on (Draft) -This is a starter Home Assistant add-on wrapper to run **Clawdbot** as a Supervisor-managed container on **HAOS**. +This repository contains a Home Assistant add-on that runs a **Moltbot Assistant** instance on **HAOS**. -## What this gives you -- Always-on Clawdbot instance on your HAOS host -- Separate bot identity (you will provide a new Telegram bot token) -- Persistent storage in `/data` inside the add-on (maps to HAOS add-on data folder) +Upstream note: Moltbot is the new name for the Clawdbot project. The add-on may still install/use the `clawdbot` npm package/CLI for compatibility until the upstream transition fully settles. -## Notes / constraints -- This is a **headless** deployment; browser automation via Chrome-extension relay won’t be available. -- You can still do LAN automation (MikroTik/HA API, cron reminders, etc.). +## What you get +- Always-on personal assistant running as a Supervisor-managed container +- Home Assistant **Ingress UI** (the assistant Gateway UI inside the add-on page) +- Optional **web terminal** inside Home Assistant (disabled by default) +- Persistent data stored under the add-on config directory (in-container: `/config`) -## Install overview (high level) -1. Put this repo on GitHub (or local git). -2. In Home Assistant: **Settings → Add-ons → Add-on Store → ⋮ → Repositories** -3. Add the repo URL. -4. Install the add-on and configure the options. +## Security defaults +- Gateway binds to **loopback** by default (not exposed on LAN) +- Terminal is **off by default** +- Tokens/IDs are provided via add-on options and are never hardcoded + +## Install (high level) +1. Add this repo in Home Assistant: + Settings → Add-ons → Add-on Store → ⋮ → Repositories +2. Install **Moltbot Assistant** +3. Configure options (at minimum: Telegram bot token) ## Configuration -You’ll set options in the add-on UI (Telegram token + optional HA token + MikroTik connection hints). See `papur-addon/config.yaml` schema. +All configuration is done via the add-on UI. +See the schema in `moltbot_assistant/config.yaml`. -### MikroTik key -For MikroTik access, put the private key file inside the add-on data folder: -- host path (HAOS): `/addon_configs//keys/mikrotik_papur_nopw` -- in-container path: `/data/keys/mikrotik_papur_nopw` +### Optional: Brave Search +If you provide `brave_api_key`, the add-on exports `BRAVE_API_KEY` for the assistant’s web search tool. -(Exact host path may vary; easiest is using File editor / Samba share to place the key under the add-on’s data directory.) +### Optional: Home Assistant token +If you provide `homeassistant_token`, it is written to `/config/secrets/homeassistant.token` inside the container for local scripts/tools. -## Logs -View logs in the add-on UI. +### Optional: MikroTik SSH +If you want MikroTik automation, provide: +- `mikrotik_host` +- `mikrotik_ssh_user` +- `mikrotik_ssh_key_path` (default: `/data/keys/mikrotik`) -## Next steps -If you want, I can tailor: -- default config for Telegram routing -- persistent memory paths -- optional Home Assistant token mounting (for HA integration skill) +Place the SSH key file under the add-on config folder (e.g., with File editor), so it appears in-container at `/data/keys/...`. + +## UI +- The main add-on page loads the Gateway UI via **Ingress**. +- If enabled, web terminal is available at `/terminal/` under the ingress UI. + +## Status +This is still in "draft" while we finalize naming, docs, and a public release process. diff --git a/papur-addon/.gitignore b/moltbot_assistant/.gitignore similarity index 100% rename from papur-addon/.gitignore rename to moltbot_assistant/.gitignore diff --git a/papur-addon/Dockerfile b/moltbot_assistant/Dockerfile similarity index 100% rename from papur-addon/Dockerfile rename to moltbot_assistant/Dockerfile diff --git a/papur-addon/build.yaml b/moltbot_assistant/build.yaml similarity index 100% rename from papur-addon/build.yaml rename to moltbot_assistant/build.yaml diff --git a/papur-addon/config.yaml b/moltbot_assistant/config.yaml similarity index 83% rename from papur-addon/config.yaml rename to moltbot_assistant/config.yaml index b62f608..e132051 100644 --- a/papur-addon/config.yaml +++ b/moltbot_assistant/config.yaml @@ -1,7 +1,7 @@ -name: Papur (Clawdbot) -version: "0.2.0" -slug: papur_clawdbot -description: Run Clawdbot (Papur) as a Home Assistant add-on. +name: Moltbot Assistant +version: "0.3.0" +slug: moltbot_assistant +description: Run Moltbot Assistant (Clawdbot-compatible) as a Home Assistant add-on. url: https://github.com/techartdev/ClawdHAAddOn arch: - amd64 @@ -15,7 +15,7 @@ host_network: true # Home Assistant Ingress (UI inside the add-on page) ingress: true ingress_port: 8099 -panel_title: Papur +panel_title: Moltbot Assistant panel_icon: mdi:robot map: @@ -42,9 +42,10 @@ options: run_doctor_on_start: false homeassistant_token: "" - mikrotik_host: "192.168.88.1" - mikrotik_ssh_user: "papur" - mikrotik_ssh_key_path: "/data/keys/mikrotik_papur_nopw" + # Optional: MikroTik SSH defaults (leave empty if you don't use MikroTik) + mikrotik_host: "" + mikrotik_ssh_user: "" + mikrotik_ssh_key_path: "/data/keys/mikrotik" # Brave Search API key (optional; enables Brave-backed web search tool) brave_api_key: "" diff --git a/papur-addon/nginx.conf.tpl b/moltbot_assistant/nginx.conf.tpl similarity index 100% rename from papur-addon/nginx.conf.tpl rename to moltbot_assistant/nginx.conf.tpl diff --git a/papur-addon/run.sh b/moltbot_assistant/run.sh similarity index 97% rename from papur-addon/run.sh rename to moltbot_assistant/run.sh index 3d3f38e..4b06348 100644 --- a/papur-addon/run.sh +++ b/moltbot_assistant/run.sh @@ -19,9 +19,9 @@ GW_TOKEN=$(jq -r '.gateway_token // empty' "$OPTIONS_FILE") HA_TOKEN=$(jq -r '.homeassistant_token // empty' "$OPTIONS_FILE") BRAVE_KEY=$(jq -r '.brave_api_key // empty' "$OPTIONS_FILE") ENABLE_TERMINAL=$(jq -r '.enable_terminal // false' "$OPTIONS_FILE") -MT_HOST=$(jq -r '.mikrotik_host // "192.168.88.1"' "$OPTIONS_FILE") -MT_USER=$(jq -r '.mikrotik_ssh_user // "papur"' "$OPTIONS_FILE") -MT_KEY=$(jq -r '.mikrotik_ssh_key_path // "/data/keys/mikrotik_papur_nopw"' "$OPTIONS_FILE") +MT_HOST=$(jq -r '.mikrotik_host // empty' "$OPTIONS_FILE") +MT_USER=$(jq -r '.mikrotik_ssh_user // empty' "$OPTIONS_FILE") +MT_KEY=$(jq -r '.mikrotik_ssh_key_path // "/data/keys/mikrotik"' "$OPTIONS_FILE") # Optional: allow disabling lock cleanup if you ever need to debug CLEAN_LOCKS_ON_START=$(jq -r '.clean_session_locks_on_start // true' "$OPTIONS_FILE") diff --git a/repository.yaml b/repository.yaml index f5b11fd..188bba9 100644 --- a/repository.yaml +++ b/repository.yaml @@ -1,3 +1,3 @@ -name: Papur Clawd Add-ons +name: Moltbot Assistant Add-ons url: https://github.com/techartdev/ClawdHAAddOn maintainer: Vanyo