/LEH-jee/开放规范与工具

让你的上下文
变得可读。

Leji 为散落在团队聊天和各类工具指令中的意图,提供一个归处:由团队拥有并负责评审的共享上下文层。Leji 标准化的是形态与治理,而不是内容。人和智能体由此读取同一个来源,校验工具让漂移变得可见。

AI 智能体辅助翻译。如有出入,以英文页面为准。如果你发现文本有任何问题,欢迎提交议题或发起拉取请求

$ leji adopt --yes --wire-adapters
Wrote 16 files (context root: docs/):
   .leji/work/onboarding-brief.md   AGENTS.md   docs/agents/core.md   …

$ leji validate
ok (0 errors, 0 warnings)

$ leji conformance
ok (0 errors, 0 warnings; claimedLevel: core, verifiedLevel: core, processAttested: 4)
npm install -g @leji-org/leji

自由且开源 · Apache-2.0 · CC-BY-4.0

是接入,不是迁移

从你手上这个仓库开始。

CLI 会在你已有的代码树之上生成一个上下文层的脚手架。什么都不会搬动,而入口文件只有在你用 --wire-adapters 明确要求时才会改动。

  1. 首先

    在现有代码树上生成脚手架

    adopt会复用现有文档根目录、创建各类别索引文件,并将智能体入口文件中的现有内容复制到上下文层。已有文件一律不会移动,而且在你用--wire-adapters 提出要求之前,没有任何入口文件会被改写。

  2. 然后

    你的智能体提出映射方案

    入门简报会引导智能体读取仓库,并提出文档分类与映射方案。你可以像评审其他变更一样评审这份提议。

  3. 此后持续

    从这里开始受治理

    变更会经过仓库自己的评审关卡。CI 校验负责发现漂移,复核期限则标记已经过时的上下文。

人来阅读,智能体来取用

一个来源,两类受众。

一份归属于代码仓库的记录,承载团队的思考方式:领域语言、约束、决策、约定和智能体护栏。所有内容来自同一个来源,任何改动都经过同一道评审关卡。

共享上下文层经评审才改动

给人

团队中的每个人,都可以读取智能体使用的同一个上下文层。leji view 会在浏览器中打开这个共享上下文层,以方便人阅读的形式呈现。

给智能体

智能体从引导配置进入,那是唯一说明“动手之前该加载什么”的文件;入口文件(AGENTS.mdCLAUDE.md)只重定向到那里,而不是各自留一份副本。MCP 服务器把规范与各份 schema 交到它们手上,并让它们原生地校验它、为一致性打分

一致性

声明一个级别,再检查它。

四个逐级累加的级别,衡量已经具备哪些能力,而不是由团队自评成熟度。多数团队达到 governed 就停下。CLI 检查机器能检查的部分;其余由你的团队自己背书。

  1. core团队共享的上下文清单、引导配置、真实内容、第一份决策,以及一位具名负责人。
  2. indexed对工具可读一份生成的索引,以及一份机器可读的变更日志。
  3. governed经过评审,并检查漂移拉取请求评审、智能体配置、CI,以及被检查的复核期限。
  4. federated组织级的实践在其他仓库中作为固定版本挂载存在,并有过期固定版本的报告。联邦是怎么运作的。

它为什么这样设计

持久的意图,在圆环中共享,由机制来检查。

I.

意图重于指令

持久的意图属于一个经过评审的上下文层,人和智能体都从中推导行动。厂商入口文件重定向到那里,因此一个AI 原生团队的上下文不会因工具更迭而失效。意图为什么更持久。

II.

是圆环,不是层级

人对人、人对 AI、人对 AI 再对人,这三种工作流都围绕同一个共享上下文层,地位同等。所有人都可以读取,任何参与者都可以提议,再由人通过拉取请求批准。 圆环为什么奏效。

III.

机制重于善意

现实不断变化,共享上下文也会逐渐失效。代码评审、自动化漂移检查和复核期限,将维护落实为机制;过期的上下文绝不会被悄悄当作当前有效。 机制为什么重要。

机器入口

一个清单文件

你既有的 docs/ 树通过映射就能符合规范,不必重命名。仓库根目录下的一份 leji.json 声明上下文根目录、引导配置、类别映射,以及一致性声明。

最干净的上下文层根本不需要任何厂商文件:调用直接把智能体宿主指向引导配置,或者用 leji start 在那里打开一个检测到的宿主。

入口文件只是指针,不是存放权威内容的地方。AGENTS.md 是许多智能体宿主都会读取的通用适配器;其余情况见接入指南

清单参考 →

{
  "leji": "1.0",
  "name": "acme-billing-context",
  "description": "Shared context layer for this repository.",
  "rootPath": "docs/",
  "bootProfilePath": "docs/boot-profile.md",
  "categories": {
    "domain": { "indexes": ["docs/context/domain.md"] },
    "system": { "indexes": ["docs/context/system.md"] },
    "governance": { "indexes": ["docs/context/governance.md"] },
    "decisions": { "indexes": ["docs/context/decisions.md"] }
  },
  "owners": { "primary": { "name": "Acme Platform Team", "contact": "platform@acme.example" } },
  "conformance": { "claimedLevel": "core" },
  "vendorAdapters": ["AGENTS.md"]
}