Files
Dirigent/docs/INTEGRATION.md

84 lines
2.4 KiB
Markdown

# 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.<no-reply-provider>`
- 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`.