ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

在 Codex 中用 codex:dev 把本地 checkout 以符号链接加载用于技能开发

在 Codex 中用 codex:dev 把本地 checkout 以符号链接加载用于技能开发 在 Codex 中用 codex:dev 把本地 checkout 以符号链接加载用于技能开发【免费下载链接】compound-engineering-pluginOfficial Compound Engineering plugin for Claude Code, Codex, Cursor, and more项目地址: https://gitcode.com/GitHub_Trending/ev/compound-engineering-plugin如果你在 Compound Engineering 仓库compound-engineering-plugin中修改技能文件并希望 Codex 加载的正是当前 checkout 里未发布的版本而不是 marketplace 中的发布快照仓库提供了一个专用工作流codex:dev。它会在$CODEX_HOME/skills/下创建一个指向本仓库skills/目录的符号链接并清理可能遮挡本地技能的已安装 Compound Engineering 插件。完成配置后Codex 中加载的技能文件就是你工作区里的真实文件包括未提交和未跟踪的改动普通编辑无需重装即可生效。这个工作流只适用于需要测试当前这份 checkout的开发者。如果你只是想在 Codex 里正常使用已发布的插件应走 README 中的 Codex App 或 Codex CLI 安装步骤不需要本文的任何操作。准备条件本仓库的一份本地 checkout 或 linked worktree。脚本会先校验当前目录确实是 compound-engineering 仓库package.json的name为compound-engineering且.codex-plugin/plugin.json的 skills 字段指向本仓库的skills/目录校验不通过会直接报错。bun在 PATH 上脚本入口是 package.json 中的codex:dev: bun run scripts/codex-dev.ts。git在 PATH 上脚本用它推导仓库根目录、分支、HEAD 和工作树状态。codexCLI 在 PATH 上。local、status等模式会在内部调用codex plugin list等命令来清点已安装的 Compound Engineering 插件。确定你使用的CODEX_HOME。脚本继承当前激活的CODEX_HOME未设置时回退到~/.codex。文档要求每一种模式都必须针对你启动 Codex 时使用的同一个CODEX_HOME运行。测试隔离 profile 时在命令上直接设置该变量例如 README 中 Codex CLI 安装一节使用的形式CODEX_HOME$HOME/.codex/profiles/work bun run codex:dev -- local为什么用符号链接而不是把仓库注册为 marketplacedocs/development.md 明确警告不要用codex plugin marketplace add $PWD做本地联调它安装的是这份 checkout 的缓存副本后续编辑在插件重新安装之前不会反映即使 manifest 版本匹配也不能证明缓存内容与工作树一致。配套的 经验文档 还记录了一个容易踩的坑个人 marketplace 的source.path是相对 marketplace 根目录即$HOME解析的而不是相对marketplace.json所在目录配错会让插件指向不存在的路径。符号链接方案则暴露所选 worktree 中的全部内容——包括 modified 和 untracked 的技能目录。因此普通编辑不需要重装当前版本的 Codex 会自动检测直接的技能文件变更。脚本自身也会推导仓库路径从任何位置的 checkout包括带空格的路径都能工作。切换到本地符号链接模式在你打算测试的那份 checkout 或 worktree 根目录执行bun run codex:dev -- local这条命令的副作用边界是文档明确承诺的可以放心执行在$CODEX_HOME/skills/compound-engineering-local默认~/.codex/skills/compound-engineering-local创建一个collection 符号链接指向该 worktree 的skills/目录通过 Codex CLI 移除已安装的 Compound Engineering 插件变体防止缓存的 marketplace 插件遮挡或重复本地技能不复制技能文件不改动 checkout不执行 Git 拉取不触碰$CODEX_HOME/skills下与 Compound Engineering 无关的条目。命令内部会再次检查状态只有确认模式为local才算成功否则报错退出并回滚刚创建的链接。切换安装模式后开启一个新的 Codex 会话再测试如果只是普通技能编辑后没生效重启 Codex 即可。用 status 验证当前状态bun run codex:dev -- statusstatus报告五种模式之一local、remote、mixed、drifted、absent并附带链接指向的 checkout、worktree 类型primary worktree 还是 linked worktree、分支、commit SHA 和工作树脏污统计modified/untracked 数量。含义local本地链接有效且没有 Compound Engineering 插件在跑这是本工作流的目标状态mixed本地技能和 Compound Engineering 插件同时启用需要处理drifted安装状态与任何一种受支持模式都不匹配例如链接是坏的、指向仓库外或路径被普通文件占用absent/remote未安装本地链接或只安装了官方 marketplace 插件。除status外命令在mixed或drifted状态下以非零退出码结束见 src/dev/codex-dev.ts 中runCodexDevCommand的返回值因此可以直接在脚本里判断。判断状态时还有一个文档记录的事实config.toml里已启用的插件可能不出现在codex plugin list的输出里清单是有损的。工作流因此独立解析$CODEX_HOME/config.toml把两种来源的并集当作真相local和remove也会移除配置中显示启用但清单里缺失的官方插件 ID。在本地模式与官方发布模式之间切换日常可用的三个模式切换命令同样在 checkout 根目录执行bun run codex:dev -- refresh bun run codex:dev -- remote bun run codex:dev -- removerefresh是local的幂等别名用来对账意外安装的插件本地链接本身已经实时反映文件变化不需要靠它刷新内容。remote刷新官方 Git marketplace安装并验证compound-engineeringcompound-engineering-plugin然后移除本地链接。用它来模拟发布用户的真实体验验证完再切回local继续开发。remove移除 Compound Engineering 插件变体和管理的那个符号链接checkout 本身和你的其他用户技能保持原样。已知限制与边界本地模式只覆盖技能。校验会拒绝添加了apps、hooks、MCP servers或默认 hook manifesthooks/hooks.json的插件 manifest因为符号链接无法复现这些组件。如果仓库将来加入这些组件需要先扩展该工作流或改用完整插件安装来测试见 经验文档 的 Deliberate limits 一节。只管理那一个命名的符号链接。该路径上如果已存在普通文件、无关符号链接或断链脚本拒绝覆盖并报错而不是悄悄替换用户内容。以下行为是实测观察不是文档化保证观察于 Codex CLI 0.144.5插件安装会被拷贝进缓存manifest 版本未变时重跑codex plugin add也会刷新缓存直接技能源是实时的编辑无需重启即可检测$CODEX_HOME/skills下的嵌套符号链接集合可以被发现。脚本对HOME有要求HOME未设置时直接报错。继续深入docs/development.md 的 From your local checkout 一节列出了所有有已验证本地加载路径的 harnessClaude Code、Cursor、Codex、Cline、Devin、OpenCode、Pi、omp 等本文只覆盖 Codex。AGENTS.md 的 Codex Local Plugin Development 一节是同一工作流的简短说明面向仓库贡献者。实现入口在 scripts/codex-dev.ts核心逻辑在 src/dev/codex-dev.ts测试见 tests/codex-dev.test.ts。【免费下载链接】compound-engineering-pluginOfficial Compound Engineering plugin for Claude Code, Codex, Cursor, and more项目地址: https://gitcode.com/GitHub_Trending/ev/compound-engineering-plugin创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表