Skip to content
Projects

fuyuxiang/echo-agent has 1,036 GitHub stars and 35 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-09 11:48 UTC. Last push 2026-11-03.

How these counts are measured

面向长期运行与桌面协作的开源 AI Agent,提供常驻 Runtime、桌面 Agent、长期记忆与持续学习能力,可用于个人助理、自动化任务与本地工作流。

Measured star growth

in 24h
+1
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.en.md

Original

Echo Agent — Cognitive memory, self-evolving skills, and an embeddable Runtime, alongside a desktop Agent

Give your Agent memory. Turn experience into skills.

A source-available, self-hosted, embeddable Agent Runtime and a local-first desktop Agent.

Runtime quick start   Desktop quick start

Memory & evolution · Architecture · Documentation · 中文

PyPI Python CI Docs License: PolyForm Noncommercial 1.0.0 GitHub Stars

Runtime total downloads Desktop total downloads Statistics updated

Choose Your Starting Point

Product When to use it Start here
Echo Agent Runtime Build Agents that remember and learn from experience; run in a terminal, deploy a service, or integrate with your application Install & deploy · Architecture & runtime modes
EchoAgent Desktop Write code, work with documents, and operate browsers and desktop apps in a real workspace, with visible progress and changes Install & use · Desktop capabilities

Quick Start

Agent Runtime

You need Python 3.11+ and an API key for at least one model service. Run in your terminal:

pip install "echo-agent[all]"
echo-agent setup
echo-agent run

setup configures a model; run starts the full Runtime. In mainland China, append -i https://mirrors.aliyun.com/pypi/simple/ to the installation command if needed. The same commands work in Windows PowerShell; see the installation guide for dependencies and platform limitations.

Gateway and Dashboard

For web management, API access, or CLI/TUI clients, exit the run process above, then start Gateway:

echo-agent gateway

Open http://127.0.0.1:58123/ for Dashboard. Connect to the same Runtime from another terminal:

echo-agent cli --tui

Messaging channels, Webhooks, and scheduled jobs follow configuration. Normally run one full Runtime per workspace; cli connects to an existing Gateway without starting another engine. See runtime modes and the Dashboard guide.

Background service and source installation

On macOS or Linux with systemd, register Gateway as a user-level background service:

echo-agent gateway install
echo-agent gateway status
echo-agent gateway logs --follow

See background services for Linux service persistence after logout. Gateway listens on loopback by default; use SSH forwarding for remote access. See Gateway authentication for authentication settings.

For source deployments, download only echo-agent-runtime/ and run inside that directory:

bash scripts/install.sh --source .

Pure sources contain the full Dashboard project and require a frontend build. Runtime release archives include prebuilt assets and need no Node/pnpm on the server. The network installation script fetches a sparse checkout of the Runtime. See the Runtime installation instructions for methods, dependencies, and upgrades.

EchoAgent Desktop

See the Desktop quick start for installers, supported platforms, and source prerequisites. With this repository already checked out, macOS users can start from its root:

cd client
pnpm setup:mac
pnpm install --frozen-lockfile
pnpm tauri dev

The first launch prepares the embedded Runtime, Theia IDE, and Office Worker. Desktop starts independently and can use the project's built-in remote model service or your own connections. See the Desktop documentation for Windows instructions.

Long-Term Memory and Skill Evolution

Cognitive memory carries context across sessions; skill evolution makes execution experience reusable. These are the two paths in the Runtime:

Runtime memory and skill evolution: eligible memories enter context through hybrid recall; execution trajectories produce candidates, with validation, risk checks, and isolated evaluation leading to promotion, review, or rejection

Cognitive Memory

Remember user preferences and project facts across sessions, reducing repeated background explanations. Memory uses Working, Episodic, Semantic, and Archival tiers. BM25 and optional vector retrieval combine through RRF. Scope, provenance, and lifecycle eligibility determine what enters the current context; archived, superseded, and unresolved entries are excluded from normal recall.

Background consolidation after replies can extract summaries and facts, resolve contradictions, and apply decay and archival policies. See the memory system for implementation and configuration.

Self-Evolving Skills

Generate reusable skill candidates from execution trajectories and reflection, then route them to review or isolated evaluation according to risk and configuration. Only candidates that meet the promotion policy reach the live skill library. Rejections retain their reasons; promoted changes support manual rollback.

The evolution engine is disabled by default and must be enabled in configuration. Once enabled, it supports manual, trajectory-threshold, and scheduled triggers. It updates skill content and enabled state; see evolution and evaluation for the full process.

Architecture and Runtime Modes

Desktop and standalone Runtime follow the same Agent method but currently use different execution engines. Python Runtime provides terminal, Gateway, channels, memory, and skill evolution. Desktop embeds a Rust engine for workspaces, IDE, and automation. Each manages its own models, sessions, and memory and works independently.

C4 system context: Desktop and standalone Runtime, with independent engines and state

Main Operating Modes

Mode Entry point Where execution runs
Local runtime echo-agent run This Runtime process; Gateway is enabled according to configuration
Gateway service echo-agent gateway This Runtime process, exposing Dashboard and HTTP/WebSocket APIs
Desktop application EchoAgent Desktop In-process Rust engine communicating with the host over ACP channels
Expand the Runtime execution architecture

Runtime execution architecture: ChannelManager and optional GatewayServer connect to MessageBus; AgentLoop uses context, inference, and response stages, with sessions, memory, models, tools, approval, skills, and evolution dependencies

Runtime composes models, storage, execution, channels, scheduling, and optional Gateway, and coordinates startup and shutdown. Input events enter the task loop; tools follow admission and approval policies; results return through the entry point. See the architecture overview.

Runtime Capabilities

Capability Purpose
Agent Loop and tasks Coordinate inference, tool calls, execution feedback, task state, and planning
Models and routing Connect model services and configure routing and fallback
Memory and knowledge Recall eligible memories, retrieve knowledge, and assemble task context
Tools and MCP Execute local tools and connect external tool services
Skills and Plugins Load reusable skills and extend runtime behavior
Automation and channels Trigger tasks through scheduled jobs, Webhooks, and configured messaging channels
Permissions and observability Govern tool admission and approval; record logs, trajectories, usage, and execution state

EchoAgent Desktop

Put your Agent to work in your workspace. Desktop uses React, Tauri, and an in-process Rust Agent engine to show plans, tool activity, file changes, and deliverables in one application.

Scenario Desktop capabilities
Coding Eclipse Theia IDE, Coding Agent, diff review, verification, and delivery
Browser and desktop control Task-isolated Browser Use; explicit Computer Use tasks with pause and resume
Documents and knowledge Project files, knowledge indexing, memory, and Word, PDF, Excel, and PowerPoint document workflows
Models and collaboration Model connections, MCP, Skills, Plugins, experts, and expert groups
Ongoing work Projects and tasks, scheduled automations, and optional WeChat remote sessions

Browser side effects and desktop tasks use different confirmation flows. Computer Use executes continuously within an authorized task; platform permissions still apply. See the Desktop README, architecture and data flow, and automation platform support for implementation details and real-device validation scope.

Extensions and Integration

Bring Agent capabilities into your application through a service connection or source-level embedding:

  • Connect to Gateway: Submit tasks and receive events through the HTTP / WebSocket API. The Runtime service owns models, memory, and execution state.
  • Embed the Runtime from source: Compose components with bootstrap / AppRuntime and let the host manage startup, shutdown, and workspace ownership. Interfaces follow the chosen source version; pin it and validate lifecycle behavior.
  • Study the Desktop host integration: agent_runtime.rs shows the embedded Echo Agent Runtime and typed ACP channels; dependencies are declared in Cargo.toml.
Extension Purpose Documentation
Tools / MCP Add execution capabilities and connect external tools Tools · MCP
Skills / Plugins Reuse workflows and extend Runtime behavior Skills · Plugins
Models / Channels Connect model services and messaging entry points Models · Channels
A2A Receive inbound tasks; no outbound A2A delegation entry point in the current Agent runtime A2A

Data and Security

Sessions, memory, configuration, and other state stay in the deployment environment. Remote models, external MCP servers, and third-party messaging channels receive data needed for their operations. When browser or computer automation is enabled in Desktop, model input may include page content and screenshots.

Runtime tool calls follow permissions and approval policies. Desktop also controls workspace authorization, permission modes, and task scope. See the security model, hardening guide, and Desktop data and permission boundaries for storage, authentication, and operational boundaries.

Documentation

Full documentation: English · 中文文档

Topic Entry points
Install and start Runtime installation · Installation guide · Quick start
Concepts and architecture Architecture · Agent Loop · Memory · Evolution
Configuration and operations Configuration · CLI · Background services
Desktop Install and use · Desktop releases
Versions and compatibility Changelog · Compatibility

Development and Contributing

echo-agent/
├── echo-agent-runtime/   # Standalone Runtime, including Dashboard and skills
├── client/               # Desktop workspace, embedded Runtime, and Theia
├── docs/                 # Documentation site and visual assets
├── scripts/              # Repository maintenance, docs checks, and diagram generation
└── .github/              # CI, releases, and repository automation
Runtime development environment and checks

On macOS or Linux:

git clone https://github.com/fuyuxiang/echo-agent.git
cd echo-agent/echo-agent-runtime
uv venv venv --python 3.11
source venv/bin/activate
uv pip install -e ".[all,dev]"
ruff check .
pytest

See Runtime development for Dashboard builds and independent package checks, and Desktop development for Desktop checks.

Contributions to the Runtime, bug fixes, tools, Skills, Plugins, channels, and documentation are welcome. See CONTRIBUTING.en.md and the repository map. The bilingual README architecture diagrams are generated by scripts/generate-readme-diagrams.py; review and update diagrams and text when their implementations change.

Community and Support

Project Founders

Echo Agent was co-founded by Yuxiang Fu and Yanrong Gao.

License

Original project code is available under the PolyForm Noncommercial License 1.0.0 for the purposes permitted by that license. Commercial uses outside those purposes require separate permission from the maintainers.

Third-party components retain their respective licenses. This update does not revoke rights already granted under earlier licenses.

Earlier MIT notice: LICENSES/MIT.txt. See the third-party notices for licenses of components included in the desktop app.

The FastEmbed compatibility copy bundled with the Runtime is licensed under Apache-2.0. See its maintenance notes for the source and Pillow 13 compatibility changes.

Explore related projects