# Dirigent Integration (No-touch Template) This guide **does not** change your current OpenClaw config automatically. It only generates a JSON snippet you can review. ## Generate config snippet ```bash node scripts/render-openclaw-config.mjs \ /absolute/path/to/Dirigent/plugin \ openai \ dirigent-no-reply-v1 \ 561921120408698910 ``` Arguments: 1. plugin path 2. provider alias 3. model name 4. bypass user ids (comma-separated, optional) ## Output The script prints JSON for: - `plugins.load.paths` - `plugins.entries.dirigent.config` You can merge this snippet manually into your `openclaw.json`. ## Installer script ```bash node ./scripts/install.mjs --install # optional port override node ./scripts/install.mjs --install --no-reply-port 8787 # or wrapper ./scripts/install-dirigent-openclaw.sh --install ``` Uninstall: ```bash node ./scripts/install.mjs --uninstall # or wrapper ./scripts/install-dirigent-openclaw.sh --uninstall ``` Environment overrides: - `PLUGIN_PATH` - `NO_REPLY_PROVIDER_ID` - `NO_REPLY_MODEL_ID` - `NO_REPLY_BASE_URL` - `NO_REPLY_API_KEY` - `LIST_MODE` (`human-list` or `agent-list`) - `HUMAN_LIST_JSON` - `AGENT_LIST_JSON` - `CHANNEL_POLICIES_FILE` (standalone channel policy file path) - `CHANNEL_POLICIES_JSON` (only used to initialize file when missing) - `END_SYMBOLS_JSON` - `MULTI_MESSAGE_START_MARKER` - `MULTI_MESSAGE_END_MARKER` - `MULTI_MESSAGE_PROMPT_MARKER` The script: - writes via `openclaw config set ... --json` - installs plugin + no-reply-api into `~/.openclaw/plugins` - updates `plugins.entries.dirigent` and `models.providers.` - supports `--no-reply-port` (also written into `plugins.entries.dirigent.config.noReplyPort`) - does not maintain install/uninstall record files Policy state semantics: - channel policy file is loaded once into memory on startup - runtime decisions use in-memory state - use `dirigent_policy` tool to update state (memory first, then file persist) - manual file edits do not auto-apply until next restart ## Notes - Keep no-reply API bound to loopback/private network. - If you use API auth, set `AUTH_TOKEN` and align provider apiKey usage. - Multi-message mode markers default to `↗️` / `↙️` / `⤵️` when no overrides are supplied. - Shuffle mode is not configured globally in the current implementation; it is a per-channel runtime toggle controlled with `/dirigent turn-shuffling`, `/dirigent turn-shuffling on`, and `/dirigent turn-shuffling off`.