@elaraai/east-plugin

中文文档
1.0.107发布于 2026/11/13AGPL-3.0-or-laterES Module构建来源已验证近 30 天下载 3366

East的代理插件运行时间——实例索引生成器,实例搜索及其MCP工具,搜索第一钩和Codex技能适配器——用于一个以East's为基础的Claude Code或Codex插件.

中文使用文档
文档目录7 节
  1. 出版
  2. 建立在 East 插件上
  3. 指数
  4. 搜索
  5. 包裹
  6. 钩子
  7. 技能

共享东代理插件库

共同执行 east-claude-plugin 财务报告和审定财务报表 east-codex-plugin,作为 @elaraai/east-plugin 用于基于 East 的 Claude 代码或代码插件( 见 建立在 East 插件上) (中文(简体) ). 这不是代理插件本身 .

  • lib/:项目检测,搜索,复核和调试,守护进程客户端,Python诊断,状态,笔录助手,stdio LSP客户端,搜索第一指南和钩子(Claude Code's in search-hooks.ts代码在 codex-hook.ts),可编码技术适配器(codex-skills.ts),以及插件组装器(package.ts) (中文(简体) ).
  • hooks/:常见的生命周期和克洛德工具适配器. Codex的一个工具钩是 east-codex-plugin/hooks/codex-tools.ts结束 lib/codex-hook.ts 财务报告和审定财务报表 lib/codex-tools.ts (胸口和外壳正常化).
  • daemon/: TypeScript/TSX LSP,Python LSP发射器和驻地诊断服务器.
  • mcp/:实例搜索、检索、状态和真正的LSP桥;搜索和检索工具是 example-tools.ts用于任何服务器.
  • skills/:一个技能目录——四个插件-内生技能外加同包自有技能的同义链接.
  • scripts/:唯一索引生成器 Python 渲染器,组装器驱动程序(package.ts)和CLI安装/更新执行.
  • index.json: 犬科生成的活体, 一个承诺的文物。 每个装配的插件都装了一份, 出版的套件把它装上一个插件, 这个插件在它自己旁边为东方服务.
  • marketplace/ (被忽略):两个插件都是作为主机安装而组装的, east-claude-plugin/ 财务报告和审定财务报表 east-codex-plugin/,有市场文件为它们取名——一个Claude Code和Codex在目录下名下的地方市场(elaraai, (中文(简体) ), elaraai-codex),所以一个维护者在报到或目录中点出名字.

主机运行时间文件是薄包再导出,由 Esbuild 内含. 它们不能独立地复制共同行为. hostText 翻译输出边界上的主机化工具和技能名. 组装的插件有意包含重复字节,所以已安装的插件不依赖于这个工作空间包.

pnpm --filter @elaraai/east-plugin run build
pnpm --filter @elaraai/east-plugin run generate-index   # → index.json (commit it)
make -C libs/east-plugin package                        # both hosts' bundles + the assembled plugins under marketplace/

索引生成需要构建实例和Python环境,这在任一主机README中都有记载. 在运行时间变化后, 在捆绑主机前构建此软件包 。 代码 build 克劳德 build 自动做到这一点,并组装自己的插件;根递归式构建遵循工作空间依赖性图表.

编辑该技能拥有的库, 或它的本地源代码在此 。 Claude Code的插件通过包时的链接复制了目录; Codex的实现和调整了同样的源. 在两个主机下都没有产生任何犯罪。 在改变共享行为后运行两个主机测试套件:它们运行在组装的插件上.

出版

发布会公布汇编的目录 @elaraai/east-claude-plugin 财务报告和审定财务报表 @elaraai/east-codex-plugin 在锁步版本中 scripts/publish-plugins.mjs - 和公开目录 elaraai/插头 逐个列出为 npm 源被固定在它发布的版本上,为两个主机. 新套件名称被一手拖出(scripts/bootstrap-plugins-npm.mjs),在可以为此配置可信出版之前.

建立在 East 插件上

由东方所建出的产品的一个插件——它自己的技能和自己的例子——在自己的本体上运行同样的机械,每个被调用插件自己名字的作品:索引生成器,实例搜索及其MCP工具,搜索第一钩和Codex技能适配器. 东方自有的插件就是这些,用东方的名字来称呼.

npm install @elaraai/east-plugin@<the East packages' version>

诸版本. @elaraai/east-plugin 在一个版本的船舶上 @elaraai/* 软件包共享,并取决于 @elaraai/east 财务报告和审定财务报表 @elaraai/east-diagnostics 在那个版本。 把它固定在您所使用实例的东方软件包中, 并把它们一起移动 。 东方指数是那个版本的本体.

指数

一个 index.config.json 命名软件包 *.examples.ts(x) 作为东方的索引 index.config.json 是否: 来源为 ir: true 是一个以东程序为例的软件包,从它已建的测试模块中读取(dist),并与其所打印的TypeScript作为IR存储;其他任何被作为作者来源存储. 手写条目(如CLI) index.static.json 联 合 国 { "entries": [...] }。 。 。 .

npx east-plugin-generate-index --base-dir . --config index.config.json --static index.static.json --out index.json
# the python printings of the programs, optional (without them a program answers in TypeScript only):
uv run --with elaraai-east-py python node_modules/@elaraai/east-plugin/scripts/render-python.py index.json

从代码, generateIndex({ baseDir, config, staticEntries }) (单位:千美元)@elaraai/east-plugin/scripts/generate-index)返回要写入的索引.

搜索和获取 MCP 服务器上的工具注册 registerExampleTools(server, { index, searchTool, getTool, corpus, packages, scopes }),一旦索引上载,它就会回答:一个服务器在连接之前等待它,所以一个不会在启动时加载失败的索引,命名原因. scopes 是npm 瞄准镜 炸弹包安装在, @elaraai 除非给出:包过滤器接受其中任何一个下的名称,搜索工具告诉代理商不要读取那里已安装的包. 一个插件用East的两种方法之一来组成它的包:

  • 一个服务器回答两个蝎子. 服务East的索引与你自己的索引:包过滤器既知道两者,又有一个例子id命名了它的包,所以两者从不相撞.

    import { fileURLToPath } from "node:url";
    import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
    import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
    import { registerExampleTools } from "@elaraai/east-plugin/mcp/example-tools";
    import { EAST_INDEX_PATH } from "@elaraai/east-plugin/lib/east-index";
    
    const server = new McpServer({ name: "acme", version: "1.0.0" });
    await registerExampleTools(server, {
      index: [EAST_INDEX_PATH, fileURLToPath(new URL("../index.json", import.meta.url))],
      searchTool: "search_acme_examples",
      getTool: "get_acme_example",
      corpus: "Acme",
      packages: ["acme-cloud", "east", "e3"],
    });
    await server.connect(new StdioServerTransport());
    
  • 各取一.. 安装在您旁边的 East 插件用它自己的工具解答 East 的元件; 您的服务器只服务您的索引 .

EAST_INDEX_PATH 命名已安装的软件包 index.json。一个捆绑的服务器,作为East的插件捆绑他们的插件,复制文件在构建时输入插件,并从那里读取.

包裹

主机安装的插件是一个目录,每个文件都是真实的,完全不依赖. assemblePlugin (单位:千美元)@elaraai/east-plugin/lib/package) 从您的插件源头—— 它的显示目录, 它的建立 .build/,每个 hooks/hooks.json, (中文(简体) ), .mcp.json, (中文(简体) ), .lsp.json,读取,LICENSE和(克洛德码) commands/ 财务报告和审定财务报表 agents/ 它有——你的技能目录(后面的符号链接,包含一个链接的技能目录;在您的名字中被改编为Codex),以及你的索引,并生成一个 package.json 没有依赖性。 它就在旁边 out 并且一旦完成就搬入原地,所以失败将留下一个更早的集合 out 除先前的集合或源头重叠外,其他任何物体都不得持有:

import { assemblePlugin } from "@elaraai/east-plugin/lib/package";

await assemblePlugin({ host: "claude", source: "packages/acme-claude-plugin", skills: "packages/acme-plugin/skills", index: "packages/acme-plugin/index.json", out: "marketplace/acme-claude-plugin" });
await assemblePlugin({ host: "codex", source: "packages/acme-codex-plugin", skills: "packages/acme-plugin/skills", index: "packages/acme-plugin/index.json", out: "marketplace/acme-codex-plugin", names: ACME });

发布每个目录 npm publish <dir> --access public ,并在 elaraai/插头 catalog,该目录将每个标注在它为两个主机发布的版本上. 同一个目录,旁边是 .claude-plugin/marketplace.json 财务报告和审定财务报表 .agents/plugins/marketplace.json 拥有相对来源,是当地的发展市场,就像东方的 scripts/package.ts 写一个.

钩子

Claude Code每起事件都有一个钩子 每个功能都是共享的,由您的名字配置 :

// hooks/pre-write.ts — the gate on a write of your code with no search on record
import { gateText, type SearchGuidance } from "@elaraai/east-plugin/lib/search-guidance";
import { runPreWriteGate } from "@elaraai/east-plugin/lib/search-hooks";
import { SEARCH_TOOLS } from "@elaraai/east-plugin/lib/transcript";

const ACME: SearchGuidance = {
  searchTool: "mcp__plugin_acme_acme__search_acme_examples",
  getTool: "mcp__plugin_acme_acme__get_acme_example",
  corpus: "Acme",
  scope: "@elaraai",
};
await runPreWriteGate({
  searchTools: [ACME.searchTool, ACME.getTool, ...SEARCH_TOOLS], // a search of East's corpus counts too
  gateText: gateText(ACME),
  isCorpusCode: (code) => /@elaraai\/acme/.test(code),
  markerPrefix: "acme-search-seen",
  requireSearchEnv: "ACME_REQUIRE_SEARCH",
});

读取的提醒是 runPreReadReminder({ readText: readText(ACME), isCorpusRead: corpusReadFor(ACME.scope) })。编码器在每个工具上运行一个钩: codexSearchGate(event, options) (单位:千美元)lib/codex-hook.ts电话后用工具记录搜索情况,在记录之前,它会提醒人们读取你的体格和门的密码; writeSearchHookReply 写下答案.

技能

一个插件会传送自己的技能;东方来自它旁边安装的东方插件. Codex只缓存插件本身,所以一个Codex插件将它的技能作为真实文件传送,改编自克洛德代码: materializeSkills(sources, target, names) (单位:千美元)lib/codex-skills.ts)适应了每种技能的"Markdown"——你的工具失去了克洛德代码的MCP前缀, /acme: 变成 $acme-codex-plugin:并复制其他文件.

版本与发布记录

@elaraai/east-plugin 共发布 23 个版本,首次发布于 2026/10/07;过去 12 个月发布了 23 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.0.107latest2026/11/13今天
1.0.1062026/11/094 天前
1.0.1052026/11/085 天前
1.0.1042026/11/067 天前
1.0.1032026/11/049 天前
1.0.1022026/11/0310 天前

关于 @elaraai/east-plugin 的常见问题

@elaraai/east-plugin 是什么?

East的代理插件运行时间——实例索引生成器,实例搜索及其MCP工具,搜索第一钩和Codex技能适配器——用于一个以East's为基础的Claude Code或Codex插件.

如何安装 @elaraai/east-plugin?

在项目目录运行 npm install @elaraai/east-plugin,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:typescript(>=5.0.0 <7)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。它还提供命令行工具 east-plugin-generate-index,可以用 npx east-plugin-generate-index 直接运行。

@elaraai/east-plugin 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/elaraai__east-plugin 是否存在。

@elaraai/east-plugin 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@elaraai/east-plugin 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@elaraai/east-plugin 可以商用吗?

@elaraai/east-plugin 使用 AGPL-3.0-or-later 许可。最严格的 Copyleft:除分发外,通过网络向用户提供基于它的服务也需要开源对应源码。闭源 SaaS 使用前务必评估。以上为概括,不构成法律意见,请以许可原文为准。

@elaraai/east-plugin 的下载量有多少?

根据 npm 官方下载统计,@elaraai/east-plugin 在 2026/10/13 – 2026/11/11 这 30 天内被下载 3,366 次,日均约 112 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@elaraai/east-plugin 还在维护吗?

最新版本 1.0.107 发布于 2026/11/13(今天);至今共发布 23 个版本,其中过去 12 个月发布了 23 个;首次发布于 2026/10/07。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。