mcpField
O
opencontext

opencontext

github.com/akillnessAgent 工作流53370 次安装4 天前更新
代码仓库

关于 opencontext

OpenContext 是一项用于管理 Agent 项目记忆的技能,可供 Agent 加载、搜索和补充记忆。它帮助团队准备精简上下文包、查找既有决策并保存可复用结论,同时将 wiki、图谱、笔记库和一次性仓库打包任务转交给其他工具。

主要功能

  1. 01准备精简的项目记忆包
  2. 02搜索既有决策与约束
  3. 03保存可复用结论和交接信息
  4. 04指导 OpenContext 配置与集成
  5. 05分流 wiki、图谱、笔记库及仓库打包任务

适用场景

  1. 01为下一个 Agent 准备聚焦的项目简报
  2. 02查找先前记录的项目决策
  3. 03保存结果供后续 Agent 会话使用
  4. 04选择记忆工具或知识工具

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/akillness/jeo-skills --skill opencontext

安装后在 Claude Code 中输入/opencontext确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

SKILL.toon
evals/
evals.json
references/
intake-packets-and-route-outs.md
load-search-store-playbook.md
memory-layer-decision-guide.md
setup-and-integration.md
trust-precedence-and-freshness.md

详细介绍

OpenContext

当真正的问题是**“下一个 Agent 应加载、搜索或留下什么项目记忆包?”**时,请使用此技能。

这项工作的目的不是倾倒整个 oc CLI。 而是:

  1. 如实判断记忆需求的类型,
  2. 选择一个主要记忆包,
  3. 加载最低限度的有用上下文,
  4. 仅在需要时搜索过往决策,
  5. 在完成有意义的工作后保存可复用的结论,
  6. 立即将 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-choice
  • load-context
  • search-context
  • store-conclusions
  • setup-integration
  • route-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.md
  • pitfalls.md
  • acceptance-criteria.md
  • release-notes.md
  • handoff-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
  • 指出可信度最高的来源,而不是将两份笔记混为一谈
  • 说明来源依据,并指出分支/发布状态可能会导致较早的说明失效
  • 存储一份简洁的交接说明,记录采用了哪个来源,以及哪些内容仍需核实

最佳实践

  1. 选择 OpenContext,是因为工作流需要活跃项目/仓库记忆,而不是因为出现了“记忆”一词。
  2. 优先更新现有文档,而不是创建重复内容。
  3. 先加载最少但有用的上下文;清单优于庞杂且不加筛选的读取。
  4. 当记忆文件内容重叠时,说明当前以哪个来源为准,以及原因。
  5. 将分支/发布/事件状态视为新鲜度检查,而不是背景信息。
  6. 在完成有意义的工作后存储决策,让下一次会话开始时少些歧义。
  7. 保持文档结构可预测(decision-log、pitfalls、handoff、acceptance-criteria、release-notes)。
  8. 将嵌入/索引构建视为升级手段,而不是默认做法。
  9. 尽早将 Wiki、图谱、知识库和仓库打包器请求转交出去,而不是将它们硬塞进同一项技能。

参考资料

评论

支持 Markdown