桌面应用交互助手【免费下载链接】clawd-on-deskA pixel desktop pet that watches Claude Code, Codex, Cursor other AI coding agents — so you dont have to.项目地址https://gitcode.com/gh_mirrors/cl/clawd-on-desk点击查看免费下载本文以 docs/guides/codex-wsl-clarification.md 为主线结合 Clawd 仓库源码hooks/codex-install-utils.js、src/wsl-deploy.js、src/wsl-utils.js等与测试用例系统讲解在 Windows 桌面宠物 Clawd on Desk 下把 OpenAI Codex CLI 接入 WSL2 的三种配置路径、推荐配对流程、网络前提以及会话发现边界。读完你将能区分「共享CODEX_HOME」与「谁在运行 Clawd 的 hooks」两个独立问题判断当前环境应该走 Linux Node 的镜像网络路径还是 Windowsnode.exe的 interop 路径并按照「独立 home Pair」的可复现步骤完成集成与连通性验证。支持范围与前提WSL2、hooks 功能键与信任流程按当前仓库文档核对文档头标注官方资料核对日期 2026-09-05源码基线7383e8b80b8c0f05bd1dc53cb9e51fb96558a2edCodex 与 WSL 集成的前提可归纳为四点WSL2 是受支持的环境OpenAI 支持 Codex 运行在 WSL2 中自 Codex 0.115 起WSL1 不再受支持。文档特别强调 WSL1 与 WSL2 共享 loopback 是一个通用的网络事实不能据此推断现代 Codex 仍支持 WSL1。hooks 功能默认开启当前 Codex hooks 默认启用hooks是规范的功能键feature keycodex_hooks是已废弃的别名。hooks 仍需人工审核凡是不由策略托管managed by policy的 hooks在 Codex 的/hooks流程中依然需要 review/trust 之后才会生效。这与 Clawd 的注册行为相互印证——见下文源码分析。两个问题要分开看Codex 是否支持 WSL与 Clawd 能否访问某个特定 Linux home是两个独立的命题。Windows 版 Clawd 提供显式的WSL Scan → Pair流程它不会在启动时向每个发行版静默安装也不会自动轮询独立 Linux home 下的会话。在 Clawd 的集成架构中Codex 官方 hooks 是首选集成方式JSONL 轮询则是针对已配置会话源的兜底方案fallback。这条主次关系在 agents/codex-log-monitor.js 的定位中可以得到印证该文件头部即注明「Codex CLI JSONL log monitor —— Polls~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonlfor state changes」也就是只针对它被配置指向的 session 目录工作。三条配置路径CODEX_HOME 与 Node 运行时怎么组合Windows 与 WSL 默认使用各自独立的 Codex home。如果想在 WSL 内显式共享 Windows 的配置、认证与会话需要设置CODEX_HOME/mnt/c/Users/windows-user/.codex即 OpenAI 官方文档中的 shared-home 做法。但关键结论是共享目录并不决定 Clawd 的 hooks 由哪个 Node 可执行文件运行。原文档给出的三行对照表是本文的核心骨架完整继承如下配置Hook 执行方式网络要求独立 Linux homeWSL 中的~/.codex集成安装在对应发行版内Linux NodeLinux 必须能访问 Windows 端 Clawd 的 loopback 监听器WSL2 通常需要镜像网络mirrored networking。共享 WindowsCODEX_HOMEPOSIX interop 启动器由 Windows 生成通过 WSL interop 调用 Windowsnode.exe走 Windows loopback因此该传输不需要镜像网络NAT 模式下也可用。共享 WindowsCODEX_HOME但已存在由 WSL/Linux 安装器拥有的原生 POSIX 启动器Linux NodeWindows 同步会保留该启动器仍走 Linux 网络路径。仅共享 home 并不会把它变成 Windows interop。这三行的本质是配置home 目录与执行launcher 由谁生成、指向哪个 Node是两个独立维度。第二、三行是 hooks/codex-install-utils.js 中两条截然不同的所有权分支由 test/codex-install.test.js 覆盖。因此排查连通性问题前务必先检查「已注册的 launcher」和「实际的 Node 目标」仅凭一个CODEX_HOME的值不足以诊断网络问题。源码级证据共享 home 下的两条所有权分支在 hooks/codex-install-utils.js 中materializeStableCodexHookLauncherL397 起在 Windows 主机上写 Windows 侧 artifacts 的同时会处理共享CODEX_HOME下的 POSIX launcher若现有 POSIX manifest 记录的mode是native即由 WSL/Linux 安装器生成则posixPreserved trueWindows 启动同步绝不把它改指向 Windows-only 目标L424-L435若 POSIX 状态未知/损坏也保守地保留L432-L435避免破坏可能属于 WSL 或更新版本 Clawd 的产物仅当不存在任何 POSIX 记录时Windows 才会生成一个mode: windows-interop的 POSIX launcherL437-L452其nodeBin由windowsPathToWslPathL718-L722把C:\...转成/mnt/c/...换算而来并追加--clawd-wsl-interop参数。对应地buildCodexHookPosixInteropCommandL735-L745的注释把网络原理讲得很清楚Windows 上的 Codex 优先读commandWindows参考 openai/codex#22159command只被 POSIX shell 执行——对于 Windows 生成的 hooks.json 而言就是 WSL。此时让 hook 走 WSL interop 调用Windowsnode.exehook 进程就活在 Windows 进程空间里其127.0.0.1就是 Windows 的 loopback于是即便在 WSL 默认 NAT 模式下Linux 侧进程会 connection-refused事件也能到达只绑定127.0.0.1的 Clawd 服务端。该函数还处理了 UNC 路径\\server\share\node.exe无/mnt映射回退为裸node.exe。这些行为均有测试锁定例如 test/codex-install.test.js 中的「keeps Windows and WSL launcher ownership separate in a shared CODEX_HOME」L350 附近、「builds the interop command from a bare node bin by appending .exe」L707 附近以及「translates Windows absolute paths to WSL /mnt form」L697 附近。配置参数与功能键迁移CODEX_HOME的解析优先级在 hooks/codex-install-utils.js 的resolveCodexHomeL25-L30中定义显式传入的codexDir 环境变量CODEX_HOME 默认~/.codex。功能键的处理由ensureCodexHooksFeatureL910 起完成它直接对应「hooks是规范键、codex_hooks是废弃别名」的文档结论[features].hooks true保持不动显式为false时不强制改写除非force并给出警告发现废弃的[features].codex_hooks时原地改写成hooks同时保留用户显式设置的 false 值没有[features]段时在文件末尾追加[features]与hooks true。注册 hooks 时还会按事件写入超时timeoutForCodexEventL694-L696规定PermissionRequest超时为 600 秒其余事件为 30 秒。注册完成后安装器会在控制台提示「open codex CLI and run /hooks to review and activate the new/updated hooks」这正是文档所述「hooks 需要 review/trust 才能激活」在实现侧的落地。推荐方案独立 Linux home WSL Scan → Pair原文档推荐的路径是独立 Linux home Pair四步操作如下在目标 WSL2 发行版内安装 Codex 与 Linux Node并在该发行版内运行一次 Codex让它建立自己的 home~/.codex。启动 Windows 版 Clawd进入Settings → Agents → Connected → WSL Scan在 Codex 下找到该发行版选择Pair。若 Windows 本地没有 Codex该行可能出现在Unavailable分组下。确认 Clawd 中 Codex 处于 enabled 状态WSL 配对与安装 Windows 本地集成是两回事配对通常不会启用一个被禁用disabled的 agent。逐项确认结果检查安装结果与连通性结果按需在 Codex 中 review/trust hooks然后开启一个新会话确认它出现在 Clawd 中。失败的或结果未知的连通性探测都不算连接成功。手动安装的替代路径如果不用 Pair也可以从完整源码检出做手动安装先按 docs/guides/setup-guide.md 的 WSL 章节#wsl-windows-subsystem-for-linux操作包括完整的 hook 文件拷贝与网络排障。文档明确警告不要只挑hooks/*.js中的一部分文件——hooks 之间存在直接与间接依赖。从源码结构看src/wsl-deploy.js 的collectHookFilesL40-L54会收齐 hooks 目录下所有顶层.js文件而AGENT_INSTALL_SCRIPTL108-L134把codex映射到codex-install.js若源检出在 Windows 上Pair 也会把这整套文件拷进 WSL见 setup-guide 的 L288 附近说明。Hermes 这类 asset-backed 集成则例外使用私有的、精确的临时 payloadHERMES_WSL_FILESL22-L29。Pair 的底层行为Windows 版 Clawd 的 WSL 部署入口在 src/wsl-utils.js 与 src/wsl-deploy.jsgetWslDistributionssrc/wsl-utils.js L105-L119通过wsl.exe -l -q枚举发行版并排除docker-desktop、docker-desktop-data、DevHOME等基础设施发行版EXCLUDED_DISTROSL22-L26以WSL_DISTRO_NAME为稳定标识deployToWslsrc/wsl-deploy.js L486-L516仅限 Windows 主机先解析 WSL$HOME把 hooks 文件写入~/.claude/hooks再执行对应的安装脚本Codex 为codex-install.js最后运行wsl-connectivity-probe.js做连通性探测探测结果由parseConnectivityProbeL255-L261解析为REACHABLE port/UNREACHABLE在 src/settings-actions-agents.js 的_wslCommandL913-L952中connectivity false会被标记为wslConnectivity警告——表示「hooks 已安装但 NAT 网络下 Clawd 从发行版不可达」渲染层据此展示本地化警告。这与文档「安装成功 ≠ 可达」的判断完全一致。网络前提Linux Node 需要镜像网络interop 路径不需要对于 Linux Node 的执行路径Windows 端 Clawd 的 HTTP 服务监听127.0.0.1:23333-23337DEFAULT_SERVER_PORT 23333见 hooks/server-config.js L8。WSL2 默认 NAT 模式不会把 Windows 的 loopback 监听器暴露给 Linux镜像网络mirrored networking要求Windows 11 22H2 或更高版本对应 Microsoft WSL 网络文档中的networkingModemirrored且通常还需要重启 WSL重启会终止正在运行的会话而共享 home interop这条路径因为 hook 跑在 Windowsnode.exe进程里、直接使用 Windows loopback所以不依赖镜像网络NAT 下也能工作注意连通性探测成功只验证了状态事件的网络通路并不代表每个 agent 的权限permission传输都可用——setup-guide 中单独说明了 Claude 的 permission URL 是在安装时固定下来的限制安装时用显式端口或有效的本地~/.clawd/runtime.json否则默认 23333若 Clawd 实际监听 23334状态更新可能正常而权限气泡可能不弹出。会话发现与验证边界Pair 不轮询 WSL home围绕「会话发现」原文档划清了三条边界Pair 只装 hooks不开启 JSONL 兜底轮询Pair 在选定的发行版安装 hooks不会让 Windows 的 JSONL fallback 开始轮询每一个/home/user/.codex/sessions目录。这正是 agents/codex-log-monitor.js 定位的体现它是针对已配置会话源的 monitor不是一个「扫描所有 Linux home」的服务。共享CODEX_HOME只暴露共享的 session 文件它可以让你读到共享目录里的 rollout JSONL但它既不会挂载、也不会发现其他 Linux home。启动时的本地集成同步与用户发起的 WSL Pair是两个不同的操作。远程 Codex monitor 是架构性兜底不是手动扫描配方它服务于托管式 Remote SSH。安全的 Remote SSH 必须使用已部署的 identity 与固定的 transport应走Settings → Remote SSHdocs/guides/guide-remote-ssh.md而不是用一个脱离该布局的独立扫描器。文档给出的源码参考路径是src/wsl-deploy.jsWSL 部署、src/settings-actions-agents.jsagent 设置动作deployToWsl/removeFromWsl见 L954-L968、src/integration-sync.js集成同步含repairCodexHooks的自动修复逻辑、agents/codex-log-monitor.jsCodex JSONL monitor。源码级验证与测试覆盖本修订版文档「调和了官方文档与 Clawd 源码行为」并明确声明没有新增任何 Windows/WSL 真机验证结果。仓库内可复现的验证手段包括单元测试test/codex-install.test.js 覆盖共享 home 下 Windows/WSL launcher 所有权分离L350 附近、interop 命令构造L697-L714、/mnt路径换算L697 附近、UNC 路径回退L1099-L1106以及 no-op env 不产生 interop 警告L1170-L1180等场景hookMatchesCodexMarker与findCodexCommandHookhooks/codex-install-utils.js L1004-L1023保证注册/卸载只在识别到 Clawd 自身 marker 时才改写 hooks.json。连通性探测Pair 与手动安装都会运行wsl-connectivity-probe.js输出REACHABLE port或UNREACHABLE解析见 src/wsl-deploy.js L255-L261作为「安装」与「可达」分离的证据。hooks 激活提示安装器在新增/更新 hooks 或改动功能键后提示运行/hooks审核hooks/codex-install-utils.js L1328-L1332对应官方「hooks 需 review/trust」的要求。验证纪律与适用范围文档以显著篇幅强调证据边界写作与排查时应一并遵守安装测试、连通性探测、真实 Codex 会话、共享 home 互操作验证是四种不同的证据各自独立不能互相替代每次在设备上验证时应记录平台、版本、配置与结果文档顶部的核对日期2026-09-05不能替代这些真机结果文中「共享 home 组合是否全部经过真机测试」并不成立——源码与测试证据只能说明所有权分支与命令构造的正确性不代表每种组合都在设备上验证过排查网络问题时先检查已注册 launcher 与真实 Node 目标再决定是否需要切换镜像网络而不是仅凭CODEX_HOME值下结论。按照「独立 Linux home Pair」的推荐路径配合127.0.0.1:23333-23337监听与镜像网络前提即可获得一条可复现、可验证的 Codex-in-WSL 接入链路若需要 NAT 下开箱即用则共享 home Windows interop 是文档与源码共同支持的替代路径。赞分享桌面应用交互助手【免费下载链接】clawd-on-deskA pixel desktop pet that watches Claude Code, Codex, Cursor other AI coding agents — so you dont have to.项目地址https://gitcode.com/gh_mirrors/cl/clawd-on-desk点击查看免费下载相关推荐Clawd Codex WSL 集成指南路径、Node 与配对机制全解析Clawd Codex WSL 集成指南路径、Node 与配对机制全解析 本指南以 Clawd 官方文档 docs/guides/codex wsl clar桌面应用交互助手Clawd on Desk 的 Codex WSL2 集成指南路径、Node 执行目标与 Pair 配对机制Clawd on Desk 的 Codex WSL2 集成指南路径、Node 执行目标与 Pair 配对机制 本文以 Clawd on Desk 官方澄清桌面应用交互助手gsd-core 托管 JS Hook 的 Node 运行时解析process.execPath 绝对路径与回退链设计gsd core 托管 JS Hook 的 Node 运行时解析process.execPath 绝对路径与回退链设计 导读 本文剖析 gsd core 安装上一篇pxpipe Sol RGB 通道分离诊断三路文字叠加到同一张图片为什么模型读不出来下一篇open-slide 开发指南React Server 组件并行嵌套数据请求的瀑布流消除实践server-parallel-nested-fetching创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考