Ethan Agent banner
llm011 llm011

Ethan Agent

AI community

Description

A lightweight, high-performance personal AI agent. Fast async core, pluggable tools, and open integration with external agent ecosystems (Claude Code, Codex, MCP). Simple to configure, easy to extend.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Ethan Agent

[中文文档](./README_CN.md)

A lightweight, extensible personal AI agent built in Python. Designed to run persistently on your own hardware with memory that grows over time, scheduled tasks, and a pluggable tool/skill system.

Ethan combines ideas from [OpenClaw](https://github.com/openclaw/openclaw) (structured agent loop, layered memory), [Hermes Agent](https://github.com/NousResearch/hermes-agent) (self-improving skills, memory consolidation), and [nanobot](https://github.com/HKUDS/nanobot) (minimal core, readable codebase).


Features

**Memory system**

  • Structured long-term memory (memory.db, the single source of truth for user facts): short sessions (<3 turns) extract immediately, then incrementally every 3 turns — each candidate carries an exact quote from a user message — and is deterministically admitted — explicit → active immediately, observed → promoted only after ≥2 independent sessions. 64 typed dimensions across 7 categories (personal info / preference / activity / decision / relationship / methodology / companion), with TTL expiry, supersede chains, and redaction-on-forget
  • Semantic recall & dedup: hybrid FTS5 + BGE vector retrieval (RRF-fused) feeds a single prompt block; at admission, embedding near-neighbors are paired and merged/superseded by deterministic rules ("住在深圳" ≈ "家在深圳南山" never stored twice)
  • Memory decay & reinforcement: fully deterministic tier rules (zero LLM) — identity/preference/companion memories are exempt from decay; project scopes idle for 21 days are archived (dormant, restorable at any time); tentative decisions ("先试试") sink on a 3-day ranking half-life; evidence repeated across independent sessions promotes confidence up a ladder (2→0.8, 3→0.9, 5→0.95). Value is voted by future behavior: recurrence reinforces, long silence archives
  • Dimension registry: the extraction prompt's dimension guide and the validation whitelist are both generated from one declarative registry