Fudan NLP team introduces A5, a proactive personal agent with Git-versioned Markdown memory
A Fudan NLP team introduced A5 on the Hugging Face blog on Oct 23: memory stored as Git-versioned Markdown, a v0.3.1 preview for macOS/Linux is out.

A proactive personal assistant called A5 appeared on the Hugging Face blog on October 23, introduced by a six-author team whose self-description is short: it “understands you better the more you use it.” A5 keeps what it learns about you as Markdown files under Git version control, watches the sources you connect, and adjusts current work when one of them changes. The post itself names no institution; Jiqizhixin’s October 25 report attributes the team to Fudan University’s NLP group (the acknowledgments thank Tao Gui, Qi Zhang and Xuanjing Huang, and the byline tags Tao Gui with SII). One fact needs no attribution: the three v0.3.1 installers have sat in a public Hugging Face release bucket since October 17.
Key points
- A5 is a proactive personal agent authored by Honglin Guo, Tao Gui (tagged SII) and four colleagues; Jiqizhixin attributes the team to Fudan’s NLP group, while the blog names no institution.
- Memory lives in Git-versioned Markdown: MEMORY.md enters the context at conversation start, and two layers — Workspace Memory and User Memory — split project knowledge from cross-project personal background.
- The v0.3.1 technical preview covers macOS (Apple Silicon and Intel) and Linux x64, uploaded October 17; the source code is promised “soon”, and GitHub shows only a Coming soon page.
Background
Proactivity presupposes long-term memory, and the research line is several years old. The A5 post cites Voyager, MemGPT, MemoryBank, A-MEM and Sleep-time Compute, and lists OpenClaw, the open-source personal assistant, among its references; UserVille, a paper accepted at COLM 2026, trains agents for proactivity and personalization alongside productivity. We have tracked the product side of this line before: OpenClaw is an open-source personal AI assistant with 392k GitHub stars as we recorded on October 12; LangChain’s Deep Agents context-engineering post treats on-disk memory as one of five mechanisms; ai-memory 3.1.1 gives coding agents one shared git-backed Markdown memory. A5 takes that same idea out of a coding tool and builds an entire personal assistant on it, with dedicated subsystems for memory, change detection and proactive suggestions.
Memory and context
A5’s memory is plain Markdown files in a Git repository — the blog’s own phrasing is “stored in Markdown files and versioned with Git”. On top sits MEMORY.md, holding the understanding that stays useful across tasks; it enters the context when a conversation starts, while detailed notes are read on demand. Memory splits into two scopes: Workspace Memory holds the knowledge, decisions and constraints of one workspace, and User Memory holds personal background, preferences and habits that carry across projects.
Retrieval runs through Memory Prefetch: when a user message arrives, BM25 runs in the background over both memory types, and a prefetch agent passes the relevant picks to the foreground main agent. The prefetch reuses the main conversation’s system prompt and prefix, which the blog says improves prefix cache utilization. If the main agent modified memory during the turn, background extraction is skipped to avoid duplicate or concurrent edits.
The Context Index handles sources: context nodes map to individual files or saved web pages, semantic nodes organize them into a browsable topic hierarchy, and the agent is expected to return to the original sources to verify what it finds.
Proactive machinery
Two engines carry the proactive half. The Diff Engine watches the sources connected to the workspace, judges whether a change is relevant — consulting the original source when needed — and injects confirmed changes into the context “before the next model call in the ReAct loop”, so the agent can revise its plan mid-task. The blog’s example: a supplier’s delivery slips, and the assistant analyzes the impact on the launch schedule on its own.
The Proposal Engine decides what to suggest. It gathers evidence from context changes, completed interactions and knowledge updates; before proposing, it checks the proposal history to exclude work that is completed, underway or duplicated, and re-suggesting rejected work requires explaining what materially changed. What survives passes validation, deduplication and frequency controls before reaching the Inbox — and the blog notes it “can remain quiet” when nothing is worth raising.
When the user is idle, Autodream does the housekeeping. It reorganizes memory against the previous Git revision — merging duplicates, correcting stale content, preserving applicability conditions, and flagging unresolvable conflicts for the user to confirm; publishes candidate index changes only after structural and version checks; and archives memories the foreground has not touched in a long time, recoverable and protectable by the user. Generally useful workspace experiences get promoted into User Memory.
How to try it
The v0.3.1 technical preview downloads from the Hugging Face release bucket; the three installers went up on October 17. There is no Windows build, and the blog flags the Linux package as not yet thoroughly tested.
| Installer | Platform | Size |
|---|---|---|
| a5-0.3.1-darwin-arm64.dmg | macOS (Apple Silicon) | 113 MB |
| a5-0.3.1-darwin-x64.dmg | macOS (Intel) | 117 MB |
| a5-0.3.1-linux-x64.tar.gz | Linux x64 | 93.6 MB |
You need an LLM API that supports streaming and tool calling (Anthropic Messages or OpenAI Chat Completions format), plus local Git and Poppler for PDF extraction (brew install poppler); a Jina or other search API is optional. MCP and Skills are supported. On the source code, read the tense carefully: the blog says “We will open the source code of A5 soon”, and the GitHub link currently lands on a Coming soon page.
What others say
Jiqizhixin’s October 25 report frames A5 as a Fudan NLP team project (the contact address on the piece is a Fudan student mailbox) and fills in the use cases: a ceramics interest picked up from trips to Hangzhou and Shanghai resurfaces as Beijing museum recommendations, and a resource-library plan meant for personal use gets reworked when the setup switches to a shared team. The piece closes on the question such an assistant forces: how much are we willing to let it know?
The earlier independent note came from Mamífero Lab (October 24, ahead of Jiqizhixin): the hard parts of a proactive assistant are permission control and judging when to step in, and the result depends on the third-party model you connect — A5 runs on the user’s own API key, so model quality sets the ceiling. As of October 26, no third-party benchmarks or community reviews have appeared in either language.
Our take
The decision worth copying is making memory diffable. Git versioning means you can open, edit and roll back what the assistant believes about you, and Autodream’s cleanup against the previous revision — with conflicts left to a human — builds on the same assumption. That is more auditable than the database-or-vector-store memory most products ship. If you already pay for an API and run a Mac or Linux box, the preview costs half an hour to install and try.
Keep two things separate. Every capability claim comes from the team’s own blog: whether the diff injection holds up in practice and whether Autodream misplaces anything is on you to test. And the source code is closed, with “soon” as the only word on timing. The honest comparison against OpenClaw and other open-source assistants becomes possible once the repo lands and independent tests exist.