什么是 Echo Agent
Echo Agent 是一个可自托管的长期运行 AI Agent。与一次性问答不同,它能:
- 跨会话记忆 — 四层认知记忆结构,自动衰减与矛盾检测,解决长期运行下的记忆膨胀问题,对话不再从零开始。
- 自进化技能 — 从真实执行轨迹中生成候选改进,经评测验证后才生效,支持回滚。
- 多入口归一 — CLI、Gateway、Webhook、Cron 及 Telegram / Discord / Slack / 微信 / 飞书 / 钉钉等 12 个通道共享同一份状态。
- 安全可控 — 高风险工具调用经统一审批,凭证加密存储,执行日志可审计。
一句话:让 Agent 带着记忆和不断进化的技能,长期为你工作。
快速开始
环境要求:Python 3.11+,至少一个模型 API Key。
# 安装
pip install "echo-agent[all]"
# 交互式配置向导(引导录入模型 API Key,数据默认存放在 ~/.echo-agent)
echo-agent setup
# 启动交互式对话
echo-agent run
国内镜像 / Windows / 一键脚本
# 阿里云镜像加速
pip install "echo-agent[all]" -i https://mirrors.aliyun.com/pypi/simple/
# Windows(PowerShell)
pip install "echo-agent[all]"
echo-agent setup
echo-agent run
# 一键安装脚本(仅支持 Linux / macOS / WSL2,会从源码安装到 ~/.echo-agent
# 并可注册后台常驻服务;建议先审查脚本内容再执行)
curl -fsSL -o install.sh https://raw.githubusercontent.com/fuyuxiang/echo-agent/master/scripts/install.sh
less install.sh && bash install.sh
常用命令
echo-agent run # 交互式对话(终端 TUI)
echo-agent setup # 配置向导(模型、通道、权限等,可反复运行)
echo-agent status # 查看当前配置状态
echo-agent gateway # 前台启动常驻网关
echo-agent gateway install # 把网关注册为后台服务(推荐的常驻方式,见下)
echo-agent cli # 以瘦客户端接入本机常驻网关
echo-agent cost # 查看成本归因报告
查看配置项:
echo-agent config explain <配置项>查看单项说明(含类型、默认值与可选值)、echo-agent config dump查看当前生效配置(密钥自动脱敏)、echo-agent config validate校验配置文件。
常驻运行(后台服务)
echo-agent run 和 echo-agent gateway 都是前台进程,关掉终端就退出。想让 agent 7×24 常驻,把网关注册为系统服务即可(macOS 注册用户级 LaunchAgent,Linux 注册用户级 systemd 服务,均无需 root,开机自启、崩溃自动拉起):
echo-agent gateway install # 注册后台服务
echo-agent gateway start # 启动
echo-agent gateway status # 查看运行状态
echo-agent gateway logs -f # 跟踪日志
echo-agent gateway restart # 重启(升级 echo-agent 后执行一次)
echo-agent gateway stop # 停止
echo-agent gateway uninstall # 取消注册
网关运行后,在本机任意终端用 echo-agent cli 接入,即可与同一个常驻 agent 对话(会话独立、记忆共享)。网关仅监听本机 loopback(127.0.0.1),不支持远程地址;远程接入请走 ssh。
Linux 注意事项 / 无 systemd 环境 / 旧命令
- 退出登录后继续运行(Linux 用户级服务默认随登录会话结束):
sudo loginctl enable-linger $USER - 服务器多用户场景:
echo-agent gateway install --system注册系统级 systemd 服务(需 sudo) - 无 systemd 的环境(WSL 未开 systemd、容器等):用 tmux 或 nohup 保持前台进程,如
tmux new -s echo-agent 'echo-agent gateway' - 升级后服务文件过期:
echo-agent gateway status会提示 stale,执行echo-agent gateway install --force重写 - 旧的
echo-agent service命令仍可用,已标记废弃,请改用echo-agent gateway <action>
本机安全边界:零配置(
allowlist模式 + 空白名单)的 loopback 网关只服务两类客户端——echo-agent cli(自带cli:身份),以及不带浏览器Origin的原生客户端(脚本/SDK)。带跨站Origin的浏览器请求(含自带 playground 页面)会被拒,以阻断恶意网页借浏览器驱动本机 agent(CSRF)。若要让浏览器/playground 访问,请在配置中设gateway.auth.mode=open、把用户加进gateway.auth.allowed_users,或(webview 桌面端等场景)把其 Origin 加进gateway.auth.allowed_origins。
架构总览
核心能力
| 模块 | 说明 |
|---|---|
| Agent Loop | 接收事件 → 构建上下文 → 调用模型 → 执行工具,跨入口共享同一条执行路径 |
| 认知记忆 | Working / Episodic / Semantic / Archival 四层,配合衰减、矛盾检测与重要性重排 |
| 混合检索 | BM25 + FAISS 向量融合召回,按查询特征自适应权重,FAISS 缺失时自动降级 |
| 自进化引擎 | 轨迹记录 → 候选生成 → 评测对照 → 晋升/驳回,支持冷却期与一键回滚 |
| 模型路由 | 主推理、上下文压缩、向量嵌入、风险审批可独立配置 provider 与模型 |
| 工具审批 | 三档策略 manual / smart / off,无人值守通道默认拒绝高风险调用 |
| 跨进程互操作 | A2A JSON-RPC + MCP 客户端(含 OAuth),支持动态工具注册 |
| 本地优先 | 会话、记忆、轨迹、凭证默认存放工作区,凭证加密落盘 |
适用场景
- Agent 跑在本机或自有服务器,需要完整审计与可追溯
- 对话、偏好与任务经验需要跨会话长期沉淀
- 希望 Agent 技能从真实使用中持续改进,而非出厂定型
- 多入口(CLI、Webhook、消息机器人)需共享同一份记忆与权限
- 高风险工具需要强制审批,避免误操作
- 需同时接入多家模型 provider,按任务类型分配
开发与贡献
从源码安装(开发模式):
git clone https://github.com/fuyuxiang/echo-agent.git # 国内可用 https://gitee.com/fuyuxiang/echo-agent.git
cd echo-agent
uv venv venv --python 3.11 && source venv/bin/activate
uv pip install -e ".[all,dev]"
# 提交前检查
ruff check .
pytest
PR 前请确保 lint 和测试通过(CI 会在 PR 上自动运行同样的检查),并同步更新中英文 README。
参与方向: 通道适配器 · 内置工具 · MCP 集成 · 技能示例 · 评测数据集 · 文档完善 · 部署模板
社区:
- QQ群:47572014
协议
Star History
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file echo_agent-0.3.3.tar.gz.
File metadata
- Download URL: echo_agent-0.3.3.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76039281cda42f82cb772c81a2c98a222028608425c81b204af84f00d9ff6a54
|
|
| MD5 |
4f33145a8529b4484f4e7d882046d8fc
|
|
| BLAKE2b-256 |
364a600866a88ccd413c6d725c375db3f6498e4451dc1148a503f23e7ed6cf83
|
File details
Details for the file echo_agent-0.3.3-py3-none-any.whl.
File metadata
- Download URL: echo_agent-0.3.3-py3-none-any.whl
- Upload date:
- Size: 1.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
148ee6300178c2be6f88edf684dc8cddb28ae317b8f9ed2a709d993f1867b13a
|
|
| MD5 |
e162903199abc37bb604672cc90cccdd
|
|
| BLAKE2b-256 |
3ce43c218e04b49ade654333952ee66d0492ed636906f88cf42ad129518ef018
|