Add support for multiple providers
This commit is contained in:
@@ -1,30 +1,49 @@
|
||||
shutdown_timeout: 30s
|
||||
|
||||
server:
|
||||
address: ":8080"
|
||||
address: ":8080"
|
||||
|
||||
stt:
|
||||
url: "http://localhost:8178"
|
||||
|
||||
llm:
|
||||
url: "http://localhost:8081/v1"
|
||||
key: ${ODIDERE_LLM_KEY}
|
||||
model: "default"
|
||||
system_message: "You are a helpful voice assistant. Be concise."
|
||||
timeout: "5m"
|
||||
|
||||
tts:
|
||||
url: "http://localhost:8880"
|
||||
voice: "af_heart"
|
||||
timeout: "60s"
|
||||
|
||||
default_model:
|
||||
provider: "llama.cpp"
|
||||
model: "qwen3.6-27b"
|
||||
|
||||
providers:
|
||||
- name: "llama.cpp"
|
||||
key: ${LLM_API_KEY}
|
||||
url: "http://localhost:8081/v1"
|
||||
timeout: "5m"
|
||||
|
||||
- name: "openrouter"
|
||||
url: "https://openrouter.ai/api/v1"
|
||||
key: "${OPENROUTER_KEY}"
|
||||
timeout: "5m"
|
||||
models:
|
||||
- "~anthropic/claude-opus-latest:exacto"
|
||||
- "~google/gemini-pro-latest:exacto"
|
||||
- "~openai/gpt-latest:exacto"
|
||||
- "deepseek/deepseek-v4-pro:exacto"
|
||||
- "deepseek/deepseek-v4-flash:exacto"
|
||||
- "minimax/minimax-m3:exacto"
|
||||
- "mistralai/mistral-medium-3-5:exacto"
|
||||
- "moonshotai/kimi-k2.6:exacto"
|
||||
- "moonshotai/kimi-k2.7-code:exacto"
|
||||
- "qwen/qwen3.6-27b:exacto"
|
||||
- "z-ai/glm-5.1:exacto"
|
||||
|
||||
tools:
|
||||
- name: get_weather
|
||||
description: "Get current weather for a location"
|
||||
command: "curl"
|
||||
arguments:
|
||||
- "-s"
|
||||
- "https://wttr.in/{{.location}}?format=j1"
|
||||
- "https://wttr.in/{{ .location }}?format=j1"
|
||||
parameters:
|
||||
type: object
|
||||
properties:
|
||||
@@ -34,11 +53,51 @@ tools:
|
||||
required:
|
||||
- location
|
||||
timeout: "10s"
|
||||
- name: sandbox_run
|
||||
description: |
|
||||
Execute a shell command inside a bubblewrap sandbox. The sandbox has
|
||||
read-write access to the current directory, read-only access to system
|
||||
binaries, no network access, no SSH keys, isolated /tmp, and process
|
||||
isolation. Use this for all file operations (cat, grep, find, mkdir,
|
||||
sed, tee, patch), building, testing, and any command execution that
|
||||
does not require network access.
|
||||
command: "sandbox_run"
|
||||
arguments:
|
||||
- "{{ .command }}"
|
||||
parameters:
|
||||
type: object
|
||||
properties:
|
||||
command:
|
||||
type: string
|
||||
description:
|
||||
"The complete shell command to execute inside the sandbox."
|
||||
required:
|
||||
- command
|
||||
timeout: "30s"
|
||||
- name: host_run
|
||||
description: |
|
||||
Execute a shell command on the host system with no sandbox. Use only
|
||||
when you need network access (curl, SSH, git clone), system-level
|
||||
changes (package installs, service management), or access to files
|
||||
outside the current directory. Prefer sandbox_run for all other command
|
||||
execution.
|
||||
command: "bash"
|
||||
arguments:
|
||||
- "-c"
|
||||
- "{{ .command }}"
|
||||
parameters:
|
||||
type: object
|
||||
properties:
|
||||
command:
|
||||
type: string
|
||||
description: "The complete shell command to execute on the host"
|
||||
required:
|
||||
- command
|
||||
timeout: "60s"
|
||||
|
||||
jobs:
|
||||
- name: "daily_summary"
|
||||
schedule: "0 9 * * *"
|
||||
enabled: true
|
||||
system_message: "You are an assistant."
|
||||
task: "Report the uptime on your host."
|
||||
timeout: "3m"
|
||||
|
||||
Reference in New Issue
Block a user