HKUDS/OpenSpace

GitHub: HKUDS/OpenSpace

面向 AI Agent 的质量优先技能中心平台,通过真实任务验证来管理、演化和共享 Agent 技能。

Stars: 6923 | Forks: 846

OpenSpace Logo ## OpenSpace:面向 AI Agent 的质量优先技能中心 | 📊 **真实任务验证** | 🌐 **层级化技能中心** | 🧬 **证据驱动演化** | 🛠️ **端到端质量记录** | [![Agents](https://img.shields.io/badge/Agents-Claude_Code%20%7C%20Codex%20%7C%20OpenClaw%20%7C%20...-99C9BF.svg)](https://modelcontextprotocol.io/) [![Python](https://img.shields.io/badge/Python-3.12+-FCE7D6.svg)](https://www.python.org/) [![License](https://img.shields.io/badge/License-MIT-C1E5F5.svg)](https://opensource.org/licenses/MIT/) [![Feishu](https://img.shields.io/badge/Feishu-Group-E9DBFC?style=flat&logo=larksuite&logoColor=white)](./COMMUNICATION.md) [![WeChat](https://img.shields.io/badge/WeChat-Group-C5EAB4?style=flat&logo=wechat&logoColor=white)](./COMMUNICATION.md) [![中文文档](https://img.shields.io/badge/文档-中文版-F5C6C6?style=flat)](./README_zh.md) [![v1 README](https://img.shields.io/badge/v1-README-EDEDED?style=flat)](https://github.com/HKUDS/OpenSpace/blob/v1/README.md) **适用于所有 AI Agent 的通用技能中心** — Claude Code、Codex、OpenClaw、Hermès、nanobot。 openspace --query your task
## 为什么选择 OpenSpace? 你的 agent 已经可以执行任务了。但它能记住哪些技能有效吗?它能停止重复同样的错误吗?你的团队能共享它所学到的东西吗?
One Skill Hub for every agent A private skill platform your org actually owns Agents that get better with every run

🌐 One Skill Hub for every agent

Whether you run OpenClaw, nanobot, Claude Code, Codex, or Cursor, OpenSpace gives all of them a shared place to browse, import, and reuse skills. Stop rebuilding the same experience from scratch in every tool.

🔒 A private skill platform your org actually owns

Deploy OpenSpace inside your own infrastructure. Your workflows stay internal, your data never leaves, and every skill your agents learn becomes a compounding asset — not a black box on someone else's server.

📈 Agents that get better with every run

OpenSpace tracks real task outcomes to evolve skills that work, retire ones that do not, and distill experience into leaner, sharper prompts — so your agent improves over time and spends fewer tokens getting there.

## 📢 新闻 - **2026-07-17** 🚀 **OpenSpace v2 发布**:v2 将 OpenSpace 转变为一个质量优先的技能中心,具备基于 package 的技能浏览、技能质量摘要、任务轨迹上传以及全新的仪表板 / TUI 体验。
早期新闻 - **2026-07-04** 📊 **浏览 v2 技能时现可查看技能质量摘要**:package 和技能详情视图会显示使用质量摘要;公开的谱系页面会对不可用的内容显示打码占位符。 - **2026-07-03** 🔎 **Package 技能搜索和任务轨迹上传现已成为 v2 的一等公民流程**:package 页面可直接搜索技能,任务轨迹也可以作为质量证据被验证、存储和幂等上传。 - **2026-06-25** 🌐 **v2 云端路径在公共浏览和私有技能访问方面变得更加稳定**:公共页面、私有技能 endpoint、前端 / 后端路由以及 TLS 访问现在会一起进行检查。 - **2026-06-19** 🌐 **无需登录即可阅读公开的 v2 页面**:匿名访问者可以浏览公开技能,现有用户获得了 agent 引导路径,搜索 / 召回服务已恢复。 - **2026-06-18** 🧭 **v2 云端体验变得更加完善**:package、group、profile 和 agent 页面被组合成一个更清晰的 package 浏览流程,并提供了更具结构化的导入路径。 - **2026-06-03** 🪟 **Windows 通信网关启动变得更可靠**:针对在 Windows 上运行消息适配器的用户,进程存活检查收到了后续修复。 - **2026-06-02** 🚀 **v2 版本引入了新的本地体验**:该分支添加了 v2 README、仪表板、TUI、runtime 服务、沙盒、内存、调度器、技能证据、演化、触发器及相关资产。 - **2026-05-27** 🪟 **通信网关 Windows 兼容性提升**:网关 runtime PID 检查在 Windows 上切换为 Windows API 处理,同时保留了 Unix 回退机制,修复了 Windows 上的网关启动失败问题。 - **2026-05-14** 🧭 **技能库、group 详情和谱系历史扩展**:用户获得了拥有的技能库页面、group 内的共享技能视图,并保留了非活跃关系的谱系历史。 - **2026-05-13** 📈 **Package 和技能详情页面变得更安全**:当无法访问时,私有数据会被隐藏,任务步骤记录使技能 / package 视图在质量分析方面更具实用性。 - **2026-05-13** ⏱️ **长时间的 shell 任务变得更加可靠**:timeout 现在会清理子进程树,任务后分析受到限制,技能搜索缓存写入变得更加安全。 - **2026-05-10** 📦 **V1 技能可以映射到 v2 身份记录中**:package 技能搜索遵循谱系可见性,并且可以直接拉取单个技能 bundle。 - **2026-05-09** 👥 **V2 group 共享已发布**:支持 group 范围内的技能共享,同时 v1 和 v2 的共享路径保持独立。 - **2026-05-01** 🏗️ **将旧版技能集合迁移到 v2 层级结构变得更加容易**:package 迁移和合成工具添加了确定性采样、更安全的 agent 循环和恢复检查。 - **2026-04-29** 📡 **搜索和 package 拉取开始生成质量记录**:v2 添加了基于遥测的搜索、package 拉取、技能使用会话和演化遥测,用于后续的质量摘要。 - **2026-04-22** 🛡️ **上传、共享和提升流程重试变得更安全**:重复和重放处理得到了加强,使得重复的请求行为可预测。 - **2026-04-20** 🔎 **V2 搜索获得了词法召回和语义重排**:package 和技能发现超越了精确文本匹配。 - **2026-04-18** 🛡️ **共享和提升为公开状态变得更加可预测**:group / 公开可见性更改获得了幂等行为和更安全的访问检查。 - **2026-04-18** ⚡ **预热后的本地技能搜索变得快得多**:`search_skills` 现在会重用 SkillRanker embedding 缓存,并在技能文本发生变化时刷新 embedding。 - **2026-04-17** 🔄 **上传和共享更改后,共享 package 索引变得更加可靠**:后台重建和恢复路径现在能保持 package 搜索数据同步。 - **2026-04-16** 🧬 **演化候选状态变得可追踪**:OpenSpace 可以记录候选处理状态,并且 macOS 窗口 / 屏幕截图功能不再仅仅因为 `atomacos` 不可用而被禁用。 - **2026-04-10** 🧩 **CAPTURED 技能的放置位置已得到修复**:CAPTURED 技能现在会写回正确的 host-agent 技能目录。 - **2026-04-09** 💬 **WhatsApp 和 Feishu 适配器发布**:OpenSpace 为外部消息工作流添加了会话管理、附件缓存、白名单以及隐私安全的云端上传兼容性。 - **2026-04-07** 🌐 OpenSpace MCP 现在支持独立的 **SSE** 和 **streamable HTTP** 启动,使得远程主机更容易通过 HTTP 而不是 stdio 进行连接,并绕过受限于 stdio 的 MCP server 超时瓶颈。有关设置的详细信息,请参阅 [主机集成指南](openspace/host_skills/README.md)。 - **2026-04-06** 🛠️ 修复了 grounding、MCP serving、技能演化和持久化方面的多个 runtime 问题,提高了长时间运行工作流中的执行稳定性和恢复能力。 - **2026-04-05** 🧭 清理了 LLM 凭据解析:集中化了 `.env` 加载,改进了主机 config 自动检测,并使原生的 provider 环境处理更加一致。 - **2026-04-03** 🚀 发布了 **v0.1.0** — 技能质量监控:现在每天从高质量技能中提取的结构模式来评估每个新提交。更快、更相关的云端搜索。从社区有机涌现的生产级垂直技能集群。前端现在支持中文 (zh) i18n。 - **2026-04-02** ⚡ 云端搜索升级,具有更高的相关性和更低的延迟。 - **2026-03-31** 🛡️ 安全强化:针对路径遍历强化了 zip 解压和 `import_skill`。CLI 现在支持 `OPENSPACE_MODEL` 和 `OPENSPACE_LLM_*` 环境变量;MiniMax 兼容性;workflow ID 冲突修复。 - **2026-03-29** 🔒 将 litellm 锁定在 1.82.7 以下,以避免 PYSEC-2026-2 供应链攻击。 - **2026-03-28** 🔧 幂等的技能注册 — `register_skill_dir` 现在为已注册的技能返回现有的 `SkillMeta`。更新了 OpenClaw 设置文档。 - **2026-03-27** 🪟 修复了 Windows 上的 stdio 死锁问题;通过词干式关键词匹配改进了 evolver 确认解析。 - **2026-03-26** 🌱 每次调用时动态重新扫描技能目录,轻量级的本地技能搜索,并简化了文档。 - **2026-03-25** 🎉 OpenSpace 现已开源!
## 当今 AI Agent 的问题 如今的 AI agent — OpenClaw、nanobot、Claude Code、Codex、Cursor 等等 — 都非常强大。但在表象之下,它们都有一个关键的盲点:它们都不知道哪些技能在现实世界中真正经得起考验。 这就好比一本不断变厚的食谱书 — 但从来没有人照着做过菜,所以没人知道哪些食谱真正好吃。 - **❌ 技能不断累积却没有质量信号** — agent 用得越多,堆积的技能就越多。但却无法将一个能可靠交付的技能与一个悄悄失败的技能区分开来。它们都放在同一个文件夹里,看起来一样可信。 - **❌ Agent 不断重复同样的错误** — 一旦某个技能被选中,agent 就会一直去用它 — 即使它已经开始失效了。由于没有反馈循环,agent 无法从坏的结果中学习。它只会一次又一次地尝试。 - **❌ 更新技能就像是在猜谜** — 改得太多,会破坏原本正常工作的功能。改得太少,agent 又会落后。没有原则性的方法去知道该改进什么、什么时候改进以及为什么改进。 - **❌ 共享技能意味着要求盲目信任** — 网上共享的技能可能看起来很完善。但它是从哪里来的?它被更改过吗?有没有人真正用它完成过实际任务?如今,没有简单的方法可以知道这些。 ## 🎯 什么是 OpenSpace? **🚀 OpenSpace 是一个质量优先的技能中心,在这里,真实任务教会 agent 哪些技能值得信任、复用、改进和分享。** https://github.com/user-attachments/assets/1c6b1b44-b207-491b-ad23-0f0591c17e0a OpenSpace 以技能的形式接入你的 agent。 - **v1** 帮助 agent 学习、演化并分享经验。 - **v2** 增加了缺失的质量层:每个技能都由真实的任务结果来评判,通过受控的演化进行改进,并在清晰的上下文中进行共享 — 而不仅仅是上传后就抛之脑后。
OpenSpace Skill Wiki package tree and skill search visualization
Skill Wiki turns shared skills into a searchable package tree with lineage and quality context.
OpenSpace v2 赋予 agent 四项实用能力: ### 📊 基于真实任务的技能质量 别再靠猜了。了解哪些技能真正有效。 - **✅ 任务结果质量** — 追踪每一次技能运行:是被选中、被应用、已完成,还是发生了回退?随着时间的推移,这些模式会揭示真相。 - **✅ 工具可靠性** — 当某个工具失败、变慢或变得有风险时,每一个依赖于它的技能都会被自动标记。 - **✅ 质量感知复用** — 一个能持续完成实际工作的技能,与一个总是达不到要求的技能会受到区别对待。你的 agent 不再盲目猜测。 - **✅ 清晰的证据** — 用户无需轻信技能的描述,而是可以检查实际运行中到底发生了什么。 **一个技能是靠在现实世界中的实际作用赢得其地位的 — 而不是靠在文件中看起来有多好看。** ### 🧬 受控的技能演化 Agent 需要改进。但没有控制的改进只会带来混乱。 - ✅ **证据驱动的更新** — 真实的任务证据决定了一个技能应该何时被 FIX、DERIVED 或 CAPTURED。 - ✅ **临时代替优先** — 新演化的技能在被真实的跨任务成功提升为受信任状态之前,将保持可用但临时的状态。 - ✅ **独立的信任机制** — 信任和可用性是分开的;一个技能可以是临时或受信任的,同时操作者可以独立地启用或禁用它。 - ✅ **经过验证的技能** — 在新版本替换旧版本之前,会对技能进行检查。 - ✅ **版本历史** — 用户可以查看技能随着时间推移发生了怎样的变化。 **Agent 应该适应现实世界,但每一次改变都需要控制。** ### 🌐 本地优先的技能中心 你的技能在本地运行。你的数据永远不需要离开本地。 - ✅ **本地优先工作流** — 你的 agent 可以在本地运行、搜索和演化技能。 - ✅ **Package 组织** — 云端技能按 package 分组,以便人们浏览和审查。 - ✅ **显式导入** — 云端技能在复用之前会被导入到本地技能文件夹中。 - ✅ **可审查的共享** —享的技能会携带上下文,如 package、可见性、历史和质量信号。 **云端用于发现技能。你的机器用于执行 agent。两者之间的界限从不模糊。** ### 🛠️ 带有质量记录的 Agent 框架 以一种能留下有用证据的方式运行 agent。 - ✅ **可恢复的会话** — 长任务可以保留其任务历史、工具结果和文件。 - ✅ **权限感知工具** — 工具调用会经过验证、权限控制和沙盒处理。 - ✅ **质量记录** — 执行过程会产生用于质量判断和演化的证据。 - ✅ **统一的 runtime 边界** — CLI、Python API、MCP、gateway 和仪表板共享同一个执行模型。 **OpenSpace 不仅运行你的任务 — 它还会把每次运行转化为证据,把每份证据转化为值得信任的技能。** ### 区别所在 **❌ 当前的 Agent** - 技能不断堆积,却没有信号表明哪些技能依然可靠。 - 错误不断重复,因为没有机制将糟糕的体验标记为需要避免的体验。 - 自我提升要么不存在,要么不受控制 — 无论哪种情况都会产生噪音。 - 共享的技能要求盲目信任,且没有与实际结果挂钩的质量保证。 **✅ OpenSpace v1** - 为 agent 提供了持久的技能记忆,可跨任务和会话保留。 - 从成功的工作流和失败的执行中学习 — 而不仅仅是顺利的路径。 - 通过结构化的 FIX、DERIVED 和 CAPTURED 更新来演化技能。 - 分享来之不易的经验,让一个 agent 的教训可以使另一个 agent 受益。 **✅ OpenSpace v2** - 保留了 v1 的学习循环,并让质量成为驱动一切的核心信号。 - 根据实际发生的情况来评判每个技能:被选中、被应用、已完成,还是发生了回退。 - 仅在证据需要时演化技能 — 并提供验证、版本历史和完全的控制。 - 按 package 组织云端技能以便于有意义的浏览,然后在进行任何复用之前将它们在本地导入。 - 在一个能捕获质量判断和技能演化都所需证据的框架中运行 agent。 ### 📊 Terminal-Bench 2.1:在评分中得以体现的自我演化 在相同的冻结 Hy3 backbone 下,随着其受信任技能库的演化,OpenSpace 从 65.2% 的 Cold run 提升到了 78.7% 的 Warm run。
OpenSpace and Hy3 performance on Terminal-Bench 2.1, including leaderboard standing, task-family scores, and capability profile
## 📋 目录 - [⚡ 快速开始](#-quick-start) - [🤖 路径 A:为你的 Agent 准备](#-path-a-for-your-agent) - [👤 路径 B:命令行](#-path-b-command-line) - [📊 本地仪表板](#-local-dashboard) - [🏗️ 框架](#framework) - [📊 技能质量层](#-skill-quality-layer) - [🧬 受控的技能演化](#-controlled-skill-evolution) - [🌐 本地优先的技能中心](#-local-first-skill-hub) - [🛠️ 带有质量记录的 Agent 框架](#️-agent-harness-with-quality-records) - [📖 代码结构](#-code-structure) - [🔗 相关项目](#-related-projects) ## ⚡ 快速开始 🌐 **只想随便看看?** 浏览社区技能、演化谱系,请访问 **[open-space.cloud](https://open-space.cloud)** — 无需安装。 ``` git clone https://github.com/HKUDS/OpenSpace.git && cd OpenSpace pip install -e . openspace-mcp --help # verify installation ``` **选择你的路径:** - **[路径 A](#-path-a-for-your-agent)** — 将 OpenSpace 接入你的 agent - **[路径 B](#-path-b-command-line)** — 直接从命令行使用 OpenSpace ### 🤖 路径 A:为你的 Agent 准备 适用于任何可以启动 MCP server 并读取技能 (`SKILL.md`) 的 host。OpenSpace 为 OpenClaw 和 nanobot 提供了 host 辅助工具,并且可以从 Claude Code、Codex、Cursor 或其他支持 MCP 的 agent 中手动接入。 **为你的 agent 准备** 打开你的编程 agent 并粘贴: ``` Install OpenSpace for this host agent. If an OpenSpace repo is already open, use its current repository root as OPENSPACE_WORKSPACE. Otherwise, clone it first: `git clone https://github.com/HKUDS/OpenSpace.git && cd OpenSpace` First read: - README.md -> Quick Start -> Path A: For Your Agent - openspace/host_skills/README.md -> exact setup for this host - openspace/.env.example only if model or cloud credentials are needed Then: 1. Verify a Python 3.12+ interpreter is available. If `openspace-mcp --help` is unavailable, install OpenSpace from this repo with that interpreter: `python -m pip install -e .` 2. Detect this host agent's MCP config file/format and local skill directory. Preserve existing config and unrelated MCP servers. 3. Configure an MCP server named `openspace`. Prefer stdio for local use: `command: openspace-mcp`. Use streamable HTTP only if this host cannot use stdio or needs a standalone/remote server. 4. Set `OPENSPACE_WORKSPACE` to the absolute repo root and `OPENSPACE_HOST_SKILL_DIRS` to the host agent's skill directory. 5. Copy `openspace/host_skills/delegate-task` and `openspace/host_skills/skill-discovery` into the host agent's skill directory. 6. If cloud access is required, use `openspace-cloud-auth bootstrap-agent-key`. Do not ask me to paste secrets into chat; stop if a required credential or email is missing. 7. Reload or restart the host agent if its MCP/skill system requires it. Do not report success until `openspace-mcp --help` works, the MCP client can see OpenSpace tools, a lightweight local skill search works, and long `execute_task` calls have a timeout of at least 600 seconds. In your final report, include the MCP config path, skill directory, chosen transport, and verification results. If any path, config format, Python version, credential, MCP transport, or skill directory is missing, stop and tell me exactly what is missing. ``` **设置步骤(手动或由 agent 辅助)** **① 将 OpenSpace 添加到你的 host agent 的 MCP config 中:** ``` { "mcpServers": { "openspace": { "command": "openspace-mcp", "toolTimeout": 600, "env": { "OPENSPACE_HOST_SKILL_DIRS": "/path/to/your/agent/skills", "OPENSPACE_WORKSPACE": "/path/to/OpenSpace", "OPENSPACE_CLOUD_MODE": "live", "OPENSPACE_CLOUD_API_KEY": "sk-xxx (optional, for cloud)" } } } } ``` **② 复制技能** 到你的 agent 的技能目录中: ``` cp -r OpenSpace/openspace/host_skills/delegate-task/ /path/to/your/agent/skills/ cp -r OpenSpace/openspace/host_skills/skill-discovery/ /path/to/your/agent/skills/ ``` 完成。这两个技能会教会你的 agent 何时以及如何使用 OpenSpace — 无需额外的提示。你的 agent 现在可以自我演化技能、执行复杂任务,并访问云端技能社区。你也可以添加自己的自定义技能;请参阅 [技能](#skills)。 📖 针对特定 agent 的 config(OpenClaw / nanobot)、所有环境变量、高级设置:[`openspace/host_skills/README.md`](openspace/host_skills/README.md) ### 👤 路径 B:命令行 直接从命令行使用 OpenSpace — 编码、搜索、工具使用等等 — 内置自我演化的技能和云端社区。 ``` # 交互式 command-line 模式 openspace # 执行任务 openspace --model "anthropic/claude-sonnet-4-5" --query "Create a monitoring dashboard for my Docker containers" ``` ### 技能 在 `.openspace/skills//` 下添加项目技能。每个技能都是一个包含 `SKILL.md` 的目录;可选的辅助文件可以放在其旁边: ``` .openspace/ └── skills/ ├── my-skill/ │ └── SKILL.md └── another-skill/ ├── SKILL.md └── helper.sh ```
发现、ID 和安全性 OpenSpace 会从 `OPENSPACE_HOST_SKILL_DIRS`、已配置的 `skills.skill_dirs`、项目根目录(如 `.openspace/skills`)、用户根目录(如 `~/.openspace/skills`),最后是 `openspace/skills` 中打包的 OpenSpace 技能里发现技能。 每个被发现的技能都有一个 `.skill_id` 伴随文件用于稳定追踪。新的项目或用户技能可以忽略它;OpenSpace 会在首次发现时创建一个。当你希望复制的技能保持为同一个逻辑技能时,请保留 `.skill_id`;当你要创建一个独立的技能时,请在首次发现之前将其删除。云端上传要求匹配的本地 SkillStore 记录必须是 `trusted`;对于临时或未知记录,公开和私有上传都会安全地失败并关闭。本地的信任状态不会被发送到云端,并且 `.skill_id` 会作为常规上传文件被跳过。 所有被发现的技能在加载之前都要通过 `check_skill_safety` 检查。具有危险模式(例如提示词注入或凭据泄露)的技能会被拦截并记录在日志中。
**云端 CLI** — 从命令行管理技能: ``` openspace-download-skill # download a skill from the cloud openspace-upload-skill --skill-dir /path/to/skill/dir # upload a trusted skill ``` ### 📊 本地仪表板 查看你的技能是如何演化的 — 浏览技能、追踪谱系、对比差异。 ``` # Terminal 1: 启动 backend API openspace-dashboard --port 7788 # Terminal 2: 启动 frontend dev server cd apps/dashboard npm install # only needed once npm run dev ``` 📖 **前端设置指南**:[`apps/dashboard/README.md`](apps/dashboard/README.md)
Skill Classes Cloud Skill Records
Skill Classes — Browse, Search & Sort Cloud — Browse & Discover Skill Records
Version Lineage Workflow Sessions
Version Lineage — Skill Evolution Graph Workflow Sessions — Execution History & Metrics
### Python API 当你想将 OpenSpace 嵌入到你自己的 runtime 中,而不是通过 MCP 或 CLI 启动它时,请使用 Python API。 ``` import asyncio from openspace import OpenSpace from openspace.runtime import ExecutionRequest async def main(): async with OpenSpace() as cs: result = await cs.execute( ExecutionRequest( prompt="Analyze GitHub trending repos and create a report", ) ) print(result.text) for skill in result.evolved_skills: print(f" Evolved: {skill['name']} ({skill['origin']})") asyncio.run(main()) ``` ## 框架 OpenSpace v2 具有四个相连的层。它们与上述问题相对应:判断技能质量、受控地改进技能、在上下文中共享技能,以及运行带有质量记录的 agent。 ### 📊 技能质量层 质量层回答了第一个问题:**agent 可以信任哪些技能?** - **技能结果** — 记录一个技能是被选中、被应用、完成了任务,还是发生了回退。 - **工具可靠性** — 追踪可能导致技能不可靠的工具故障和延迟。 - **以任务结果为证据** — 使用真实的任务行为,而不仅仅是技能描述。 **结果:** 技能文件夹变得更容易被信任,因为 OpenSpace 知道在真实运行中什么是有效的。 ### 🧬 受控的技能演化 演化层回答了第二个问题:**一个技能应该在什么时候改变?** - **FIX** — 修复损坏或过时的技能。 - **DERIVED** — 从现有技能创建一个更好或更专业的版本。 - **CAPTURED** — 仅当源轨迹显示了其执行过程以及对所声称的后置条件的独立验证时,才保存一个可重用的子工作流。 整体任务的成功既不是必需的,也不是充分的。 - **独立的捕获审查** — 在提交之前,一次有界的语义审查会验证所引用的观察结果是否支持确切的能力,并且编写的技能不包含更广泛或明确未经验证的程序。 - **临时 → 受信任** — 验证过的演化技能可以立即作为临时技能被重用;独立的成功使用会将其提升为受信任状态,而可归因的失败会将其降级。 - **独立的可用性** — `enabled` 控制重用,独立于双态的信任生命周期。 - **仅审计候选者** — 被阻止或不确定的提案仍然是可检查的候选者;重复出现永远不会自动重新检查或将它们提升为技能。 **结果:** agent 可以适应现实世界的变化,而不会将每个信号都变成嘈杂的自我修改。 ### 🌐 本地优先的技能中心 中心层回答了第三个问题:**技能应该如何被共享和审查?** - **本地技能文件夹** — Agent 在本地运行并重用技能。 - **Package 组织** — 云端技能按 package 分组,以便人们在浏览时能有上下文参考。 - **显式导入** — 云端技能在 agent 重用之前会先进入本地文件夹。 - **可审查的历史** — 共享的技能可以显示 package、可见性、谱系和质量信号。 **结果:** 技能作为可审查的知识被共享,而不是一堆平铺的文件。 ### 🛠️ 带有质量记录的 Agent 框架 框架层回答了第四个问题:**质量证据从何而来?** - **可恢复的会话** — 为长时间运行的工作保存任务历史、工具结果和文件变更。 - **权限感知工具** — 验证工具调用,并在具有权限和沙盒检查的情况下运行它们。 - **质量记录** — 将执行结果转化为用于技能质量和演化的证据。 - **共享的 runtime** — CLI、Python API、MCP、gateway 和仪表板使用相同的执行层。 **结果:** OpenSpace 能够判断并演化技能,因为 agent 的工作留下了清晰、可重用的记录。