[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-72695":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":42,"readmeContent":43,"aiSummary":44,"trendingCount":16,"starSnapshotCount":16,"syncStatus":45,"lastSyncTime":46,"discoverSource":47},72695,"Acontext","memodb-io\u002FAcontext","memodb-io","Agent Skills as a Memory Layer","https:\u002F\u002Facontext.io",null,"JavaScript",3521,319,28,13,0,9,26,151,27,100.52,"Apache License 2.0",false,"main",true,[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41],"agent","agent-development-kit","agent-observability","ai-agent","anthropic","context-data-platform","context-engineering","data-platform","llm","llm-observability","llmops","memory","openai","self-evolving","self-learning","2026-06-12 04:01:06","\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fdiscord.acontext.io\">\n      \u003Cimg alt=\"Acontext - Agent Skills as a Memory Layer\" src=\".\u002Fassets\u002FAcontext-header-banner.png\">\n  \u003C\u002Fa>\n \t\u003Cp align=\"center\">\n \t  \t\u003Ca href=\"https:\u002F\u002Facontext.io\">🌐 Website\u003C\u002Fa>\n      |\n \t  \t\u003Ca href=\"https:\u002F\u002Fdocs.acontext.io\">📚 Document\u003C\u002Fa>\n  \u003C\u002Fp>\n  \u003Cp align=\"center\">\n    \u003Ca href=\"https:\u002F\u002Fpypi.org\u002Fproject\u002Facontext\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Facontext.svg\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@acontext\u002Facontext\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@acontext\u002Facontext.svg?logo=npm&logoColor=fff&style=flat&labelColor=2C2C2C&color=28CF8D\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmemodb-io\u002Facontext\u002Factions\u002Fworkflows\u002Fcore-test.yaml\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fmemodb-io\u002Facontext\u002Factions\u002Fworkflows\u002Fcore-test.yaml\u002Fbadge.svg\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmemodb-io\u002Facontext\u002Factions\u002Fworkflows\u002Fapi-test.yaml\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fmemodb-io\u002Facontext\u002Factions\u002Fworkflows\u002Fapi-test.yaml\u002Fbadge.svg\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmemodb-io\u002Facontext\u002Factions\u002Fworkflows\u002Fcli-test.yaml\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fmemodb-io\u002Facontext\u002Factions\u002Fworkflows\u002Fcli-test.yaml\u002Fbadge.svg\">\u003C\u002Fa>\n  \u003C\u002Fp>\n\u003Cp align=\"center\">\n \t  \t\u003Ca href=\"https:\u002F\u002Fx.com\u002Facontext_io\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Facontext_io?style=social\" alt=\"Twitter Follow\">\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fdiscord.acontext.io\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdynamic\u002Fjson?label=Acontext&style=flat&query=approximate_member_count&url=https%3A%2F%2Fdiscord.com%2Fapi%2Fv10%2Finvites%2FSG9xJcqVBu%3Fwith_counts%3Dtrue&logo=discord&logoColor=white&suffix=+members&color=36393f&labelColor=5765F2\" alt=\"Acontext Discord\">\u003C\u002Fa>\n  \u003C\u002Fp>\n\u003C\u002Fdiv>\n\n\n\n\n\n\n## What is Acontext?\n\nAcontext is an open-source skill memory layer for AI agents. It **automatically** captures learnings from agent runs and stores them as **agent skill files** — files you can read, edit, and share across agents, LLMs, and frameworks.\n\nIf you want the agent you build to **learn from its mistakes** and **reuse what worked** — without opaque memory polluting your context — give Acontext a try.\n\n\n\n## Skill is All You Need\n\nAgent memory is getting increasingly complicated🤢 — hard to understand, hard to debug, and hard for users to inspect or correct. Acontext takes a different approach: if agent skills can represent every piece of knowledge an agent needs as simple files, so can the memory.\n\n- **Acontext builds memory in the agent skills format**, so everyone can see and understand what the memory actually contains.\n- **Skill is Memory, Memory is Skill**. Whether a skill comes from one you downloaded from Clawhub or one you created yourself, Acontext can follow it and evolve it over time.\n\n\n\n## The Philosophy of Acontext\n\n- **Plain file, any framework** — Skill memories are Markdown files. Use them with LangGraph, Claude, AI SDK, or anything that reads files. No embeddings, no API lock-in. Git, grep, and mount to the sandbox.\n- **You design the structure** — Attach more skills to define the schema, naming, and file layout of the memory. For example: one file per contact, one per project by uploading a working context skill.\n- **Progressive disclosure, not search** — The agent can use  `get_skill` and `get_skill_file` to fetch what it needs. Retrieval is by tool use and reasoning, not semantic top-k.\n- **Download as ZIP, reuse anywhere** — Export skill files as ZIP. Run locally, in another agent, or with another LLM. No vendor lock-in; no re-embedding or migration step.\n\n## How It Works\n\n### Store — How skills get memorized?\n\n```mermaid\nflowchart LR\n  A[Session messages] --> C[Task complete\u002Ffailed]\n  C --> D[Distillation]\n  D --> E[Skill Agent]\n  E --> F[Update Skills]\n```\n\n- **Session messages** — Conversation (and optionally tool calls, artifacts) is the raw input. Tasks are extracted from the message stream automatically (or inferred from explicit outcome reporting).\n- **Task complete or failed** — When a task is marked done or failed (e.g. by agent report or automatic detection), that outcome is the trigger for learning.\n- **Distillation** — An LLM pass infers from the conversation and execution trace what worked, what failed, and user preferences.\n- **Skill Agent** — Decides where to store (existing skill or new) and writes according to your `SKILL.md` schema.\n- **Update Skills** — Skills are updated. You define the structure in `SKILL.md`; the system does extraction, routing, and writing.\n\n### Recall — How the agent uses skills on the next run\n\n```mermaid\nflowchart LR\n  E[Any Agent] --> F[list_skills\u002Fget_skill]\n  F --> G[Appear in context]\n```\n\nGive your agent **Skill Content Tools** (`get_skill`, `get_skill_file`). The agent decides what it needs, calls the tools, and gets the skill content. No embedding search — **progressive disclosure, agent in the loop**.\n\n\n\n# 🪜 Use It to Improve your Agent\n\nClaude Code: \n\n```text\nRead https:\u002F\u002Facontext.io\u002FSKILL.md and follow the instructions to install and configure Acontext for Claude Code\n```\n\nOpenClaw:\n\n```text\nRead https:\u002F\u002Facontext.io\u002FSKILL.md and follow the instructions to install and configure Acontext for OpenClaw\n```\n\n\n\n\n# 🚀 Step-by-step Quickstart\n\n### Connect to Acontext\n\n1. Go to [Acontext.io](https:\u002F\u002Facontext.io), claim your free credits.\n2. Go through a one-click onboarding to get your API Key (starts with `sk-ac`)\n\n\u003Cdiv align=\"center\">\n    \u003Cpicture>\n      \u003Cimg alt=\"Dashboard\" src=\".\u002Fassets\u002Fonboard.png\" width=\"80%\">\n    \u003C\u002Fpicture>\n\u003C\u002Fdiv>\n\n\n\n\n\u003Cdetails>\n\u003Csummary>💻 Self-host Acontext\u003C\u002Fsummary>\n\nWe have an `acontext-cli` to help you do a quick proof-of-concept. Download it first in your terminal:\n\n```bash\ncurl -fsSL https:\u002F\u002Finstall.acontext.io | sh\n```\n\nYou should have [docker](https:\u002F\u002Fwww.docker.com\u002Fget-started\u002F) installed and an OpenAI API Key to start an Acontext backend on your computer:\n\n```bash\nmkdir acontext_server && cd acontext_server\nacontext server up\n```\n\n> Make sure your LLM has the ability to [call tools](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Ffunction-calling). By default, Acontext will use `gpt-4.1`.\n\n`acontext server up` will create\u002Fuse `.env` and `config.yaml` for Acontext, and create a `db` folder to persist data.\n\n\n\nOnce it's done, you can access the following endpoints:\n\n- Acontext API Base URL: http:\u002F\u002Flocalhost:8029\u002Fapi\u002Fv1\n- Acontext Dashboard: http:\u002F\u002Flocalhost:3000\u002F\n\n\u003C\u002Fdetails>\n\n\n\n### Install SDKs\n\nWe're maintaining Python [![pypi](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Facontext.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Facontext\u002F) and Typescript [![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@acontext\u002Facontext.svg?logo=npm&logoColor=fff&style=flat&labelColor=2C2C2C&color=28CF8D)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@acontext\u002Facontext) SDKs. The snippets below are using Python.\n\n> Click the doc link to see TS SDK Quickstart.\n\n```bash\npip install acontext\n```\n\n\n### Initialize Client\n\n```python\nimport os\nfrom acontext import AcontextClient\n\n# For cloud:\nclient = AcontextClient(\n    api_key=os.getenv(\"ACONTEXT_API_KEY\"),\n)\n\n# For self-hosted:\nclient = AcontextClient(\n    base_url=\"http:\u002F\u002Flocalhost:8029\u002Fapi\u002Fv1\",\n    api_key=\"sk-ac-your-root-api-bearer-token\",\n)\n```\n\n\n\n### Skill Memory in Action\n\nCreate a learning space, attach a session, and let the agent learn — skills are written as Markdown files automatically.\n\n```python\nfrom acontext import AcontextClient\n\nclient = AcontextClient(api_key=\"sk-ac-...\")\n\n# Create a learning space and attach a session\nspace = client.learning_spaces.create()\nsession = client.sessions.create()\nclient.learning_spaces.learn(space.id, session_id=session.id)\n\n# Run your agent, store messages — when tasks complete, learning runs automatically\nclient.sessions.store_message(session.id, blob={\"role\": \"user\", \"content\": \"My name is Gus\"})\nclient.sessions.store_message(session.id, blob={\"role\": \"assistant\", \"content\": \"Hi Gus! How can I help you today?\"})\n# ... agent runs ...\n\n# List learned skills (Markdown files)\nclient.learning_spaces.wait_for_learning(space.id, session_id=session.id)\nskills = client.learning_spaces.list_skills(space.id)\n\n# Download all skill files to a local directory\nfor skill in skills:\n    client.skills.download(skill_id=skill.id, path=f\".\u002Fskills\u002F{skill.name}\")\n```\n\n> `wait_for_learning` is a blocking helper for demo purposes. In production, task extraction and learning run in the background automatically — your agent never waits.\n\n### More Features\n\n- **[Context Engineering](https:\u002F\u002Fdocs.acontext.io\u002Fengineering\u002Fediting)** — Compress context with summaries and edit strategies\n- **[Disk](https:\u002F\u002Fdocs.acontext.io\u002Fstore\u002Fdisk)** — Virtual, persistent filesystem for agents\n- **[Sandbox](https:\u002F\u002Fdocs.acontext.io\u002Fstore\u002Fsandbox)** — Isolated code execution with bash, Python, and [mountable skills](https:\u002F\u002Fdocs.acontext.io\u002Ftool\u002Fbash_tools#mounting-skills-in-sandbox)\n- **[Agent Tools](https:\u002F\u002Fdocs.acontext.io\u002Ftool\u002Fwhatis)** — Disk tools, sandbox tools, and skill tools for LLM function calling\n\n\n\n\n\n# 🧐 Use Acontext to Build Agents\n\nDownload end-to-end scripts with `acontext`:\n\n**Python**\n\n```bash\nacontext create my-proj --template-path \"python\u002Fopenai-basic\"\n```\n\nMore examples on Python:\n\n- `python\u002Fopenai-agent-basic`: openai agent sdk template\n- `python\u002Fopenai-agent-artifacts`: agent can edit and download artifacts\n- `python\u002Fclaude-agent-sdk`: claude agent sdk with `ClaudeAgentStorage`\n- `python\u002Fagno-basic`: agno framework template\n- `python\u002Fsmolagents-basic`: smolagents (huggingface) template\n- `python\u002Finteractive-agent-skill`: interactive sandbox with mountable agent skills\n\n**Typescript**\n\n```bash\nacontext create my-proj --template-path \"typescript\u002Fopenai-basic\"\n```\n\nMore examples on Typescript:\n- `typescript\u002Fvercel-ai-basic`: agent in @vercel\u002Fai-sdk\n- `typescript\u002Fclaude-agent-sdk`: claude agent sdk with `ClaudeAgentStorage`\n- `typescript\u002Finteractive-agent-skill`: interactive sandbox with mountable agent skills\n\n\n\n> [!NOTE]\n>\n> Check our example repo for more templates: [Acontext-Examples](https:\u002F\u002Fgithub.com\u002Fmemodb-io\u002FAcontext-Examples).\n>\n> We're cooking more full-stack Agent Applications! [Tell us what you want!](https:\u002F\u002Fdiscord.acontext.io)\n\n\n\n\n\n# 🔍 Documentation\n\nTo learn more about skill memory and what Acontext can do, visit [our docs](https:\u002F\u002Fdocs.acontext.io\u002F) or start with [What is Skill Memory?](https:\u002F\u002Fdocs.acontext.io\u002Flearn\u002Fquick)\n\n\n\n# ❤️ Stay Updated\n\nStar Acontext on GitHub to support us and receive instant notifications.\n\n![click_star](.\u002Fassets\u002Fstar_acontext.gif)\n\n\n\n# 🏗️ Architecture\n\n\u003Cdetails>\n\u003Csummary>click to open\u003C\u002Fsummary>\n\n```mermaid\ngraph TB\n    subgraph \"Client Layer\"\n        PY[\"pip install acontext\"]\n        TS[\"npm i @acontext\u002Facontext\"]\n    end\n    \n    subgraph \"Acontext Backend\"\n      subgraph \" \"\n          API[\"API\u003Cbr\u002F>localhost:8029\"]\n          CORE[\"Core\"]\n          API -->|FastAPI & MQ| CORE\n      end\n      \n      subgraph \" \"\n          Infrastructure[\"Infrastructures\"]\n          PG[\"PostgreSQL\"]\n          S3[\"S3\"]\n          REDIS[\"Redis\"]\n          MQ[\"RabbitMQ\"]\n      end\n    end\n    \n    subgraph \"Dashboard\"\n        UI[\"Web Dashboard\u003Cbr\u002F>localhost:3000\"]\n    end\n    \n    PY -->|RESTFUL API| API\n    TS -->|RESTFUL API| API\n    UI -->|RESTFUL API| API\n    API --> Infrastructure\n    CORE --> Infrastructure\n\n    Infrastructure --> PG\n    Infrastructure --> S3\n    Infrastructure --> REDIS\n    Infrastructure --> MQ\n    \n    \n    style PY fill:#3776ab,stroke:#fff,stroke-width:2px,color:#fff\n    style TS fill:#3178c6,stroke:#fff,stroke-width:2px,color:#fff\n    style API fill:#00add8,stroke:#fff,stroke-width:2px,color:#fff\n    style CORE fill:#ffd43b,stroke:#333,stroke-width:2px,color:#333\n    style UI fill:#000,stroke:#fff,stroke-width:2px,color:#fff\n    style PG fill:#336791,stroke:#fff,stroke-width:2px,color:#fff\n    style S3 fill:#ff9900,stroke:#fff,stroke-width:2px,color:#fff\n    style REDIS fill:#dc382d,stroke:#fff,stroke-width:2px,color:#fff\n    style MQ fill:#ff6600,stroke:#fff,stroke-width:2px,color:#fff\n```\n\n\u003C\u002Fdetails>\n\n# 🤝 Stay Together\n\nJoin the community for support and discussions:\n\n-   [Discuss with Builders on Acontext Discord](https:\u002F\u002Fdiscord.acontext.io) 👻 \n-  [Follow Acontext on X](https:\u002F\u002Fx.com\u002Facontext_io) 𝕏 \n\n\n\n# 🌟 Contributing\n\n- Check our [roadmap.md](.\u002FROADMAP.md) first.\n- Read [contributing.md](.\u002FCONTRIBUTING.md)\n\n\n\n# 🥇 Badges\n\n![Made with Acontext](.\u002Fassets\u002Fbadge-made-with-acontext.svg) ![Made with Acontext (dark)](.\u002Fassets\u002Fbadge-made-with-acontext-dark.svg)\n\n```md\n[![Made with Acontext](https:\u002F\u002Fassets.memodb.io\u002FAcontext\u002Fbadge-made-with-acontext.svg)](https:\u002F\u002Facontext.io)\n\n[![Made with Acontext](https:\u002F\u002Fassets.memodb.io\u002FAcontext\u002Fbadge-made-with-acontext-dark.svg)](https:\u002F\u002Facontext.io)\n```\n\n\n\n\n\n# 📑 LICENSE\n\nThis project is currently licensed under [Apache License 2.0](LICENSE).\n\n","Acontext 是一个为AI代理设计的记忆层，能够自动捕捉并存储代理运行中的学习成果作为可读、可编辑和可共享的技能文件。其核心技术特点在于通过将记忆以技能文件的形式构建，使得记忆内容透明且易于理解，支持跨代理、大语言模型及框架间的数据共享与复用。特别适用于需要代理从过往经验中学习，并在不同场景下重复利用有效策略的情况，同时也便于开发者调试与用户检查修正。项目采用JavaScript开发，遵循Apache License 2.0许可协议，旨在简化日益复杂的代理记忆管理问题。",2,"2026-06-11 03:43:14","high_star"]