بنقرة واحدة
codex-narp-runtime
当用户希望把 Codex 或 Codex CLI/SDK 作为 NextClaw 正式会话类型接入,尤其是通过 narp-stdio 配置、安装、修复、doctor 或真实冒烟时使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
当用户希望把 Codex 或 Codex CLI/SDK 作为 NextClaw 正式会话类型接入,尤其是通过 narp-stdio 配置、安装、修复、doctor 或真实冒烟时使用。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when implementing, refactoring, or designing source-level contracts in this repository, especially if a task touches frontend/backend i18n or user-facing copy, frontend base/display components, tool schemas, API/protocol parameters, shared contracts, compatibility paths, fallback-heavy logic, duplicate branches, weak abstractions, unclear file placement, ad-hoc helpers, or patch-style fixes that would turn into garbage code.
Create or update complete NextClaw lightweight apps, deciding whether the user needs a Panel App, a Service App, or a combined Panel + Service App. Use for NextClaw applets, small tools, dashboards, local file tools, AI-assisted UI tools, apps that may combine right-side UI with backend actions, or questions about what NextClaw/Panel apps can do and which app APIs/capabilities they can use.
当用户要求提交、收尾、统一 NPM 发布、GitHub release、changelog、release notes、版本更新说明、产品更新笔记、变更汇总,或担心并行会话导致发布内容靠记忆整理时使用。适用于需要进入用户可见发布说明的 NextClaw workspace 包变更、Changesets 聚合、AI 撰写版本更新笔记、可拉取结构化 release notes JSON,以及 update manifest releaseNotesUrl 闭环。
Use when building, verifying, or releasing NextClaw desktop installers, DMGs, update bundles, update manifests, or one-command desktop beta/stable release automation. Enforces the packaged update public key contract, the required verification commands, and the rule that raw electron-builder output is not enough.
当用户要求“发布 beta”“统一 beta 发版”“发一个新的 NPM beta 版本”“一键 beta release”或希望直接复用 NextClaw 的 beta 发布闭环时使用。适用于 nextclaw 及其相关 workspace 包的 beta 发布,也适用于需要同时闭合 npm registry 与 NPM runtime update channel 的场景。
Use when publishing NextClaw NPM packages or NPM runtime update channels, including beta/stable dist-tags, nextclaw@beta validation, runtime bundle manifests, packaged update public keys, and npm registry closure checks.
| name | codex-narp-runtime |
| description | 当用户希望把 Codex 或 Codex CLI/SDK 作为 NextClaw 正式会话类型接入,尤其是通过 narp-stdio 配置、安装、修复、doctor 或真实冒烟时使用。 |
| metadata | {"nextclaw":{"emoji":"C"}} |
使用这个 skill 时,目标不是让用户自己准备 PATH 或手改配置,而是把 Codex 接成 NextClaw 统一 runtime registry 里的正式会话类型。
首选产品路径固定为:
codexCodexnarp-stdioacpnextclaw-codex-narpNextClaw -> RuntimeRoute(model/apiBase/apiKey/headers) -> Codex NARP wrapper -> Codex SDK/CLI不要把 Codex 做成核心系统里的 provider 特判。NextClaw 核心、kernel、service 只感知 narp-stdio,不感知 codex。
始终区分三层:
@nextclaw/nextclaw-narp-runtime-codex-sdk,提供 nextclaw-codex-narp。安装这个 skill 不等于 Codex runtime 已经可用。skill 必须自己检测 launcher,缺失时安装或修复 wrapper,并生成 NextClaw 可稳定调用的绝对路径 shim。
nextclaw-codex-narp。${NEXTCLAW_HOME:-~/.nextclaw}/bin 下生成稳定 shim。agents.runtimes.entries.codex。nextclaw-codex-narp 放到 PATH 里”作为完成条件。config.json,除非当前 agent 没有文件写权限。当用户要求“接入 Codex”“安装 Codex runtime”“doctor Codex runtime”或类似目标时,按下面顺序执行。
先确定 NextClaw 数据目录:
NEXTCLAW_HOME="${NEXTCLAW_HOME:-$HOME/.nextclaw}"
需要写入:
$NEXTCLAW_HOME/bin/nextclaw-codex-narp$NEXTCLAW_HOME/config.json如果这是首次接入,先说明 Codex runtime 会读取本机工作区并可能执行本地工具;涉及删除、发送、提交、发布等外部可见动作时仍需用户确认。
按优先级解析真实 launcher:
packages/extensions/nextclaw-narp-runtime-codex-sdk/dist/controllers/codex-narp.controller.jspnpm --filter @nextclaw/nextclaw-narp-runtime-codex-sdk buildnextclaw-codex-narp,可作为真实 launcher 来源。mkdir -p "$NEXTCLAW_HOME/runtime/codex-narp-runtime"
npm install --prefix "$NEXTCLAW_HOME/runtime/codex-narp-runtime" @nextclaw/nextclaw-narp-runtime-codex-sdk@latest
安装后解析:
"$NEXTCLAW_HOME/runtime/codex-narp-runtime/node_modules/.bin/nextclaw-codex-narp" --help
如果包未发布、npm 不可用或安装失败,报告具体 blocker。不要退化成要求用户手动放 PATH。
把 runtime entry 的 command 固定成绝对 shim 路径,而不是裸命令名。
Unix shim 内容形态:
#!/usr/bin/env sh
exec "/absolute/path/to/nextclaw-codex-narp-or-js" "$@"
如果真实 launcher 是 .js 文件或没有执行位,则 shim 应改为:
#!/usr/bin/env sh
exec node "/absolute/path/to/codex-narp.controller.js" "$@"
写入后执行:
chmod +x "$NEXTCLAW_HOME/bin/nextclaw-codex-narp"
用 JSON parser 读写 $NEXTCLAW_HOME/config.json,保留现有配置,只补齐或修复 agents.runtimes.entries.codex:
{
"enabled": true,
"label": "Codex",
"icon": {
"kind": "image",
"src": "app://runtime-icons/codex-openai.svg",
"alt": "Codex"
},
"type": "narp-stdio",
"config": {
"wireDialect": "acp",
"processScope": "per-session",
"command": "/absolute/NEXTCLAW_HOME/bin/nextclaw-codex-narp",
"args": [],
"env": {},
"resetSessionMetadataOnPromptTimeout": ["codex_thread_id"],
"startupTimeoutMs": 10000,
"probeTimeoutMs": 3000,
"requestTimeoutMs": 120000
}
}
不要把 provider route、api key、model 写进 runtime entry。模型和 provider 仍由 NextClaw 的 provider/route 配置决定。
接入完成必须同时满足:
agents.runtimes.entries.codex.type 是 narp-stdio。wireDialect 是 acp。command 是可执行的绝对 shim 路径。Codex ready。开发仓库里优先使用已有 smoke 脚本或 NCP chat smoke;不在源码仓库时,使用当前 NextClaw 实例或 CLI 能提供的最近真实会话路径。验证不是看配置文件长得对,而是看真实会话返回。
能力验收至少分三档:
如果用户说“跑通”或“完成”,默认至少跑文本;如果用户明确要求工具/思考或这是 agent runtime 新接入,必须覆盖“思考 + 工具 + 最终文本”的同轮冒烟。
当用户要求 doctor 或报错时,按顺序检查:
$NEXTCLAW_HOME/config.json 是否存在且 JSON 可解析。agents.runtimes.entries.codex 是否存在、enabled 是否为 true。type、wireDialect、processScope 是否符合合同。command 是否是绝对路径、文件是否存在且可执行。--help 是否能启动。根据第一个失败点修复。不要在下游事件层伪造成功。
command_missing:重新生成 shim;如果真实 launcher 缺失,安装 wrapper 包。删除 runtime entry、shim 或 wrapper 安装目录属于破坏性配置变更。除非用户明确要求“移除 Codex runtime”,否则只做 disable/repair,不删除文件。
只有在以下条件全部满足后,才能说 Codex NARP runtime 已可用:
Codex 是统一 runtime registry 里的正式 session type。narp-stdio(acp) 接入。