Skip to content

Vendored 包改名

English | 中文

Cordis 框架及其基础库以源码形式 vendored 在 vendor/ 下,并以 @deepseek-ai scope 发布:每个 harness 包都把框架声明为 peer dependency,发布 harness 就会连带发布这一层,用上游名发布等于在 registry 上占用别人的名字。本页是名字映射表;决策与影响见 改名 Agent Note,上游 commit 见 vendor/README.md

名字映射

目录上游名发布名版本角色
vendor/cordis/cordis@deepseek-ai/cordis4.0.0-rc.7框架核心:ContextServiceFiber、事件
vendor/cosmokit/cosmokit@deepseek-ai/cosmokit1.8.1框架与 Schemastery 共用的基础工具
vendor/schemastery/schemastery@deepseek-ai/schemastery3.18.0配置 schema(Schema),每个插件的 Config 都基于它
vendor/loader/@cordisjs/plugin-loader@deepseek-ai/cordis-plugin-loader1.0.0-rc.5cordis.yml 装载、插件解析、repository 缓存
vendor/include/@cordisjs/plugin-include@deepseek-ai/cordis-plugin-include1.0.4配置包含与 patch 叠加
vendor/group/@cordisjs/plugin-group@deepseek-ai/cordis-plugin-group1.0.0嵌套插件分组
vendor/timer/@cordisjs/plugin-timer@deepseek-ai/cordis-plugin-timer1.1.2ctx 上随 disposal 回收的定时器
vendor/hmr/@cordisjs/plugin-hmr@deepseek-ai/cordis-plugin-hmr1.0.15插件与配置的热替换
vendor/logger-console/@cordisjs/plugin-logger-console@deepseek-ai/cordis-plugin-logger-console1.0.0控制台日志导出

子路径导出保持原路径:@cordisjs/plugin-loader/repository 变成 @deepseek-ai/cordis-plugin-loader/repository

改名不碰什么

  • 目录名与版本号。 vendor/hmr/ 仍是 vendor/hmr/,每个包保留清单表那行记录的上游版本,所以 vendored 树依旧读作一份上游快照。
  • 依赖 range。 依赖条目只换键、不换范围:"cordis": "^4.0.0-rc.7" 变成 "@deepseek-ai/cordis": "^4.0.0-rc.7"linkWorkspacePackages 靠这些保留下来的范围把它们解析到固定的 workspace。
  • Loader 的 cordis: 内建前缀。 cordis:includecordis:group 是协议前缀,不是包名。
  • cordis.yml 配置文件家族,包括 *.cordis.yml*.cordis.snapshot.ymlcordis.patch.yml
  • 名字里带这个词的 harness 包,例如 @deepseek-ai/dsh-tool-cordis
  • 上游运行时标识符,例如 Schemastery 的 Symbol.for('schemastery') 及其 vendor: 元数据字段。
  • docs/ 之外的散文。 vendor/*/README.md、各包 README 与 Agent Note 保留写作当时的名字;那里的裸 cordis 也可能是 Python SDK 的选项名或某个 agent-preset 的 id。docs/ 之内,散文与所有 Markdown 围栏都跟着改。

你的代码要改什么

位置改前改后
模块 importimport { Context } from 'cordis'import { Context } from '@deepseek-ai/cordis'
类型事件声明合并declare module 'cordis'declare module '@deepseek-ai/cordis'
package.json 依赖键"@cordisjs/plugin-hmr": "^1.0.15""@deepseek-ai/cordis-plugin-hmr": "^1.0.15"
cordis.yml 插件条目name: '@cordisjs/plugin-include'name: '@deepseek-ai/cordis-plugin-include'

施加、核验与回退

上面这份映射由 scripts/rescope-vendor.ts 承载并执行改名,任何引用都不靠手改:

sh
pnpm run rescope-vendor            # report what would change
pnpm run rescope-vendor --apply    # rewrite every reference
pnpm run rescope-vendor:check      # assert the post-state; runs in the hygiene gate
pnpm run rescope-vendor --apply --reverse   # return to the upstream names

上游 sync 之后重跑它(流程),并接上它打印的重生成:pnpm install 重生成 lockfile、pnpm run gen-third-party-notices、以及对它触及的双语对跑 pnpm run verify-translation-pairing --write

基于 MIT 许可证发布。