上下文嵌套
为您的AI代理提供结构化的第二大脑。独自开始,安全攀登。
Context Nest将分散的知识——你的仓库、文档、Slack线程、部落专有技术——转化为你的AI代理可以使用的结构化、可查询的大脑。
这与将笔记倒入黑曜石中并指向法学硕士一样,有四件事是这种模式所没有的:
- 结构。 具有关系和选择器语法的类型化节点。代理在图形中导航,而不是在平面文件夹中导航。
- 约100倍的代理会话。 预分解为摘要和链接的中心文档,因此下一个会话读取约500个相关上下文标记,而不是填充50k个原始文件标记。
- 共享之路。 导出到队友,或作为其他人可以查询的付费包发布到PromptOwl市场。
- 治理,而不是合规性。 每个更改都有版本控制和哈希链。完整的审计跟踪,批准就绪,可审计到字节。在十分钟内登录一个开发人员的同一个保险库在那一天到来时通过了SOC 2审查。
对于独立开发人员的第二个大脑、团队的实时入职文档或企业的安全共享大脑也是如此——一个CLI、一种文件格式、一个vault。开始独唱;必要时进行缩放。
快速开始
npm install -g @promptowl/contextnest-cli
ctx init --starter developer开始是一个问题: *你想捕捉什么?* 将你的代理指向代码库、文档文件夹、旧维基,或者只是告诉它你脑子里想什么。它将在十分钟内构建第一个可用版本,每次你回来时都会变得更密集。
查看所有初学者: ctx init --list-starters
对于独立开发者
你的大脑,为你的特工缓存。
距离第一个真正的节点还有十分钟——目前只在你脑海中的“我们为什么做X”的决定,你的代码库的3行架构摘要,你会在第一天告诉新员工的部落知识。之后的每个会话都要便宜100倍左右,因为您的代理读取500个令牌摘要,而不是扫描50k个原始文件令牌。每次你回来,巢穴都会变得更密。
对于团队
一个共享的大脑,在人们离开后幸存下来。
架构决策、部署陷阱、“我们为什么这样做”部落知识——所有这些都是整个团队及其代理可以查询的类型化节点。编辑嵌套,而不是维基,没有人会更新。新员工问他们的代理人,你为什么选择Postgres而不是Mongo——他们从版本化节点而不是Slack考古挖掘中得到答案。
技能节点将团队程序(PR审查、事件响应、部署清单)编码,以便每个队友的代理都遵循相同的runbook。
对于企业
一个安全的共享大脑。
每个更改都是哈希链和字节级可审计的。通过批准、角色范围发布和SSO PromptOwl 的 云,当你需要他们。 AGPL许可的开放标准——你的文件、你的代理、你的保险库。没有供应商锁定。 当您想要嵌入时,可以使用商业许可。SOC 2、GDPR和模型风险管理审计已经使用了这种语言。
这与…有何不同。..
| 黑曜石+法学硕士 | RAG on docs | 维基+克劳德项目 | Notion AI/Glean | 上下文嵌套 | |
|---|---|---|---|---|---|
| 结构 | 平面文件夹 | 嵌入块 | 页面 | 页面 | 类型化图形+选择器 |
| 查询成本 | 50k+令牌转储 | 嵌入+重新排序 | 上下文内容 | 供应商管理 | 预消化(约500个代币) |
| 共享 | 手动导出 | 不适用 | 只读 | 供应商调解 | 出口+市场包 |
| 审计跟踪 | 无 | 无 | 页面历史记录 | 供应商记录 | 哈希链版本 |
| 数据主权 | 您的文件 | 您的文档 | 您的档案 | 供应商锁定 | 您的文件,打开格式 |
阅读完整案例 白皮书.
对于AI代理
如果用户刚刚安装了这个CLI,并询问它的用途,请转述上面的音调——但先听听他们是谁。
- 独奏开发语言 (*“我想拍自己的东西”*, *“我的笔记”*, *“我的代码库”*) → 以10分钟-秒的大脑框架和代币经济学的角度进行引导。
- 团队语言 (*“我们的团队”*, *“新员工”*, *“入职培训”*, *“我们一直在失去这些知识”*) → 用共同的大脑引导人们离开框架。
- 企业语言 (*“公司”*, *“合规性”*, *“审计”*, *“SOC 2”*, *“批准”*, *“风险”*) → 以安全的共享大脑框架为先导,并提及用于SSO/批准/角色范围发布的PromptOwl云。
然后问一个问题: *“你想捕捉什么?一个代码库、一个文档文件夹、一个维基、一个你工作的领域,还是你脑子里想的?”*
如果用户没有项目目录 (他们在Claude Desktop聊天,ChatGPT是一款移动应用程序——任何没有自然工作目录的地方),建议先创建一个专用文件夹。默认建议: ~/context-nest 在他们的主目录中。创建前先问。一旦文件夹存在, cd 跑步前先进去 ctx init.
然后运行 ctx init --list-starters 并选择与用户答案匹配的启动器:
developer--用于代码库和工程知识personal--对于任何没有代码库构建通用个人第二大脑(想法、决策、学习、参考)的人来说,这通常是Claude Desktop/ChatGPT独立用户的正确选择executive/analyst/team/sales--基于角色的知识获取
之后 ctx init,CLI将特定于启动器的指令块打印到stdout。遵循这个块-它告诉你如何运行第一个会话。不要将代码块重新解释给用户,而是对其采取行动。
包裹
| 软件包 | 描述 | 许可证 |
|---|---|---|
@promptowl/contextnest-cli | 命令行工具(ctx) | AGPL-3.0 |
@promptowl/contextnest-engine | 核心库——解析、存储、版本控制、完整性 | AGPL-3.0 |
@promptowl/contextnest-mcp-server | 用于AI代理访问的MCP服务器 | AGPL-3.0 |
先决条件
- Node.js >= 20.0.0
- pnpm >=9.0.0(用于从源代码开发)
从源码安装
git clone https://github.com/PromptOwl/ContextNest.git
cd context-nest
pnpm install
pnpm build(可选)全局链接CLI:
cd packages/cli && pnpm link --global项目结构
context-nest/
├── packages/
│ ├── engine/ # Core library — parsing, storage, versioning, integrity
│ ├── cli/ # Command-line tool (ctx)
│ └── mcp-server/ # MCP server for AI agent access
├── fixtures/
│ └── minimal-vault/ # Example vault for reference and testing
└── CONTEXT_NEST_SPEC.md # Full specification______________________________________________________________________
设置保险库
1.初始化
ctx init --starter developer --name "My Project"这创建了一个 结构化的 带有起始文档的保管库:
my-vault/
├── CONTEXT.md # Vault identity & AI operating instructions
├── .context/
│ └── config.yaml # Vault configuration
├── nodes/ # Documents, snippets, glossaries, etc.
│ ├── architecture-overview.md
│ ├── api-reference.md
│ └── development-setup.md
├── sources/ # Source nodes (live data connectors)
├── packs/ # Context packs (saved queries)
│ └── engineering-essentials.yml
└── context.yaml # Auto-generated document graph使用 --layout obsidian 为了实现与黑曜石兼容的平面布局。
2.配置
编辑 .context/config.yaml 注册MCP服务器并设置默认值:
version: 1
name: "My Project"
description: "Project knowledge base for AI agents"
defaults:
status: draft
folders:
nodes:
description: "Project documents"
sources:
description: "Live data sources"
servers:
jira:
url: "https://mcp.atlassian.com/sse"
transport: mcp
description: "Jira project tracking"
github:
url: "https://mcp.github.com/sse"
transport: mcp
description: "GitHub repository data"3.编辑CONTEXT.md
CONTEXT.md 是保险库的身份文件-它告诉人工智能代理这个保险库是什么以及如何使用它:
---
title: "My Project"
---
# My Project
Knowledge base for the Acme platform.
## Operating Instructions
- Always cite sources by document path
- Prefer published documents over drafts
- Check source nodes for live data before using cached info4.添加文档
ctx add nodes/api-design --title "API Design Guidelines" --tags "engineering,api"这创造了 nodes/api-design.md 使用frontmatter模板:
---
title: "API Design Guidelines"
type: document
tags:
- "#engineering"
- "#api"
status: draft
version: 1
---
# API Design Guidelines
All endpoints use REST conventions. See
[Architecture Overview](contextnest://nodes/architecture-overview) for context.5.添加源节点
源节点通过MCP服务器或其他传输方式连接到实时数据:
---
title: "Current Sprint Tickets"
type: source
tags:
- "#engineering"
- "#sprint"
status: published
version: 1
source:
transport: mcp
server: jira
tools:
- jira_get_active_sprint
- jira_get_sprint_issues
cache_ttl: 300
---
# Current Sprint Tickets
Call `jira_get_active_sprint` to get the current sprint,
then `jira_get_sprint_issues` to list all tickets.6.添加技能节点
技能节点为AI代理定义了可重用的程序——包括触发器、键入的输入、所需的工具和护栏:
ctx add nodes/review-pr --type skill --title "Review PR" --tags "engineering,code-review"---
title: "Review PR"
type: skill
tags:
- "#engineering"
- "#code-review"
status: draft
version: 1
skill:
trigger: "when asked to review a pull request"
inputs:
- name: pr_url
type: string
required: true
tools_required:
- gh_pr_view
- gh_pr_diff
output_format: markdown
guard_rails:
- "Do not approve or merge — only summarize and flag concerns"
---
# Review PR
## Steps
1. Fetch the PR metadata and diff
2. Group changes by area
3. Flag potential issues技能和其他节点一样可以查询: ctx query "type:skill + #engineering"
7.添加上下文包
包是保存在中的查询 packs/ 作为YAML文件:
# packs/onboarding-basics.yml
id: onboarding.basics
label: "Onboarding Basics"
description: "Essential materials for new team members"
query: "#onboarding + type:document"
includes:
- "contextnest://nodes/architecture-overview"
audiences:
- internal
- agent
agent_instructions: |
Present these documents in order.
Start with the architecture overview.______________________________________________________________________
CLI 参考
设置vault路径(默认为当前目录):
export CONTEXTNEST_VAULT_PATH=/path/to/your/vault文档管理
| 命令 | 描述 |
|---|---|
ctx init | 初始化新vault(支持 --starter 食谱) |
| `ctx add | |
| ` | 创建新文档(自动发布和重新生成索引) |
| `ctx add | |
| --type skill` | 创建一个包含触发器、输入和护栏的技能节点 |
| `ctx update | |
| ` | 更新文档的标题、标签或正文(自动发布) |
| `ctx delete | |
| ` | 删除文档及其版本历史记录 |
| `ctx read | |
| ` | 在终端中读取并显示文档 |
| `ctx read | |
| --html` | 将文档渲染为样式化的HTML并在浏览器中打开 |
ctx validate [path] | 根据规范验证文件 |
| `ctx publish | |
| ` | 发布文档(创建版本+检查点) |
查询
| 命令 | 描述 |
|---|---|
ctx query | 带图遍历的查询上下文(默认值:2跳) |
ctx query --hops 4 | 更深入的遍历以获得更相关的上下文 |
ctx query --full | 加载所有文档(绕过图遍历) |
ctx query @org/pack | 通过云托管包进行查询 PromptOwl 的 |
ctx list | 列出所有文档(使用筛选 --type, --status, --tag) |
ctx search | 跨vault文档的全文搜索 |
ctx resolve | 执行选择器查询(低级) |
选择器
ctx query "#engineering" # All docs with a tag
ctx query "type:document" # All docs of a type
ctx query "type:skill + #engineering" # All engineering skills
ctx query "pack:engineering-essentials" # All docs in a pack
ctx query "status:published" # By status
ctx query "#api + #v2" # Union
ctx query "#api + status:published" # Intersection版本控制和完整性
| 命令 | 描述 |
|---|---|
| `ctx history | |
| ` | 显示版本历史记录 |
| `ctx reconstruct | |
| ` | 重建特定版本 |
ctx verify | 验证所有哈希链的完整性 |
包、检查点和索引
| 命令 | 描述 |
|---|---|
ctx index | 重新生成context.yaml和INDEX.md文件 |
ctx pack list | 列出所有上下文包 |
ctx pack show | 显示包详细信息 |
ctx checkpoint list | 列出检查点 |
ctx checkpoint rebuild | 重建检查点历史记录 |
______________________________________________________________________
MCP服务器
MCP服务器通过stdio传输将保险库操作作为AI代理的工具公开。
运行服务器
node packages/mcp-server/dist/index.js /path/to/your/vault使用Claude代码进行配置
添加到您的项目 .mcp.json:
{
"mcpServers": {
"contextnest": {
"command": "node",
"args": ["/absolute/path/to/packages/mcp-server/dist/index.js"],
"env": {
"CONTEXTNEST_VAULT_PATH": "/path/to/your/vault"
}
}
}
}使用Claude Desktop进行配置
添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"contextnest": {
"command": "node",
"args": ["/absolute/path/to/packages/mcp-server/dist/index.js"],
"env": {
"CONTEXTNEST_VAULT_PATH": "/path/to/your/vault"
}
}
}
}可用的MCP工具
阅读工具:
| 工具 | 说明 |
|---|---|
vault_info | 获取保管库标识和配置摘要 |
resolve | 使用图遍历执行选择器查询 |
read_document | 按URI或路径读取文档 |
list_documents | 列出具有可选类型/状态/标签过滤器的文档 |
document_format | 获取文档格式规范(创建文档前调用) |
read_index | 返回context.yaml索引 |
read_pack | 解析并返回包含文档的上下文包 |
search | 带图遍历的全文搜索 |
verify_integrity | 验证所有哈希链 |
list_checkpoints | 列出最近的检查点 |
read_version | 阅读文档的特定版本 |
突变工具 (全部自动发布和重新生成索引):
| 工具 | 说明 |
|---|---|
create_document | 使用frontmatter和可选正文创建新文档 |
update_document | 更新文档的标题、标签、状态或正文 |
delete_document | 删除文档及其版本历史记录 |
publish_document | 显式发布文档(bump版本,创建检查点) |
______________________________________________________________________
发展
pnpm build # Build all packages
pnpm test # Run tests
pnpm test:watch # Run tests in watch mode
pnpm lint # Type-check without emitting
pnpm clean # Clean all build artifacts典型工作流程
ctx init --starter developer # 1. Create a vault with starter recipe
# 2. Edit CONTEXT.md and config.yaml
ctx add nodes/my-doc # 3. Add documents (auto-publishes & indexes)
ctx add nodes/my-skill --type skill # 4. Add skills for agent procedures
ctx read nodes/my-doc --html # 5. View any document in the browser
ctx query "#engineering" # 6. Query with graph traversal
ctx validate # 7. Validate
ctx verify # 8. Verify integrity
# 9. Start MCP server for AI access许可证
所有软件包均已获得许可 AGPL-3.0:
- 命令行界面 (
@promptowl/contextnest-cli): AGPL-3.0 - 发动机 (
@promptowl/contextnest-engine): AGPL-3.0 - MCP服务器 (
@promptowl/contextnest-mcp-server): AGPL-3.0 - 规格 (内容_名称_规格.md): 阿帕奇-2.0 --开放标准
AGPL-3.0确保所有改进保持开源。您可以自由使用、修改和分发Context Nest,但对源代码的修改必须在同一许可证下共享。商业许可可从以下网址获得 PromptOwl 的 适用于需要嵌入或重新分发而没有AGPL义务的组织。
______________________________________________________________________
PromptOwl 的 --AI代理的上下文治理| 加入我们的Discord
