Acontext

Turn agent-run learnings into readable, editable skill files.

Stars
★ 3.7k
Last updated
13d ago
License
Apache-2.0
Primary language
JavaScript

At a glance

How it runs
Library / SDKSelf-hosted serviceHosted service
Works with
Universal · cross-platformOpenAI API · Claude APIClaude Code (Partial support)
Cost
Free tier plus a paid hosted plan
Setup effort
Medium · a few setup steps
You'll need
DockerOpenAI API keyShell / CLINetwork accessLocal filesystem
Typical use
An OpenAI Agent SDK developer building a support or task agent who wants successful task practices captured as reviewable Markdown skills.
Not a fit if
  • Teams that must run fully offline without any cloud LLM calls
  • Users who want zero-config memory and won't define a SKILL.md schema
  • Self-hosters without Docker or an OpenAI API key

What does this agent do, and when should you use it?

Acontext is an open-source skill-memory layer for AI agents that stores learned knowledge as Markdown skill files. It exposes Python and TypeScript SDKs, a REST API, a web dashboard, and a self-hosted backend. Its learning flow extracts tasks from session messages and optional tool calls or artifacts, then distills outcomes after a task completes or fails and updates skills according to a SKILL.md schema. On later runs, an agent retrieves content through list_skills, get_skill, and get_skill_file rather than vector search. Skill files can be exported as ZIP archives for reuse with other agents, LLMs, and runtimes.

An application creates a learning space and session, then connects them with client.learning_spaces.learn(space.id, session_id=session.id). During an agent run, it records user and assistant messages with client.sessions.store_message(session.id, blob=...); after a task completes or fails, Acontext extracts tasks, distills successful and failed approaches plus user preferences, and has its Skill Agent create or update Markdown skill files. After client.learning_spaces.wait_for_learning, the application can enumerate learned files with client.learning_spaces.list_skills(space.id) and download them with client.skills.download(skill_id=..., path=...). On a later run, the agent calls get_skill and get_skill_file to retrieve needed content. For local deployment, acontext server up starts the local API, dashboard, and persistent data directory.

  1. An OpenAI Agent SDK developer building a support or task agent who wants successful task practices captured as reviewable Markdown skills.
  2. A team using Claude Agent SDK that wants failures as well as completed tasks to contribute reusable operational knowledge.
  3. An engineering team maintaining LangGraph, Claude, or AI SDK agents that needs to share skill files across frameworks instead of migrating a vector index.
  4. A developer evaluating agent memory locally who can start the backend and dashboard with Docker and acontext server up.
  5. A team building agents with code execution that wants skills mounted in a sandbox alongside disk, sandbox, and skill tools.

How do you install or deploy this agent?

Cloud setup: complete onboarding at Acontext.io to obtain an API key beginning with sk-ac, then run:

pip install acontext

For a self-hosted proof of concept, install Docker and have an OpenAI API Key, then run:

curl -fsSL https://install.acontext.io | sh
mkdir acontext_server && cd acontext_server
acontext server up

The command creates or uses .env and config.yaml and persists data in db. The local API is http://localhost:8029/api/v1 and the dashboard is http://localhost:3000/.

How do you use this agent?

A first Python flow is:

from acontext import AcontextClient
import os
client = AcontextClient(api_key=os.getenv("ACONTEXT_API_KEY"))
space = client.learning_spaces.create()
session = client.sessions.create()
client.learning_spaces.learn(space.id, session_id=session.id)
client.sessions.store_message(session.id, blob={"role": "user", "content": "My name is Gus"})
client.sessions.store_message(session.id, blob={"role": "assistant", "content": "Hi Gus! How can I help you today?"})
client.learning_spaces.wait_for_learning(space.id, session_id=session.id)
skills = client.learning_spaces.list_skills(space.id)

For the self-hosted API, initialize instead with:

client = AcontextClient(base_url="http://localhost:8029/api/v1", api_key="sk-ac-your-root-api-bearer-token")

What are this agent's strengths and limitations?

Pros
  • Memory is stored as readable, editable Markdown skill files that can be managed with Git or grep and mounted in a sandbox.
  • Both completed and failed tasks trigger learning through an explicit extraction, distillation, routing, and skill-update flow.
  • Agents retrieve content progressively with get_skill and get_skill_file instead of semantic top-k retrieval.
  • It provides Python and TypeScript SDKs, Docker-based self-hosting, and ZIP export.
Limitations
  • The documented self-hosted quick start requires Docker and an OpenAI API Key, and defaults to gpt-4.1.
  • Learning runs in the background; wait_for_learning is described as a blocking helper for demonstrations, so production integrations must accommodate asynchronous completion.
  • Users must define the skill structure, naming, and file layout through SKILL.md.
  • The README points to Claude Code installation and configuration instructions, but the supplied repository text does not include those full steps.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Acontext This agent 44 · Major gaps Library / SDKFreemium ★ 3.7k 13d ago JavaScript OpenAI API · Claude API
TrueForge 67 · Some gaps CLIFree + model costs ★ 6.4k 1d ago TypeScript OpenAI API · Claude API
PenguinHarness 52 · Major gaps Desktop appFree + model costs ★ 3.2k today TypeScript OpenAI API · Claude API
Letta 47 · Major gaps CLIFree + model costs ★ 25k 18d ago — —

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
44/ 100 5-point scale 2.2 / 5
Trust 7/29
Reliability 8/14
Adaptability 9/18
Convention 10/18
Effectiveness 7/13
Verifiability 3/8
Why each dimension lost points
Trust7 / 29 · 1.2/5

Evidence shows: README describes API-key-based client but lacks least privilege or user confirmation mechanisms; data flow transparency partially shown in architecture diagram but not detailed; sensitive data handling not explicitly addressed; dependency security not specified; external effects (e.g., Docker deployment) mentioned but not detailed; rollback not mentioned; source attribution only via license and copyright. Deductions: lack of concrete implementation details and explicit security measures.

Reliability8 / 14 · 2.9/5

Evidence shows: README and architecture diagram provide self-consistent description but no actual runtime verification; dependency availability not explicitly stated; failure messages not mentioned. Deductions: static review cannot verify runtime behavior, and documentation lacks error handling information.

Adaptability9 / 18 · 2.5/5

Evidence shows: README provides multiple usage scenarios (Claude Code, OpenClaw, Python/TS SDK) and describes capability boundaries (e.g., skill file format); trigger precision not explicit; environment fit (self-hosted, cloud) described. Deductions: trigger mechanisms and boundaries not precisely described.

Convention10 / 18 · 2.8/5

Evidence shows: README is well-structured, provides installation instructions, examples, and documentation links; naming stability not explicit; known limitations not mentioned; license is Apache-2.0; versioning and changelog mentioned (via GitHub Actions); maintenance responsibility not explicit. Deductions: missing known limitations and explicit maintenance responsibility statement.

Effectiveness7 / 13 · 2.7/5

Evidence shows: Output is Markdown skill files, usable; marginal value in automatic skill learning; cost-benefit not detailed. Deductions: insufficient cost-benefit analysis.

Verifiability3 / 8 · 1.9/5

Evidence shows: README claims partially supported by documentation links, but no independent verification; cross-source corroboration insufficient; facts and inferences not clearly separated. Deductions: lack of verifiable evidence and sources.

Risks and how to mitigate them
  • Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
  • Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
  • Static review cannot verify actual runtime behavior; all conclusions about functionality, security, and reliability are inferred.
  • Cloud services, API keys, and self-hosted deployment mentioned in README involve external dependencies; carefully assess security and privacy implications.
  • Known limitations and explicit maintenance responsibility are not provided; users should assess long-term support risks themselves.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 259d73bfdebe New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. sdk-ts/v0.1.21
    Release notes excerpt
    TypeScript SDK v0.1.21 What's Changed Other - chore: bump sdk-ts to v0.1.21 - chore(deps): batch dependency updates (#547) Full Changelog: https://github.com/memodb-io/Acontext/compare/sdk-ts/v0.1.20...sdk-ts/v0.1.21 --- Published to npm as @acontext/[email protected]
    View on GitHub ↗
  2. ui/v0.1.14
    Release notes excerpt
    UI v0.1.14 What's Changed Other - chore(deps): batch dependency updates (#547) Full Changelog: https://github.com/memodb-io/Acontext/compare/ui/v0.1.13...ui/v0.1.14 --- Published to https://github.com/memodb-io/Acontext/pkgs/container/acontext-ui
    View on GitHub ↗
  3. api/v0.1.41
    Release notes excerpt
    API v0.1.41 What's Changed Other - chore(deps): batch dependency updates (#547) Full Changelog: https://github.com/memodb-io/Acontext/compare/api/v0.1.40...api/v0.1.41 --- Published to https://github.com/memodb-io/Acontext/pkgs/container/acontext-api
    View on GitHub ↗

FAQ

Does it use a vector database or semantic retrieval?
The README describes a design without embeddings or semantic top-k retrieval; agents fetch skill files as needed through content tools.
What happens when a task fails?
A completed or failed task triggers learning. The distillation step infers what worked and what failed from the conversation and execution trace.
Can it run locally?
Yes. With Docker and an OpenAI API Key, install acontext-cli and run acontext server up to expose a local API and dashboard.
Can I use it with Claude?
The README names a Claude Code configuration path and lists Claude Agent SDK templates, but the complete configuration details are not present in the supplied repository text.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents