Files
HomeAgent/config/config.yaml
root c3816dc699 IO 抽象层增强:非文本输入支持 + waiter CLI 重写
PluginSDK:
- 添加 InjectInput / InjectInputSync / InjectInterrupt 泛型接口
- 插件现在可注入 image/audio/file 等任意类型输入

Provider:
- 添加 ContentBlock / ImageURL / AudioURL 类型
- Message 增加 Blocks 字段,Content 在非空 Blocks 时序列化为数组(多模态格式)

Agent:
- handleInput 新增 image/audio 类型分发 → processMediaInput
- processMediaInput 将媒体数据附着到对话上下文,LLM 自主决策处理策略
- 新增内置工具:describe_image / transcribe_audio / ocr_image(pendingMedia 驱动)
- 工具仅当有未处理媒体数据时注册,通过 Provider 直接调用多模态模型

Config:
- 新增 InputProcessingConfig(image/audio 处理配置)
- 含 fallback_provider / describe_prompt / ocr_enabled 等选项

Waiter CLI 重写:
- 配置文件 ~/.config/homeagent/cli.yaml(自动发现 socket)
- 原始终端行编辑 + 命令历史持久化 + 彩色输出
- 内置命令:/help /reconnect /connect /remote /local /prompt
- 断线自动重连
2026-07-04 15:01:35 +08:00

96 lines
2.4 KiB
YAML

daemon:
listen_addr: ":8080"
data_dir: "/var/lib/homeagent"
heartbeat_interval: 15s
check_interval: 30s
log_level: "info"
llm:
provider: "deepseek"
model: "deepseek-v4-flash"
base_url: "https://api.deepseek.com"
api_key: ""
adapter: "deepseek"
temperature: 0.7
max_tokens: 4096
sources:
- name: "deepseek"
base_url: "https://api.deepseek.com"
model: "deepseek-v4-flash"
adapter: "deepseek"
adapter_path: "adapters/deepseek.lua"
- name: "openai"
base_url: "https://api.openai.com/v1"
model: "gpt-4o"
adapter: "openai"
adapter_path: "adapters/openai.lua"
- name: "anthropic"
base_url: "https://api.anthropic.com"
model: "claude-sonnet-4-20250514"
adapter: "anthropic"
adapter_path: "adapters/anthropic.lua"
- name: "gemini"
base_url: "https://generativelanguage.googleapis.com"
model: "gemini-2.0-flash"
adapter: "gemini"
adapter_path: "adapters/gemini.lua"
- name: "mistral"
base_url: "https://api.mistral.ai"
model: "mistral-large-latest"
adapter: "mistral"
adapter_path: "adapters/mistral.lua"
- name: "groq"
base_url: "https://api.groq.com"
model: "llama3-70b-8192"
adapter: "groq"
adapter_path: "adapters/groq.lua"
- name: "github"
base_url: "https://models.inference.ai.azure.com"
model: "gpt-4o"
adapter: "github"
adapter_path: "adapters/github.lua"
- name: "ollama"
base_url: "http://localhost:11434"
model: "llama3"
adapter: "ollama"
adapter_path: "adapters/ollama.lua"
input_processing:
image:
fallback_provider: ""
fallback_model: ""
describe_prompt: "请详细描述这张图片的内容"
ocr_enabled: true
audio:
fallback_provider: ""
fallback_model: ""
describe_prompt: "请描述这段音频的内容"
defaults:
image: "homeagent/agent-base:latest"
llm_endpoints:
- "https://api.openai.com/v1"
snapshot_policy:
interval: 10m
max_snapshots: 20
pre_action: true
post_action: false
rollback_policy:
max_retries: 3
health_threshold: 3
cooldown_period: 30s
auto_rollback: true
resource_limit:
cpu: "2"
memory: "2g"
disk: "10g"
network: true
openclaw_enabled: true
agents:
- id: "default"
name: "Default Agent"
image: "homeagent/agent-base:latest"
llm_endpoints:
- "https://api.openai.com/v1"