1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# echo-agent 完整示例配置
#
# 使用方式(按优先级查找):
# 1. 设置环境变量 ECHO_AGENT_CONFIG 指向此文件
# 2. 复制到项目根目录并重命名为 echo-agent.yaml
# 3. 复制到 ~/.echo-agent/config.yaml
#
# 语法说明:
# - ${VAR_NAME} 会被解析为对应的环境变量值
# - provider 字段可替代 base_url,自动填充已知厂商的默认地址
# - models.*.model 字段可选,默认使用配置的 key 名称
# - 支持的 provider: openai, anthropic, deepseek, dashscope/qwen/aliyun,
# moonshot/kimi, zhipu/glm, ollama
# - `model.name` 应引用 `models` 中已经声明好的一个 key
# - 本文件同时包含两类配置:
# 1) `models` / `embedding`:供 ProviderFactory、语义检索等使用
# 2) `model` / `agent` / `channels` / `mcp` / `server` / `logging`:
# 供 `echo_agent::config` 运行时配置使用
models:
# ── 阿里云百炼(DashScope)──────────────────────────────────────────────
qwen3-max:
base_url: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
api_key: ${DASHSCOPE_API_KEY}
qwen-vl-max:
provider: dashscope
api_key: ${DASHSCOPE_API_KEY}
# 使用 provider 快捷方式(等效于上面手动填 base_url)
qwen3-plus:
provider: dashscope
api_key: ${DASHSCOPE_API_KEY}
# ── DeepSeek ────────────────────────────────────────────────────────────
deepseek-chat:
provider: deepseek
api_key: ${DEEPSEEK_API_KEY}
# deepseek-reasoner:
# provider: deepseek
# api_key: ${DEEPSEEK_API_KEY}
# ── OpenAI ──────────────────────────────────────────────────────────────
# gpt-4o:
# provider: openai
# api_key: ${OPENAI_API_KEY}
# gpt-4o-mini:
# provider: openai
# api_key: ${OPENAI_API_KEY}
# ── Anthropic ───────────────────────────────────────────────────────────
# claude-sonnet-4-6-20250514:
# provider: anthropic
# api_key: ${ANTHROPIC_API_KEY}
# ── Moonshot / Kimi ─────────────────────────────────────────────────────
# moonshot-v1-auto:
# provider: moonshot
# api_key: ${MOONSHOT_API_KEY}
# ── 智谱 GLM ────────────────────────────────────────────────────────────
# glm-4-plus:
# provider: zhipu
# api_key: ${ZHIPU_API_KEY}
# ── Ollama(本地)───────────────────────────────────────────────────────
# qwen3:
# provider: ollama
# api_key: ollama
# ── 自定义端点 ──────────────────────────────────────────────────────────
# my-custom-model:
# base_url: https://my-proxy.example.com/v1/chat/completions
# api_key: ${MY_API_KEY}
# model: gpt-4o # 实际发送给 API 的模型名(默认使用 key)
# ── Embedding(供语义检索 / 向量记忆使用)────────────────────────────────────
embedding:
# 二选一:
# 1) 完整 embeddings 端点
# endpoint_url: https://dashscope.aliyuncs.com/compatible-mode/v1/embeddings
# 2) 仅 base URL(会自动追加 /v1/embeddings)
base_url: https://api.openai.com
api_key: ${OPENAI_API_KEY}
model: text-embedding-3-small
timeout_secs: 30
# ── Runtime 配置(供 echo_agent::config 使用)───────────────────────────────
model:
name: qwen-vl-max
max_tokens: 4096
temperature: 0.7
agent:
name: echo-assistant
system_prompt: "你是一个智能助手,可以帮助用户回答问题、执行任务。"
max_iterations: 10
enable_tools: true
enable_memory: true
enable_human_in_loop: true
memory_path: ~/.echo-agent/memory
channels:
# QQ Bot 通道
qq:
enabled: false
app_id: ${QQ_APP_ID}
client_secret: ${QQ_CLIENT_SECRET}
# 飞书通道
feishu:
enabled: false
app_id: ${FEISHU_APP_ID}
app_secret: ${FEISHU_APP_SECRET}
mode: long_poll # long_poll | webhook
# IM 会话配置
session:
timeout_minutes: 60
reset_keywords:
- 重置对话
- 新对话
- 清除记忆
reset_commands:
- /reset
- /clear
- /new
mcp:
config_path: ./mcp.json
server:
host: 0.0.0.0
port: 3000
logging:
level: info