关于 opencontext
OpenContext 是一项用于管理 Agent 项目记忆的技能,可供 Agent 加载、搜索和补充记忆。它帮助团队准备精简上下文包、查找既有决策并保存可复用结论,同时将 wiki、图谱、笔记库和一次性仓库打包任务转交给其他工具。
主要功能
- 01准备精简的项目记忆包
- 02搜索既有决策与约束
- 03保存可复用结论和交接信息
- 04指导 OpenContext 配置与集成
- 05分流 wiki、图谱、笔记库及仓库打包任务
适用场景
- 01为下一个 Agent 准备聚焦的项目简报
- 02查找先前记录的项目决策
- 03保存结果供后续 Agent 会话使用
- 04选择记忆工具或知识工具
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ akillness/ jeo-skills --skill opencontext安装后在 Claude Code 中输入/opencontext确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
SKILL.toonevals/evals.jsonreferences/intake-packets-and-route-outs.mdload-search-store-playbook.mdmemory-layer-decision-guide.mdsetup-and-integration.mdtrust-precedence-and-freshness.md详细介绍
OpenContext
当真正的问题是**“下一个 Agent 应加载、搜索或留下什么项目记忆包?”**时,请使用此技能。
这项工作的目的不是倾倒整个 oc CLI。
而是:
- 如实判断记忆需求的类型,
- 选择一个主要记忆包,
- 加载最低限度的有用上下文,
- 仅在需要时搜索过往决策,
- 在完成有意义的工作后保存可复用的结论,
- 立即将 wiki/图谱/保险库/仓库打包器相关请求转交出去。
处理不熟悉的记忆请求前,请阅读 references/intake-packets-and-route-outs.md。 如果首要问题是应该由哪个记忆层来处理该工作,请阅读 references/memory-layer-decision-guide.md。 如果任务是正在进行的项目记忆操作,请阅读 references/load-search-store-playbook.md。 如果多个记忆材料相互矛盾,或分支的新旧状态不明确,请阅读 references/trust-precedence-and-freshness.md。 如果实际任务是安装或接入 OpenContext,请阅读 references/setup-and-integration.md。
何时使用此技能
- 下一个 Agent 不应从零开始,需要先获取精简的项目记忆包
- 需要跨会话搜索仓库或项目决策、易错点、验收说明或约束
- 团队需要持久的跨 Agent 交接内容,指向正确的文档,而不是粘贴冗长的对话记录
- 工作需要清单或稳定链接,以说明当前应阅读哪些内容
- OpenContext 本身需要设置、仓库初始化或集成指导
- 用户正在 OpenContext、wiki、图谱层、保险库或仓库打包器工作流之间做选择
何时不使用此技能
- 主要任务是构建长期维护的 Markdown 知识库或研究 wiki → 使用
llm-wiki - 主要任务是梳理代码/文档/媒体结构、生成
GRAPH_REPORT.md或追踪关联关系 → 使用graphify - 主要任务是整理人工编写的笔记或保险库工作流 → 使用相应的笔记/保险库技能
- 主要任务是将仓库展平为单个提示词/摘要,供模型一次性使用上下文 → 使用负责该流程的仓库打包器工具或技能
- 主要任务是仓库自动化、脚本、钩子或周期性命令 → 使用
deployment-automation
指令
步骤 1:从手头已有的记忆包开始
使用 references/intake-packets-and-route-outs.md。
将请求归一化为以下一种记忆包类型:
memory-layer-choice-packet— 用户正在 OpenContext、wiki、图谱、保险库或仓库打包器层之间做选择load-context-packet— 下一个 Agent 在开始工作前需要最精简且真实的优先阅读上下文search-context-packet— 当前任务需要过往决策、约束、易错点或验收说明store-conclusions-packet— 有意义的工作已完成,应保存可复用的成果setup-integration-packet— OpenContext 本身需要安装/初始化/集成指导repo-packer-route-out-packet— 请求实际涉及一次性的“仓库转提示词”打包,而非持续的项目记忆
记录最低限度的有效信息:
Packet: load-context-packet
Project scope: active repo
Goal: prepare the next coding agent
Current pain: repeated background + cold starts
Artifact preference: manifest + stable links
规则:从用户手头已有的记忆包开始。不要强迫每个请求都经历一堂完整的记忆分类讲解。
步骤 2:选择一种主要模式
为本次运行准确选择一种主要模式:
memory-layer-choiceload-contextsearch-contextstore-conclusionssetup-integrationroute-out
可选:指定一种次要模式,但不要把加载/搜索/保存/设置合并成一个庞大的答案。
步骤 3:判断这项工作是否应该由 OpenContext 负责
使用这个快速归属测试:
- 由 OpenContext 负责:主要需求是为 Agent 提供活跃项目/仓库记忆,例如小型优先读取资料包、可搜索的决策、交接说明、清单和稳定链接
- 由
llm-wiki负责:主要需求是长期维护、经过综合整理的 Markdown 知识 - 由
graphify负责:主要需求是结构图、关系追踪或图谱产物 - 由 Vault/笔记工具负责:主要工作流是人工编写笔记并进行编辑管理
- 由仓库打包工具负责:实际需求是“立即将这个仓库整理成一份提示词/摘要”
如果 OpenContext 不是合适的负责人,就立即转交,不要把它说成通用记忆层。
步骤 4:先加载,再创建
如果 OpenContext 已存在,先了解情况:
oc folder ls --all
oc doc ls <folder>
oc search "<topic>" --mode keyword --format json
oc context manifest <folder> --limit 10
查找:
- 已经负责项目/主题记忆的文件夹
- 现有的决策日志、注意事项、验收说明或交接文档
- 下一个 Agent 应该优先读取的最小实用文件集
- 如果多份笔记内容重叠,哪一份来源最可信
在进一步加载或搜索之前,先快速检查一次可信度:
- 优先级: 优先采用规范的仓库文档和当前决策日志,而非过时摘要
- 来源: 说明笔记来自人工维护的文档、当前交接内容、先前的 Agent 摘要,还是推断出的经验规则
- 时效性: 检查分支、发布、迁移或事件状态是否可能导致笔记失效
默认规则:先更新现有记忆文档,再创建用途相同的平行文档。
步骤 5:执行加载 → 搜索 → 存储循环
使用 references/load-search-store-playbook.md。
A. load-context
当下一个 Agent 需要最精简、准确的启动资料包时使用。
典型输出:
- 一条清单命令或优先读取资料包
- 一个文件夹建议
- 一份简短的优先阅读文档列表
- 一条可信度说明,指出最可信的来源以及任何过时风险警告
需要回答的问题:
- 哪个文件夹是项目记忆的存放位置?
- 应该优先阅读哪 3–10 份文档?
- 已有哪些约束或注意事项?
- 文档有冲突时,目前应以哪个来源为准?
- 分支或发布状态是否会使已保存的笔记存在风险?
B. search-context
当当前工作若不搜索就只能依赖猜测时使用。
典型搜索目标:
- 先前的决策
- 验收标准
- 环境特有问题
- 架构约束
- 发布说明或事件总结
默认做法:先尝试关键词搜索和清单。除非语料库规模和故障模式足以证明其合理性,否则不要直接构建嵌入或索引。
C. store-conclusions
有实质性进展后使用,而不是每次完成微小编辑后都使用。
实用的文档形式:
decision-log.mdpitfalls.mdacceptance-criteria.mdrelease-notes.mdhandoff-YYYY-MM-DD.md
实用的已存储笔记通常包含:
- 改动内容
- 做出该选择的原因
- 接下来需要验证的内容
- 后续所需的最少证据链接/引文
- 产物冲突时应以哪个来源为准,以及给下次会话的任何分支/时效性警告
步骤 6:妥善处理设置和集成
使用 references/setup-and-integration.md。
值得说明的核心命令:
npm install -g @aicontextlab/cli
# or
npx @aicontextlab/cli <command>
cd your-project
oc init
oc folder ls --all
oc doc create <folder> <doc>.md -d "Description"
oc search "query" --mode keyword --format json
oc context manifest <folder> --limit 10
oc doc link <doc_path>
只有在关键词搜索和清单不足、且索引成本合理时,才升级到嵌入/索引。
步骤 7:如实转交
常见的转交对象:
llm-wiki— 叙事综合、实体/概念页面、索引/日志/架构规范graphify— 图谱产物、仓库/语料的结构映射、关系追踪- Vault/笔记技能 — 以人为本的笔记整理与编辑
- 仓库打包工具(Repomix / Gitingest / Code2Prompt 风格工作流) — 一次性将仓库打包为提示词上下文
deployment-automation— 定期脚本、仓库钩子和自动化,这些并非真正与记忆归属有关
如果用户说“把这个仓库打包成一个模型提示词”,那就不是 opencontext 的工作。
如果他们说“确保下一个 Agent 知道要加载什么、我们已经决定了什么,以及任务结束后要存储什么”,那就是。
步骤 8:返回一份简洁的项目记忆简报
首选格式:
# Project Memory Brief
## Packet
- Packet:
- Primary mode:
- Project horizon:
- Why OpenContext owns this (or route-out):
## Do now
1. ...
2. ...
3. ...
## Read / search / store targets
- Folder:
- Docs to read first:
- Search terms:
- Note to update or create:
## Trust check
- Highest-confidence source:
- Provenance:
- Freshness / branch warning:
## Route-outs
- ...
简短、确定的数据包胜过庞大的命令行百科全书。
输出格式
始终返回一份项目记忆简报、记忆层选择备忘录或 OpenContext 设置说明。
必备要素:
- 识别手头已有的数据包
- 选择一个主要模式
- 说明此任务是否由 OpenContext 负责,或是否应该转交
- 聚焦于最精简且真实的数据清单/搜索/存储数据包
- 存在重叠笔记时,指出可信度最高的来源
- 可能导致已保存记忆失效时,说明新鲜度/分支风险
- 仅将嵌入/索引构建作为升级处理的路径
- 更适合由其他记忆层或工具层处理时,指出下一位负责人
示例
示例 1:编码前加载项目记忆
输入
不同 Agent 会话之间的仓库背景信息总会丢失。我需要下一个编码 Agent 在动这个仓库之前先加载正确的文档。
输出草案
- 数据包:
load-context-packet - 主要模式:
load-context - 此任务由 OpenContext 负责,因为需求是为当前仓库记忆生成启动数据包
- 操作:确定文件夹,生成清单,列出优先阅读的 3–10 份文档,并在任务结束后留下交接说明
示例 2:选择记忆层
输入
这个产品项目应该使用 OpenContext、wiki、Obsidian 还是图谱工具?
输出草案
- 数据包:
memory-layer-choice-packet - 主要模式:
memory-layer-choice - 区分项目记忆、wiki、图谱与个人 Vault 各自的作用
- 仅将 OpenContext 用于当前项目/仓库记忆及交接数据包
示例 3:工作期间搜索旧决策
输入
修改这个发布流程之前,先搜索一下我们是否记录过部署限制或回滚说明。
输出草案
- 数据包:
search-context-packet - 主要模式:
search-context - 优先搜索现有决策日志/发布说明
- 在升级到任何索引处理之前,优先使用关键词搜索和清单
示例 4:真正的任务是一次性打包仓库
输入
把这个仓库转换成一条提示词,让我现在就能粘贴到模型里。
输出草案
- 数据包:
repo-packer-route-out-packet - 主要模式:
route-out - 转交给 Repomix / Gitingest / Code2Prompt 风格的工作流,而不是假装 OpenContext 是合适的工具
示例 5:发布分支上的记忆产物相互冲突
输入
README.md写了一种部署步骤,CLAUDE.md写了另一种,而且我们刚切换到发布分支。下一个 Agent 应该相信哪一份?
输出草案
- 数据包:
load-context-packet或search-context-packet - 指出可信度最高的来源,而不是将两份笔记混为一谈
- 说明来源依据,并指出分支/发布状态可能会导致较早的说明失效
- 存储一份简洁的交接说明,记录采用了哪个来源,以及哪些内容仍需核实
最佳实践
- 选择 OpenContext,是因为工作流需要活跃项目/仓库记忆,而不是因为出现了“记忆”一词。
- 优先更新现有文档,而不是创建重复内容。
- 先加载最少但有用的上下文;清单优于庞杂且不加筛选的读取。
- 当记忆文件内容重叠时,说明当前以哪个来源为准,以及原因。
- 将分支/发布/事件状态视为新鲜度检查,而不是背景信息。
- 在完成有意义的工作后存储决策,让下一次会话开始时少些歧义。
- 保持文档结构可预测(
decision-log、pitfalls、handoff、acceptance-criteria、release-notes)。 - 将嵌入/索引构建视为升级手段,而不是默认做法。
- 尽早将 Wiki、图谱、知识库和仓库打包器请求转交出去,而不是将它们硬塞进同一项技能。