[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74240":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":10,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},74240,"Memento-Skills","Memento-Teams\u002FMemento-Skills","Memento-Teams","Memento-Skills: Let Agents Design Agents","https:\u002F\u002Farxiv.org\u002Fabs\u002F2603.18743",null,"Python",1468,171,12,5,0,71,72,103,213,19.71,false,"main",true,[],"2026-06-12 02:03:24","\u003Ch1 align=\"center\">Memento-Skills: Let Agents Design Agents\u003C\u002Fh1>\n\n\u003Ch3 align=\"center\">\u003Cb>Deploy an agent. Let it learn, rewrite, and evolve its own skills.\u003C\u002Fb>\u003C\u002Fh3>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVersion-0.3.0-blue?style=for-the-badge\" alt=\"Version 0.3.0\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.12%2B-3776AB?logo=python&logoColor=white\" alt=\"Python 3.12+\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSkills-10%20built--in-0f766e\" alt=\"10 built-in skills\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFramework-Fully%20Self--Developed-b91c1c\" alt=\"Fully self-developed framework\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSelf--Evolution-Reflection%20Loop-0284c7\" alt=\"Reflection loop\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FOpen--Source%20LLMs-Kimi%20%7C%20MiniMax%20%7C%20GLM-ca8a04\" alt=\"Open-source LLM ecosystems\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FInterface-CLI%20%2B%20GUI-111827\" alt=\"CLI and GUI\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FExecution-Local%20Sandbox-16a34a\" alt=\"Local sandbox\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FIM-Feishu%20%7C%20DingTalk%20%7C%20WeCom%20%7C%20WeChat-2563eb\" alt=\"IM platforms\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fmemento.run\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMemento-Homepage-ff6f00\" alt=\"Memento Homepage\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fskills.memento.run\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMemento--Skills-Project%20Site-0284c7\" alt=\"Memento-Skills Project Site\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fdiscord.com\u002Finvite\u002FztFS5YmB\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-Community-5865F2?logo=discord&logoColor=white\" alt=\"Discord\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#-whats-new-in-v030\">What's New\u003C\u002Fa> ·\n  \u003Ca href=\"#-learning-results\">Learning Results\u003C\u002Fa> ·\n  \u003Ca href=\"#-one-click-gui-install\">Install\u003C\u002Fa> ·\n  \u003Ca href=\"#-quick-start-developer\">Quick Start\u003C\u002Fa> ·\n  \u003Ca href=\"#what-is-memento-skills\">What Is This\u003C\u002Fa> ·\n  \u003Ca href=\"#what-makes-it-different\">Why It Matters\u003C\u002Fa> ·\n  \u003Ca href=\"#-memento-ecosystem\">Ecosystem\u003C\u002Fa> ·\n  \u003Ca href=\"#citation\">Citation\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#what-is-memento-skills\">\u003Cb>English\u003C\u002Fb>\u003C\u002Fa> ·\n  \u003Ca href=\"#chinese-summary\">\u003Cb>中文摘要\u003C\u002Fb>\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Ctable>\n\u003Ctr>\u003Ctd>\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Figures\u002Ffigure4.png\" width=\"100%\" alt=\"Three paradigms of LLM adaptation\">\n\u003C\u002Fp>\n\u003Cp align=\"center\">\u003Csub>The three paradigms of LLM adaptation. \u003Cb>Pre-training\u003C\u002Fb> and \u003Cb>fine-tuning\u003C\u002Fb> update the model parameters \u003Ci>θ\u003C\u002Fi> and require large data and compute budgets. \u003Cb>Deployment-time learning\u003C\u002Fb> (this work) keeps \u003Ci>θ\u003C\u002Fi> frozen and instead accumulates experience in an external skill memory \u003Ci>M\u003C\u002Fi>, enabling continual adaptation from live interactions at zero retraining cost.\u003C\u002Fsub>\u003C\u002Fp>\n\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Ctable>\n\u003Ctr>\u003Ctd>\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Figures\u002Ffigure2.jpg\" width=\"100%\" alt=\"Memento-Skills framework\">\n\u003C\u002Fp>\n\u003Cp align=\"center\">\u003Csub>The architecture of the Self-Evolving Agent based on Read-Write Reflective Learning. When a user submits a task, the agent uses a skill router to either retrieve an executable skill from its skill library or generate a new one from scratch, which it then executes to solve the problem. Following execution, the system reflects on the outcome to write back to the library, either by increasing the skill's utility score if the action was successful, or by optimising its underlying skill folders if it failed. This continuous read-write loop enables the agent to progressively expand and refine its capabilities through continual learning, entirely without updating the underlying LLM parameters.\u003C\u002Fsub>\u003C\u002Fp>\n\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n---\n\n## What's New in v0.3.0\n\n> **v0.3.0** focuses on cleaner separation of concerns. The runtime is now organised into a dedicated infrastructure layer, a unified tool registry, and a long-lived agent profile system, so that core agent logic, infrastructure, and tools can evolve independently.\n\n### Infrastructure Layer (`infra\u002F`)\n\nA new top-level `infra\u002F` package isolates infrastructure concerns from `core\u002F` so that agent logic and platform code can evolve independently.\n\n| Module | Description |\n| --- | --- |\n| `infra\u002Fmemory\u002F` | Long-term and session memory implementations, plus context-block builders. |\n| `infra\u002Fcontext\u002F` | Pluggable context providers and shared utilities used by the runtime. |\n| `infra\u002Fcompact\u002F` | Context compaction pipeline (strategies, storage, models, utilities) for long-conversation summarisation. |\n| `infra\u002Fservice.py` | `InfraService` entry that wires the above into the agent runtime. |\n| `infra\u002Fshared\u002F` | Shared compact \u002F extract helpers reused across providers. |\n\n### Unified Tool Registry (`tools\u002F`)\n\nTooling has been promoted to a top-level `tools\u002F` package with a single `ToolRegistry`. The previous `builtin\u002Ftools\u002F` layer has been retired in favour of this unified surface.\n\n| Module | Description |\n| --- | --- |\n| `tools\u002Fatomics\u002F` | Atomic tools (bash, file ops, grep, glob, list, web, python_repl, js_repl, MCP wrappers). |\n| `tools\u002Fmcp\u002F` | MCP client integration for loading external MCP servers as tools. |\n| `tools\u002Fregistry.py` | Single registration \u002F discovery surface (`get_registry`) consumed by the agent and skill executor. |\n\n### Agent Profile System\n\n`core\u002Fagent_profile\u002F` introduces persistent profiles that capture an agent's long-term identity, while a matching `daemon\u002Fagent_profile\u002F` package evolves those profiles in the background.\n\n| Module | Description |\n| --- | --- |\n| `core\u002Fagent_profile\u002Fmanager.py` | Read \u002F write API for soul and user profiles. |\n| `core\u002Fagent_profile\u002Fsoul_manager.py` | Maintains the agent's long-term identity, traits, and policies. |\n| `core\u002Fagent_profile\u002Fuser_manager.py` | Tracks per-user preferences and history. |\n| `daemon\u002Fagent_profile\u002Forchestrator.py` | Background orchestrator that triggers soul \u002F user evolution. |\n| `daemon\u002Fagent_profile\u002Fsoul_evolver.py` \u002F `user_evolver.py` | Periodically refines profiles from recent conversations and outcomes. |\n\n### Dream Daemon\n\nA new `daemon\u002Fdream\u002F` package runs background consolidation between sessions, similar to how reflection updates the skill library.\n\n| Module | Description |\n| --- | --- |\n| `daemon\u002Fdream\u002Fconsolidator.py` | Consolidates recent experiences into long-term memory and skill candidates. |\n| `daemon\u002Fdream\u002Floop.py` | Long-running loop that schedules consolidation passes. |\n\n### Shared Layer Expansion (`shared\u002F`)\n\nThe `shared\u002F` package has grown beyond chat utilities into a broader foundation for cross-cutting helpers.\n\n| Module | Description |\n| --- | --- |\n| `shared\u002Ffs\u002F` | Filesystem helpers shared by core, infra, and tools. |\n| `shared\u002Fhooks\u002F` | Lifecycle hooks for runtime extension points. |\n| `shared\u002Fschema\u002F` | Reusable schema definitions. |\n| `shared\u002Fsecurity\u002F` | Path \u002F argument security primitives. |\n| `shared\u002Ftools\u002F` | Common tool utilities and dispatcher helpers. |\n\n### Runtime & Developer Experience\n\n| Addition | Description |\n| --- | --- |\n| `utils\u002Fruntime_requirements\u002F` | Runtime dependency checker and auto-installer that resolves missing packages on first use. |\n| `utils\u002Fruntime_mode.py` | Runtime mode detection (CLI vs GUI vs daemon). |\n| `utils\u002Flog_config.py` | Centralised logging configuration. |\n| `utils\u002Fstrings.py` | Shared string helpers used across the codebase. |\n| `core\u002Fskill\u002Fdownloader\u002F` | Dedicated downloader pipeline split out from the skill market. |\n| `docs\u002FARCHITECTURE.md`, `docs\u002FAPI_SPEC.md` | Up-to-date architecture and API references. |\n| `docs\u002Fdependency_auto_install.md`, `docs\u002FREADME_DEPENDENCY.md` | Runtime dependency model and auto-install behaviour. |\n| `docs\u002Fdatabase_optimization.md`, `docs\u002Funi_response_design.md` | New design notes for storage and unified response handling. |\n\n### Refactors and Removals\n\nThe new layout supersedes several v0.2.0 modules. The v0.2.0 `tool_bridge\u002F` layer (`runner`, `bridge`, `context`, `args_processor`, `result_processor`) is replaced by the unified `tools\u002F` registry. `builtin\u002Ftools\u002F` (bash, file_ops, grep, python_repl, web) has been moved to `tools\u002Fatomics\u002F`. The monolithic `core\u002Fskill\u002Fexecution\u002Fexecutor.py` and `core\u002Fcontext\u002Fmanager.py`, together with `core\u002Fcontext\u002F{block,scratchpad,runtime_state,memory}.py`, have been split into `tools\u002F`, `infra\u002Fcontext\u002F`, and `infra\u002Fmemory\u002F`. IM startup no longer goes through `middleware\u002Fim\u002Fgateway_starter.py` and `middleware\u002Fim\u002Fgateway\u002Fagent_worker.py`; both are removed and replaced by a single `EndpointService` (`server\u002Fendpoint\u002Fim\u002F`) that manages all IM channels and the agent worker. `bootstrap.py` and `middleware\u002Fllm\u002Fllm_client.py` have been reworked to align with this new wiring.\n\n### Compatibility Notes\n\n- Modules previously imported from `builtin.tools.*` are now under `tools.*` (for example, `tools.atomics`, `tools.mcp`, `tools.registry`).\n- Modules previously under `core\u002Fshared\u002F*` (compact, memory, context wiring) now live under `infra\u002F*`. Update any direct imports accordingly.\n- `core\u002Fmanager\u002F` has been removed; conversation and session management now lives in `shared\u002Fchat\u002F`.\n- IM channels are now started via `EndpointService.start_channel(...)` (`server\u002Fendpoint\u002Fim\u002F`); direct use of `gateway_starter` \u002F `agent_worker` no longer applies.\n\n---\n\n## What's New in v0.2.0\n\n> **v0.2.0** is a major architectural upgrade. The core agent, skill system, configuration layer, and deployment surfaces have all been redesigned or significantly extended compared to v0.1.0.\n\n### Core Architecture\n\n| Change | Description |\n| --- | --- |\n| **Bounded Context redesign** | The agent and skill modules have been restructured using a Bounded Context architecture, improving modularity and long-term maintainability. |\n| **Execution phase refactoring** | The monolithic execution phase has been split into dedicated sub-modules (`runner`, `tool_handler`, `step_boundary`, `helpers`), enabling finer-grained control over multi-step reasoning. |\n| **New Finalize phase** | A dedicated `finalize` phase has been added to the 4-stage pipeline for structured result summarisation. |\n| **Protocol layer** | A new `core\u002Fprotocol\u002F` module defines communication protocols between system components. |\n| **Tool Bridge system** | A new `tool_bridge\u002F` layer (`runner`, `bridge`, `context`, `args_processor`, `result_processor`) provides cleaner tool invocation and result handling. |\n| **Execution policies** | New policy modules (`tool_gate`, `path_validator`, `pre_execute`, `recovery`) add fine-grained safety and execution control. |\n| **Error recovery and loop detection** | New `error_recovery.py` and `loop_detector.py` modules handle agent self-repair and infinite loop prevention during skill execution. |\n\n### Configuration System v2\n\n| Change | Description |\n| --- | --- |\n| **Three-layer isolation** | System Config (read-only defaults) \u002F User Config (persistent customisation) \u002F Runtime Config (merged at startup). |\n| **Automatic migration** | When the config template updates, the system auto-merges new fields while preserving user-modified values via `x-managed-by: user` markers. |\n| **Schema validation** | Pydantic-based config models with JSON Schema for IDE auto-completion and validation. |\n\n### Skill Ecosystem\n\n| Change | Description |\n| --- | --- |\n| **Skill Market** | A built-in marketplace for searching, downloading, and auto-installing skills from the cloud catalogue. |\n| **Skill Builder** | New `core\u002Fskill\u002Fbuilder\u002F` module for programmatic skill creation and generation. |\n| **Skill Loader** | New `core\u002Fskill\u002Floader\u002F` replaces the old importer system with a cleaner discovery and loading pipeline. |\n| **Enhanced retrieval** | Retrieval has been refactored into `local_db_recall`, `local_file_recall`, and `remote_recall`, with BM25 + semantic vector hybrid search for improved routing accuracy. |\n| **Pluggable storage** | Skill store now supports `db_storage`, `file_storage`, and `vector_storage` backends. |\n| **Content analyser** | New `content_analyzer.py` for inspecting and validating skill outputs. |\n\n### IM Platform Integration (New)\n\n| Platform | Mode | Notes |\n| --- | --- | --- |\n| **Feishu** | Bridge + Gateway | WebSocket long-connection with per-user persistent sessions |\n| **DingTalk** | Gateway | Webhook + event subscription |\n| **WeCom** | Gateway | Enterprise WeChat integration |\n| **WeChat** | iLink API | Personal WeChat binding via QR code scan |\n\nA unified IM Gateway (`middleware\u002Fim\u002Fgateway\u002F`) with `AgentWorker`, `ConnectionManager`, and platform-specific channels enables real-time message handling across all four platforms.\n\n### New Built-in Skill\n\n| Skill | Description |\n| --- | --- |\n| `im-platform` | IM platform operations — send messages, manage contacts, and handle events across Feishu, DingTalk, WeCom, and WeChat from within agent workflows. |\n\n### GUI Enhancements\n\n- **Workspace browser** — integrated file tree with drag-and-drop and in-place file operations.\n- **Session management** — save, load, rename, and delete conversation history.\n- **Slash commands** — `\u002Fskills`, `\u002Fcontext`, `\u002Fcompress`, `\u002Ffeishu start|stop|status`, and more.\n\n### Developer Experience\n\n| Addition | Description |\n| --- | --- |\n| **`bootstrap.py`** | Centralised application initialisation entry point. |\n| **`version.py`** | Single source of truth for version metadata. |\n| **Test suite** | 97 test files covering skills, config, context, tools, and security (`tests\u002F`). |\n| **Build scripts** | PyInstaller \u002F Nuitka packaging, database migrations, and deployment automation (`scripts\u002F`). |\n| **OTA auto-update** | Packaged builds can auto-detect and apply incremental updates. |\n| **`memento doctor`** | One-command environment diagnostics — Python version, dependencies, config validity, and API availability. |\n\n### Operations\n\n- **`howto.md`** — a standalone quick-start guide for local source-based deployment.\n- **`requirements-dev.txt`** — separate dev dependencies.\n- **`3rd\u002F`** — vendored third-party SDKs (WeChat iLink).\n- **`.github\u002F`** — CI\u002FCD workflows.\n\n---\n\n## Learning Results\n\nWe evaluate Memento-Skills on two challenging benchmarks:\n\n- [**HLE**](https:\u002F\u002Farxiv.org\u002Fabs\u002F2501.14249) (Humanity's Last Exam) — a benchmark of extremely difficult questions spanning diverse academic disciplines, designed to probe the upper limits of frontier AI systems on expert-level reasoning and knowledge.\n- [**GAIA**](https:\u002F\u002Farxiv.org\u002Fabs\u002F2311.12983) (General AI Assistants) — a benchmark for evaluating general-purpose AI assistants on real-world tasks that require multi-step reasoning, web browsing, file handling, and tool use.\n\n\u003Ctable>\n\u003Ctr>\u003Ctd>\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Figures\u002Ffigure1.png\" width=\"100%\" alt=\"Memento-Skills learning results on GAIA and HLE\">\n\u003C\u002Fp>\n\u003Cp align=\"center\">\u003Csub>Overview of self-evolving results of Memento-Skills on two benchmarks. (a, b) depict the progressive improvement in task performance across reflective learning rounds on HLE and GAIA. (c, d) depict the corresponding growth of the skill memory, while organising learned skills into semantically meaningful clusters.\u003C\u002Fsub>\u003C\u002Fp>\n\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\nPerformance improves over multiple learning rounds on HLE and GAIA, while the skill library grows from a small set of atomic skills into a richer set of learned skills. The point is not merely to add more tools. The point is to **learn better skills through task experience**.\n\n---\n\n> **Core question.** Memento-Skills is not centred on \"how to make an assistant run.\"\n> It is centred on **how to make an agent learn** from deployment experience, reflect on failure, and rewrite its own skill code and prompts.\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"33%\" valign=\"top\">\n\u003Cb>Learn from failure\u003C\u002Fb>\u003Cbr>\nFailures are treated as training signals, not just reasons to retry.\n\u003C\u002Ftd>\n\u003Ctd width=\"33%\" valign=\"top\">\n\u003Cb>Rewrite its own skills\u003C\u002Fb>\u003Cbr>\nThe system can optimise prompts, modify skill code, and create new skills when needed.\n\u003C\u002Ftd>\n\u003Ctd width=\"33%\" valign=\"top\">\n\u003Cb>Run in the real world\u003C\u002Fb>\u003Cbr>\nLocal execution, persistent state, CLI, GUI, and multi-platform IM integration make it deployable beyond a paper demo.\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## Key Features\n\n| Feature | Why it matters |\n| --- | --- |\n| **Fully self-developed agent framework** | Memento-Skills is not a thin wrapper over someone else's assistant runtime. It ships its own orchestration, skill routing, execution, reflection, storage, CLI, and GUI stack. |\n| **4-stage ReAct architecture** | Intent, Planning, Execution (multi-step ReAct loop), and Reflection — structured reasoning with a dedicated Finalize phase for result summarisation. |\n| **Designed for open-source LLM ecosystems** | The profile-based LLM layer is especially friendly to mainstream open-source model platforms such as **Kimi \u002F Moonshot**, **MiniMax**, **GLM \u002F Zhipu**, as well as other OpenAI-compatible endpoints. |\n| **Skill self-evolution loop** | The system is designed to learn from failure, revise weak skills, and grow a skill library that improves over time instead of staying static. |\n| **Skill Market** | Built-in cloud catalogue with search, download, and auto-install — share and reuse validated skills across deployments. |\n| **Multi-platform IM Gateway** | Unified real-time messaging across Feishu, DingTalk, WeCom, and WeChat with WebSocket long-connections and per-user persistent sessions. |\n| **Configuration v2** | Three-layer isolation (System \u002F User \u002F Runtime) with automatic migration, schema validation, and version management. |\n| **Local-first deployment surfaces** | CLI, desktop GUI, IM bridges, local sandbox execution, and persistent state make it practical for real-world deployment rather than one-off demos. |\n\n## What Is Memento-Skills?\n\nMemento-Skills is a **fully self-developed agent framework** organised around `skills` as first-class units of capability. Skills are retrievable, executable, persistent, and evolvable. Instead of treating tools as a flat pile of functions, Memento-Skills treats them as a growing library that can be routed, evaluated, repaired, and rewritten over time.\n\nWhat makes it interesting is not just whether the agent can call tools. It is what happens **after failure**. Memento-Skills tries to identify which skill failed, reflect on why it failed, improve or regenerate that skill, and write the improved capability back into the skill library.\n\n## What Makes It Different?\n\nMemento-Skills is built around a continual `Read -> Execute -> Reflect -> Write` loop.\n\n| Loop | What it means |\n| --- | --- |\n| **Read** | Retrieve candidate skills from the local library and remote catalogue instead of stuffing every skill into context. |\n| **Execute** | Run skills through tool calling and a local sandbox so the agent can act on files, scripts, webpages, and external systems. |\n| **Reflect** | When execution fails or quality drops, record state, update utility, and attribute the issue to concrete skills whenever possible. |\n| **Write** | Optimise weak skills, rewrite broken ones, and create new skills when no existing capability is good enough. |\n\nThis is the key difference from systems that simply keep accumulating more skills in the workspace. Memento-Skills cares about whether a large skill library can still be **retrieved correctly, repaired correctly, and improved continuously**.\n\n## Memento-Skills vs OpenClaw\n\nThe two systems share a lot of DNA, but they are not centred on the same question.\n\n- OpenClaw is more about getting an assistant to run in the real world.\n- Memento-Skills is more about getting an agent to learn from the real world.\n\n### Shared Foundation\n\n| Common Ground | Memento-Skills | OpenClaw |\n| --- | --- | --- |\n| Skills as capability units | Yes | Yes |\n| Deployable, engineerable system | Yes | Yes |\n| Tool use and local execution | Yes | Yes |\n| Persistent or stateful memory | Yes | Yes |\n\n### Key Differences\n\n| Dimension | Memento-Skills | OpenClaw |\n| --- | --- | --- |\n| **Product focus** | Focused on how an agent learns. It emphasises learning from deployment experience, reflecting on mistakes, and rewriting its own skill code and prompts. | Focused on how an assistant gets deployed and connected to the real world. |\n| **Learning and evolution** | Failure triggers a read-write reflection loop: locate the failing skill, revise it, and create a new skill when needed. | Capability growth is more commonly driven by external plugins, tools, and human-provided integrations. |\n| **Skill routing** | Treats retrieval and routing as core problems, especially when the skill library becomes large. | Better optimised for broad real-world integrations; context and hit-rate management depend more on the surrounding engineering setup. |\n| **Skill download** | Includes a cloud catalogue plus download flow, moving toward deduped and validated reusable skills. | More open-ended ecosystem growth, with quality and duplication control relying more on platform or community processes. |\n| **Skill creation** | Can create a new skill when nothing suitable exists locally or remotely, and can recreate low-utility skills instead of repeatedly using bad ones. | Missing skills are more often supplied by humans or installed explicitly. |\n| **Evaluation** | Emphasises measured learning behaviour on benchmarks such as GAIA and HLE. | Emphasises assistant usability and real-world system integration. |\n| **Use cases** | Hard multi-step reasoning plus daily productivity and personal life management. | Daily productivity, messaging, web tasks, devices, and real-world assistant workflows. |\n\nIn one sentence: **OpenClaw is about getting the assistant running; Memento-Skills is about getting the agent learning.**\n\n## Deployment Surfaces\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Figures\u002Ffigure3.png\" width=\"92%\" alt=\"Memento-Skills GUI\">\n\u003C\u002Fp>\n\n| Surface | Current support | Notes |\n| --- | --- | --- |\n| **CLI** | `memento agent` | Interactive mode or single-message mode (`-m \"...\"`) |\n| **Desktop GUI** | `memento-gui` | Session list, chat UI, workspace browser, slash commands |\n| **Feishu bridge** | `memento feishu` | WebSocket-based IM bridge with per-user persistent sessions |\n| **DingTalk gateway** | IM Gateway | Webhook + event subscription |\n| **WeCom gateway** | IM Gateway | Enterprise WeChat integration |\n| **WeChat** | iLink API | Personal WeChat binding via QR code scan |\n| **Skill verification** | `memento verify` | Download, static review, and execution validation |\n| **Local sandbox** | `uv` | Isolated skill execution, dependency install, and local tool invocation |\n\n## One Repo. One Learning Agent.\n\n```bash\npython -m venv .venv && source .venv\u002Fbin\u002Factivate && pip install -e . && memento doctor && memento agent\n```\n\n## One-Click GUI Install\n\nDownload the pre-built desktop app — no Python or terminal needed. Just unzip and run.\n\n| Platform | Download |\n| --- | --- |\n| **macOS** (Apple Silicon) | [memento-s-mac-arm64.zip](https:\u002F\u002Fdelta-bucket-prod-public.oss-cn-hangzhou.aliyuncs.com\u002Fapp_versions\u002Fmac\u002Farm64\u002F0.3.1\u002FMemento-S-0.3.1-arm64.dmg) |\n| **Windows** (x64) | [memento-s-win-x64.zip](https:\u002F\u002Fdelta-bucket-public.yangtzeailab.com\u002Fmemento-s\u002FMemento-S-win-x64-0.3.1.zip) |\n\n> After unzipping, open the app and fill in your LLM API key in the settings page. That's it — you're ready to go.\n\n## Quick Start (Developer)\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FMemento-Teams\u002FMemento-Skills.git\ncd Memento-Skills\npython -m venv .venv\nsource .venv\u002Fbin\u002Factivate\npip install -e .\n```\n\nOn first launch, `~\u002Fmemento_s\u002Fconfig.json` is created automatically. Fill in your model profile, then start the app:\n\n```bash\nmemento doctor    # Check environment, dependencies, and config validity\nmemento agent     # Start an interactive agent session in the terminal\nmemento-gui       # Launch the desktop GUI with chat interface\n```\n\n| Command | Description |\n| --- | --- |\n| `memento doctor` | Runs a diagnostic check on your environment — verifies Python version, installed dependencies, config file validity, and API key availability. Run this first to make sure everything is set up correctly. |\n| `memento agent` | Starts an interactive agent session in the terminal. The agent can receive tasks, route to skills, execute them in a local sandbox, and reflect on results. Add `-m \"...\"` for single-message mode. |\n| `memento-gui` | Launches the desktop GUI built with Flet, providing a visual chat interface with session management, workspace browser, slash commands, and real-time skill execution feedback. |\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Configuration system (v2)\u003C\u002Fb>\u003C\u002Fsummary>\n\nMemento-Skills uses a three-layer configuration architecture (introduced in v0.2.0):\n\n- **System Config** (`system_config.json`) — read-only defaults shipped with the codebase.\n- **User Config** (`~\u002Fmemento_s\u002Fconfig.json`) — persistent user customisation, read-write.\n- **Runtime Config** — merged at startup (System + User), used at runtime.\n\nWhen the config template updates across versions, the system automatically detects and merges new fields while preserving existing user values. Fields marked with `x-managed-by: user` are protected from auto-migration.\n\n```jsonc\n{\n  \"llm\": {\n    \"active_profile\": \"default\",\n    \"profiles\": {\n      \"default\": {\n        \"model\": \"openai\u002Fgpt-4o\",\n        \"api_key\": \"your-api-key\",\n        \"base_url\": \"https:\u002F\u002Fapi.openai.com\u002Fv1\",\n        \"max_tokens\": 8192,\n        \"temperature\": 0.7,\n        \"timeout\": 120\n      }\n    }\n  },\n  \"env\": {\n    \"TAVILY_API_KEY\": \"your-search-api-key\"\n  }\n}\n```\n\nThe `model` field uses the `provider\u002Fmodel` format, for example `anthropic\u002Fclaude-3.5-sonnet`, `openai\u002Fgpt-4o`, or `ollama\u002Fllama3`.\n`TAVILY_API_KEY` is only required for web search.\n\nThe same profile system is also convenient for mainstream open-source model ecosystems, including **Kimi \u002F Moonshot**, **MiniMax**, **GLM \u002F Zhipu**, and other OpenAI-compatible endpoints.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Common commands\u003C\u002Fb>\u003C\u002Fsummary>\n\n```bash\nmemento agent             # Interactive agent session\nmemento agent -m \"...\"    # Single-message mode\nmemento doctor            # Environment and config checks\nmemento verify            # Skill download \u002F audit \u002F execution validation\nmemento feishu            # Feishu IM bridge\nmemento wechat            # WeChat personal integration (iLink API)\nmemento im_status         # IM gateway status\nmemento-gui               # Desktop GUI\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Supported LLM providers\u003C\u002Fb>\u003C\u002Fsummary>\n\n| Provider | Model example | base_url |\n| --- | --- | --- |\n| Anthropic Claude | `anthropic\u002Fclaude-3.5-sonnet` | default |\n| OpenAI | `openai\u002Fgpt-4o` | default |\n| OpenRouter | `anthropic\u002Fclaude-3.5-sonnet` | `https:\u002F\u002Fopenrouter.ai\u002Fapi\u002Fv1` |\n| Ollama | `ollama\u002Fllama3` | `http:\u002F\u002Flocalhost:11434` |\n| Open-source LLM ecosystems | Kimi, MiniMax, GLM, and similar endpoints | configurable via profile + `base_url` |\n| Self-hosted (vLLM \u002F SGLang) | `openai\u002Fyour-model` | custom endpoint |\n\n\u003C\u002Fdetails>\n\n## Built-in Skills\n\nThe built-in skills are the starting point, not the end state. The goal is not to freeze the system at ten hand-written skills, but to maintain a skill library that can keep growing, keep being retrieved, and keep being repaired.\n\n| Skill | Description |\n| --- | --- |\n| `filesystem` | File read, write, search, and directory operations |\n| `web-search` | Tavily-based web search and page fetching |\n| `image-analysis` | Image understanding, OCR, and caption-like tasks |\n| `pdf` | PDF reading, form filling, merging, splitting, and OCR |\n| `docx` | Word document creation and editing |\n| `xlsx` | Spreadsheet processing |\n| `pptx` | PowerPoint creation and editing |\n| `skill-creator` | New skill creation, optimisation, and evaluation |\n| `uv-pip-install` | Python dependency installation via `uv` |\n| `im-platform` | IM platform integration — Feishu, DingTalk, WeCom, and WeChat **(new in v0.2.0)** |\n\n## Developer Notes\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Project structure\u003C\u002Fb>\u003C\u002Fsummary>\n\n```text\nMemento-Skills\u002F\n├── core\u002F                  # Core agent framework\n│   ├── memento_s\u002F         # Agent orchestrator (4-stage ReAct + Finalize)\n│   │   ├── phases\u002F        # Intent, Planning, Execution\u002F, Reflection, Finalize\n│   │   └── skill_dispatch\u002F # Skill dispatch and tool routing\n│   ├── skill\u002F             # Skill framework\n│   │   ├── loader\u002F        # Skill discovery and loading\n│   │   ├── retrieval\u002F     # BM25 + vector hybrid retrieval\n│   │   ├── execution\u002F     # Sandbox execution + policies\n│   │   ├── store\u002F         # Skill persistence backends\n│   │   ├── downloader\u002F    # Skill download pipeline (new in v0.3.0)\n│   │   ├── market.py      # Skill Market\n│   │   └── gateway.py     # Unified skill gateway\n│   ├── agent_profile\u002F     # Agent profile system (new in v0.3.0)\n│   ├── context\u002F           # Bounded Context management\n│   ├── protocol\u002F          # Communication protocols\n│   └── prompts\u002F           # Prompt templates\n├── infra\u002F                 # Infrastructure layer (new in v0.3.0)\n│   ├── memory\u002F            # Long-term and session memory\n│   ├── context\u002F           # Context providers\n│   ├── compact\u002F           # Context compaction pipeline\n│   ├── shared\u002F            # Compact \u002F extract helpers\n│   └── service.py         # InfraService entry\n├── tools\u002F                 # Unified tool registry (new in v0.3.0)\n│   ├── atomics\u002F           # Atomic tools (bash, file, grep, web, repl, mcp)\n│   ├── mcp\u002F               # MCP client integration\n│   └── registry.py        # ToolRegistry\n├── middleware\u002F             # Middleware layer\n│   ├── config\u002F            # Config v2 (three-layer isolation)\n│   ├── llm\u002F               # LLM client (litellm multi-provider)\n│   ├── storage\u002F           # SQLite + SQLAlchemy + vector storage\n│   ├── im\u002F                # IM platform middleware\n│   ├── sandbox\u002F           # uv sandbox\n│   └── utils\u002F             # Environment, path security\n├── im\u002F                    # IM platform integrations\n│   ├── gateway\u002F           # Gateway mode\n│   ├── feishu\u002F            # Feishu\n│   ├── dingtalk\u002F          # DingTalk\n│   └── wecom\u002F             # WeCom\n├── gui\u002F                   # Flet desktop GUI\n├── cli\u002F                   # Typer CLI\n├── builtin\u002Fskills\u002F        # Built-in skills (10)\n├── shared\u002F                # Shared layer (expanded in v0.3.0)\n│   ├── chat\u002F              # Session and conversation\n│   ├── fs\u002F, hooks\u002F, schema\u002F, security\u002F, tools\u002F  # Cross-cutting helpers\n├── utils\u002F                 # Shared helpers (runtime_requirements\u002F new in v0.3.0)\n├── daemon\u002F                # Background services\n│   ├── agent_profile\u002F     # Soul \u002F user evolver (new in v0.3.0)\n│   └── dream\u002F             # Dream consolidation loop (new in v0.3.0)\n├── tests\u002F                 # Test suite\n├── scripts\u002F               # Build and deployment scripts\n├── docs\u002F                  # Documentation\n├── 3rd\u002F                   # Third-party SDKs\n├── bootstrap.py           # Application initialisation\n├── version.py             # Version metadata\n├── Figures\u002F               # README figures\n└── pyproject.toml         # Project configuration\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Tech stack\u003C\u002Fb>\u003C\u002Fsummary>\n\n| Layer | Technology |\n| --- | --- |\n| Interface | Flet, Typer, Rich |\n| Agent framework | Self-developed 4-stage ReAct architecture |\n| LLM access | litellm (multi-provider) |\n| Retrieval | BM25 (jieba), sqlite-vec, cloud catalogue |\n| Execution | uv sandbox + subprocess isolation |\n| Configuration | v2 three-layer architecture + Pydantic + auto-migration |\n| Storage | SQLite, SQLAlchemy, aiosqlite, vector storage |\n| IM integration | WebSocket long-connection + Webhook (Feishu, DingTalk, WeCom, WeChat) |\n| Async runtime | asyncio + aiofiles + anyio |\n| Build and packaging | hatchling \u002F PyInstaller \u002F Nuitka |\n| Testing and verification | pytest, pytest-asyncio, `memento verify` |\n\n\u003C\u002Fdetails>\n\n## FAQ\n\n| Problem | Solution |\n| --- | --- |\n| Skills not found | Check the skill and workspace configuration in `~\u002Fmemento_s\u002Fconfig.json`. |\n| API timeout | Increase the active profile `timeout`. |\n| Import errors | Make sure the virtual environment is active and rerun `pip install -e .`. |\n| Web skill fails | Check whether `TAVILY_API_KEY` is configured and whether network access is available. |\n| IM gateway connection fails | Check the IM platform credentials in `config.json`. |\n| Config migration fails | Back up then manually merge `~\u002Fmemento_s\u002Fconfig.json` with the template. |\n\n## Memento Ecosystem\n\nMemento-Skills is part of the broader **Memento** project family. Visit the links below to learn more about the full ecosystem and connect with the community.\n\n| Resource | Link | Description |\n| --- | --- | --- |\n| **Memento Homepage** | [memento.run](https:\u002F\u002Fmemento.run\u002F) | The hub for all Memento series projects and research |\n| **Memento-Skills Project Site** | [skills.memento.run](https:\u002F\u002Fskills.memento.run\u002F) | Official project page for this work, including demos and documentation |\n| **Discord Community** | [Join Discord](https:\u002F\u002Fdiscord.com\u002Finvite\u002FztFS5YmB) | Discussion, Q&A, feature requests, and collaboration |\n\n## Citation\n\nIf you find Memento-Skills useful in your research, please cite:\n\n- **Title:** Memento-Skills: Let Agents Design Agents\n- **Authors:** Huichi Zhou, Siyuan Guo, Anjie Liu, Zhongwei Yu, Ziqin Gong, Bowen Zhao, Zhixun Chen, Menglong Zhang, Yihang Chen, Jinsong Li, Runyu Yang, Qiangbin Liu, Xinlei Yu, Jianmin Zhou, Na Wang, Chunyang Sun, Jun Wang\n- **Paper:** https:\u002F\u002Farxiv.org\u002Fabs\u002F2603.18743\n\n```bibtex\n@article{zhou2026memento,\n  title={Memento-Skills: Let Agents Design Agents},\n  author={Zhou, Huichi and Guo, Siyuan and Liu, Anjie and Yu, Zhongwei and Gong, Ziqin and Zhao, Bowen and Chen, Zhixun and Zhang, Menglong and Chen, Yihang and Li, Jinsong and others},\n  journal={arXiv preprint arXiv:2603.18743},\n  year={2026}\n}\n```\n\n## Chinese Summary\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>点击展开中文摘要\u003C\u002Fb>\u003C\u002Fsummary>\n\nMemento-Skills 的核心不是\"怎么让 assistant 跑起来\"，而是\"怎么让 agent 学会\"。它把能力组织成 `skills`，并围绕 `Read -> Execute -> Reflect -> Write` 的闭环，让 agent 在真实任务中发现失败、定位问题 skill、修改或重建 skill，再把结果写回 skill library。\n\n和 OpenClaw 相比，两者都具备 skills、工具调用、本地执行、持久化记忆和系统化部署能力，但关注点不同。OpenClaw 更偏向让 assistant 稳定接入真实世界；Memento-Skills 更偏向让 agent 从真实部署经验中持续学习和自我演化。\n\n**v0.3.0 主要更新：** 新增独立的 `infra\u002F` 基础设施层（memory \u002F context \u002F compact \u002F service），将记忆、上下文、压缩等基础能力从 `core\u002F` 中拆出，便于独立演进；新增统一的 `tools\u002F` 工具注册中心（atomics、MCP、registry），取代原有 `builtin\u002Ftools\u002F`；引入 Agent Profile 系统（`core\u002Fagent_profile\u002F` + `daemon\u002Fagent_profile\u002F`），通过后台 evolver 持续维护 agent 的长期身份与用户画像；新增 `daemon\u002Fdream\u002F` 后台巩固循环，在会话间进行经验整理；扩展 `shared\u002F` 共享层（fs \u002F hooks \u002F schema \u002F security \u002F tools）；新增 `utils\u002Fruntime_requirements\u002F` 运行时依赖自动检测安装。\n\n**v0.2.0 主要更新：** 核心架构采用 Bounded Context 重构，配置系统升级为三层隔离架构（System\u002FUser\u002FRuntime），新增 Skill Market 支持云端技能市场，新增多平台 IM Gateway（飞书、钉钉、企业微信、微信），执行引擎拆分为细粒度子模块并增加 Tool Bridge、执行策略、错误恢复和循环检测机制，GUI 新增 Workspace 浏览器和会话管理，新增完整测试套件和构建脚本。\n\n当前仓库已经具备比较完整的本地落地能力，包括 CLI、桌面 GUI、多平台 IM 桥接、本地 sandbox 和 skill 验证流程，因此它不仅适合 benchmark 式 agent，也适合继续往个人助理、长期运行和真实世界任务代理方向推进。\n\n\u003C\u002Fdetails>\n\n## Licence\n\nMIT\n","Memento-Skills 是一个让智能体能够自我设计和进化的项目。它基于 Python 3.12+ 开发，核心功能是通过反射循环机制让部署的智能体在运行过程中学习、重写并进化自己的技能，而无需重新训练模型参数。该项目自带 10 种内置技能，并支持多种开源大语言模型（如 Kimi、MiniMax 和 GLM）。用户可以通过命令行界面或图形界面与系统交互，且所有操作都在本地沙箱环境中执行，确保安全。此外，Memento-Skills 还集成了飞书、钉钉等即时通讯平台的支持，便于集成到不同的工作流中。适合需要高度定制化和持续学习能力的应用场景，例如自动化助手、个性化服务机器人等。",2,"2026-06-11 03:49:39","high_star"]