External Agents
Connect external services to Riverse via agent/config/agents_en.yaml. The LLM automatically decides when to invoke agents based on conversation context.
Built-in Templates
| Agent | Type | Description | Default |
|---|---|---|---|
| weather_query | HTTP | wttr.in weather query | Enabled |
| home_lights | HTTP | Home Assistant light control | Disabled |
| home_status | HTTP | Home Assistant device status | Disabled |
| n8n_email | HTTP | Send email via n8n | Disabled |
| n8n_workflow | HTTP | Trigger n8n workflow | Disabled |
| dify_agent | HTTP | Dify sub-agent | Disabled |
| backup_notes | Command | Local backup script | Disabled |
| system_info | Command | System info query | Disabled |
| httpbin_echo | HTTP | httpbin echo for testing | Disabled |
Enabling an Agent
Set enabled: true and fill in your URL/token:
- name: home_lights
type: http
description: "Toggle lights via Home Assistant"
parameters:
entity_id: "Light entity ID"
action: "toggle / turn_on / turn_off"
examples:
- "Turn on the living room light"
enabled: true
http:
url: "http://your-home-assistant:8123/api/services/light/{action}"
method: POST
headers:
Authorization: "Bearer YOUR_TOKEN"
body_template:
entity_id: "{entity_id}"
timeout: 10
Agent Types
HTTP Agent
Makes HTTP requests to external services (Home Assistant, n8n, Dify, etc.).
HTTP Agent Fields
| Field | Description |
|---|---|
url |
Target URL (supports {parameter} placeholders) |
method |
HTTP method: GET, POST, etc. |
headers |
HTTP headers (e.g. Authorization) |
body_template |
Request body with {parameter} placeholders (for POST) |
query_template |
Query parameters with {parameter} placeholders (for GET) |
result_path |
Dot-separated path to extract from JSON response (e.g. "answer", "current_condition") |
timeout |
Request timeout in seconds |
Command Agent
Executes local shell commands (backup scripts, system queries, etc.).
Multi-Language Config
Agent configs are available in multiple languages:
agent/config/agents_en.yaml— Englishagent/config/agents_zh.yaml— Chineseagent/config/agents_ja.yaml— Japanese
The active config is determined by the language setting in settings.yaml.