79 lines
2.0 KiB
Markdown
79 lines
2.0 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`
|
|
|
|
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.
|