Acontext
Turn agent-run learnings into readable, editable skill files.
Per-dimension scores and reasoning
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.
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.
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.
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.
Evidence shows: Output is Markdown skill files, usable; marginal value in automatic skill learning; cost-benefit not detailed. Deductions: insufficient cost-benefit analysis.
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.
- 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.
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.
- An OpenAI Agent SDK developer building a support or task agent who wants successful task practices captured as reviewable Markdown skills.
- A team using Claude Agent SDK that wants failures as well as completed tasks to contribute reusable operational knowledge.
- An engineering team maintaining LangGraph, Claude, or AI SDK agents that needs to share skill files across frameworks instead of migrating a vector index.
- A developer evaluating agent memory locally who can start the backend and dashboard with Docker and acontext server up.
- A team building agents with code execution that wants skills mounted in a sandbox alongside disk, sandbox, and skill tools.
What are this agent's strengths and limitations?
- 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.
- 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 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 acontextFor 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 upThe 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 osclient = 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")