- Project infrastructure: go.mod, Makefile, .gitignore, README - Configuration system with YAML parsing and env overrides - Structured logging with slog - AI provider interface with Ollama, OpenAI, Anthropic implementations - Provider manager with runtime switching - Agent orchestrator with ReAct loop (reason-act-observe) - Tool registry with JSON Schema descriptions - Terminal tool: shell command execution with safety controls - Filesystem tools: read, write, list with path access control - Conversation memory with session management - Web UI server with WebSocket streaming - Modern dark theme UI with glassmorphism, animations - Frontend: WebSocket client, markdown rendering, tool call display
63 lines
1.2 KiB
YAML
63 lines
1.2 KiB
YAML
server:
|
|
host: "0.0.0.0"
|
|
port: 8080
|
|
|
|
ai:
|
|
default_provider: "ollama"
|
|
|
|
ollama:
|
|
base_url: "http://localhost:11434"
|
|
model: "llama3"
|
|
|
|
openai:
|
|
api_key: ""
|
|
model: "gpt-4o"
|
|
base_url: "https://api.openai.com/v1"
|
|
|
|
anthropic:
|
|
api_key: ""
|
|
model: "claude-sonnet-4-20250514"
|
|
base_url: "https://api.anthropic.com"
|
|
|
|
google:
|
|
api_key: ""
|
|
model: "gemini-2.0-flash"
|
|
|
|
agent:
|
|
max_iterations: 20
|
|
timeout_seconds: 300
|
|
system_prompt: |
|
|
You are ZovOS AI — a powerful AI assistant that can control a Linux computer.
|
|
You have access to tools: terminal commands, browser control, desktop control, filesystem operations.
|
|
Think step by step. Use tools when needed to accomplish the user's request.
|
|
Always explain what you're doing before executing actions.
|
|
|
|
tools:
|
|
terminal:
|
|
enabled: true
|
|
shell: "/bin/bash"
|
|
timeout_seconds: 60
|
|
blocked_commands:
|
|
- "rm -rf /"
|
|
- "mkfs"
|
|
- "dd if=/dev/zero"
|
|
|
|
browser:
|
|
enabled: true
|
|
headless: false
|
|
|
|
desktop:
|
|
enabled: true
|
|
|
|
filesystem:
|
|
enabled: true
|
|
allowed_paths:
|
|
- "/home"
|
|
- "/tmp"
|
|
|
|
clipboard:
|
|
enabled: true
|
|
|
|
logging:
|
|
level: "info"
|
|
format: "text"
|