<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Codex on OHTLY Blog</title>
    <link>https://blog.ohtly.com/tags/codex/</link>
    <description>Recent content in Codex on OHTLY Blog</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Wed, 24 Jun 2026 17:22:48 +0800</lastBuildDate>
    <atom:link href="https://blog.ohtly.com/tags/codex/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Codex CLI 与 OpenCode 的对比</title>
      <link>https://blog.ohtly.com/posts/2026-06-24-codex-vs-opencode/</link>
      <pubDate>Wed, 24 Jun 2026 17:22:48 +0800</pubDate>
      <guid>https://blog.ohtly.com/posts/2026-06-24-codex-vs-opencode/</guid>
      <description>&lt;p&gt;OpenAI 去年发布了 &lt;a href=&#34;https://github.com/openai/codex&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Codex CLI&lt;/a&gt;，加上社区早已熟知的 &lt;a href=&#34;https://github.com/sst/opencode&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;OpenCode&lt;/a&gt;（SST 团队从零构建，受 Claude Code 启发，与 OpenHands/OpenDevin 无关），两者代表了终端 AI 编码代理的两个不同方向。这篇文章记录实际使用和社区反馈的综合对比。&lt;/p&gt;</description>
    </item>
    <item>
      <title>同时适配 OpenCode 和 Codex CLI 的配置方法</title>
      <link>https://blog.ohtly.com/posts/2026-06-24-codex-opencode-coexist/</link>
      <pubDate>Wed, 24 Jun 2026 16:47:06 +0800</pubDate>
      <guid>https://blog.ohtly.com/posts/2026-06-24-codex-opencode-coexist/</guid>
      <description>&lt;h2 id=&#34;问题&#34;&gt;&#xA;  问题&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%e9%97%ae%e9%a2%98&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;链接到标题&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;链接到标题&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;两个终端 AI 编码 agent 各有优势，但配置格式完全不互通。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;OpenCode&lt;/strong&gt;：配置在 &lt;code&gt;.opencode/&lt;/code&gt; 目录，subagent 用 Markdown + YAML frontmatter，权限控制细粒度&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Codex CLI（OpenAI）&lt;/strong&gt;：配置在 &lt;code&gt;.codex/&lt;/code&gt; 目录，custom agent 用 TOML 格式，权限模型粗粒度&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Skills&lt;/strong&gt; 加载路径两边也不同&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;如果继续分别在 &lt;code&gt;.opencode/skills/&lt;/code&gt; 和 &lt;code&gt;.codex/skills/&lt;/code&gt; 各放一份，维护成本会翻倍。更新一条命令模板要改两个文件，迟早不同步。&lt;/p&gt;&#xA;&lt;p&gt;本文记录了一个实际项目的配置方案：&lt;strong&gt;Skill 放共享层，Agent 放独立层，AGENTS.md 做通用索引&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;h2 id=&#34;全貌对比&#34;&gt;&#xA;  全貌对比&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%e5%85%a8%e8%b2%8c%e5%af%b9%e6%af%94&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;链接到标题&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;链接到标题&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;先看两个工具的配置差异：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;项目&lt;/th&gt;&#xA;          &lt;th&gt;OpenCode&lt;/th&gt;&#xA;          &lt;th&gt;Codex CLI&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Skills 目录&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;.opencode/skills/&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;.codex/skills/&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;通用 Skills&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;.agents/skills/&lt;/code&gt; ✅&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;.agents/skills/&lt;/code&gt; ✅&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Subagent 目录&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;.opencode/agents/*.md&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;.codex/agents/*.toml&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;项目配置&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;opencode.json&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;.codex/config.toml&lt;/code&gt; 或全局&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;权限粒度&lt;/td&gt;&#xA;          &lt;td&gt;YAML permission 细粒度（按工具/按命令）&lt;/td&gt;&#xA;          &lt;td&gt;sandbox_mode 粗粒度（read-only / workspace-write / danger-full-access）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;AGENTS.md&lt;/td&gt;&#xA;          &lt;td&gt;✅ 根目录&lt;/td&gt;&#xA;          &lt;td&gt;✅ 根目录&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;两个关键发现：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Codex CLI 网络代理设置</title>
      <link>https://blog.ohtly.com/posts/2026-06-24-codex-cli-proxy/</link>
      <pubDate>Wed, 24 Jun 2026 15:52:35 +0800</pubDate>
      <guid>https://blog.ohtly.com/posts/2026-06-24-codex-cli-proxy/</guid>
      <description>&lt;p&gt;Codex CLI 默认直连网络。在国内网络环境或企业内网中，通常需要通过 HTTP 代理（Clash、Surge、Zscaler 等）访问外网。&lt;/p&gt;&#xA;&lt;h2 id=&#34;代理机制&#34;&gt;&#xA;  代理机制&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%e4%bb%a3%e7%90%86%e6%9c%ba%e5%88%b6&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;链接到标题&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;链接到标题&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Codex CLI 的 HTTP 客户端（Rust/reqwest）读取以下环境变量：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;HTTP_PROXY&lt;/code&gt; / &lt;code&gt;http_proxy&lt;/code&gt; — HTTP 代理地址&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;HTTPS_PROXY&lt;/code&gt; / &lt;code&gt;https_proxy&lt;/code&gt; — HTTPS 代理地址&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;NO_PROXY&lt;/code&gt; / &lt;code&gt;no_proxy&lt;/code&gt; — 绕过代理的地址列表&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;ALL_PROXY&lt;/code&gt; / &lt;code&gt;all_proxy&lt;/code&gt; — 兜底代理&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;优先级：&lt;code&gt;HTTPS_PROXY&lt;/code&gt; &amp;gt; &lt;code&gt;HTTP_PROXY&lt;/code&gt; &amp;gt; &lt;code&gt;ALL_PROXY&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;h2 id=&#34;配置方式&#34;&gt;&#xA;  配置方式&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%e9%85%8d%e7%bd%ae%e6%96%b9%e5%bc%8f&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;链接到标题&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;链接到标题&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;推荐env-文件&#34;&gt;&#xA;  推荐：&lt;code&gt;.env&lt;/code&gt; 文件&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%e6%8e%a8%e8%8d%90env-%e6%96%87%e4%bb%b6&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;链接到标题&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;链接到标题&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Codex 启动时自动加载 &lt;code&gt;~/.codex/.env&lt;/code&gt;，将其中定义的环境变量注入进程。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-env&#34; data-lang=&#34;env&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;HTTP_PROXY&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;http://127.0.0.1:7890&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;HTTPS_PROXY&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;http://127.0.0.1:7890&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;NO_PROXY&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;localhost,127.0.0.1,.lan,内网 IP 段&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;优点：不污染 shell 配置，只对 Codex 生效，与 opencode 等工具兼容。&lt;/p&gt;&#xA;&lt;h3 id=&#34;备选shell-环境变量&#34;&gt;&#xA;  备选：Shell 环境变量&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%e5%a4%87%e9%80%89shell-%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;链接到标题&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;链接到标题&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;直接写在 &lt;code&gt;~/.zshrc&lt;/code&gt; 或 &lt;code&gt;~/.bashrc&lt;/code&gt; 中：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Codex CLI 用 DeepSeek 的协议转换方案</title>
      <link>https://blog.ohtly.com/posts/2026-06-24-codex-cli-deepseek/</link>
      <pubDate>Wed, 24 Jun 2026 14:35:40 +0800</pubDate>
      <guid>https://blog.ohtly.com/posts/2026-06-24-codex-cli-deepseek/</guid>
      <description>&lt;p&gt;Codex CLI 是 OpenAI 出品的终端编码 agent。2026 年 2 月起，Codex 只支持 OpenAI Responses API（&lt;code&gt;/v1/responses&lt;/code&gt;），不再兼容 Chat Completions（&lt;code&gt;/v1/chat/completions&lt;/code&gt;）。DeepSeek 官方 API 只提供 Chat Completions 接口，两者协议不互通。&lt;/p&gt;&#xA;&lt;p&gt;需要一个协议转换层。&lt;/p&gt;&#xA;&lt;h2 id=&#34;方案对比&#34;&gt;&#xA;  方案对比&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#%e6%96%b9%e6%a1%88%e5%af%b9%e6%af%94&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;链接到标题&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;链接到标题&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;方案&lt;/th&gt;&#xA;          &lt;th&gt;原理&lt;/th&gt;&#xA;          &lt;th&gt;评价&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Chutes&lt;/td&gt;&#xA;          &lt;td&gt;云端 Responses→Chat 翻译&lt;/td&gt;&#xA;          &lt;td&gt;依赖第三方云服务&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;LiteLLM&lt;/td&gt;&#xA;          &lt;td&gt;全能 AI 网关&lt;/td&gt;&#xA;          &lt;td&gt;功能太多，对 Codex 场景大材小用&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;open-codex fork&lt;/td&gt;&#xA;          &lt;td&gt;用 Chat API 重写&lt;/td&gt;&#xA;          &lt;td&gt;已停更&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;strong&gt;Moon Bridge&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;strong&gt;本地 Go 代理，协议转换 + 路由&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td&gt;&lt;strong&gt;DeepSeek 官方推荐，轻量专注&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;Moon Bridge 是 Go 写的协议转换代理，对外暴露 &lt;code&gt;POST /v1/responses&lt;/code&gt;，对内将请求转为 Anthropic Messages API 格式发给 DeepSeek（DeepSeek 兼容 Anthropic 协议）。支持多 Provider 路由、请求跟踪、Web Console 管理。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
