<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>AI Coding - Tag - Daily Deep Think</title>
        <link>https://blog.baifan.site/en/tags/ai-coding/</link>
        <description>AI Coding - Tag - Daily Deep Think</description>
        <generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>blog@baifan.site (ByF)</managingEditor>
            <webMaster>blog@baifan.site (ByF)</webMaster><lastBuildDate>Mon, 03 Aug 2026 10:00:00 &#43;0800</lastBuildDate><atom:link href="https://blog.baifan.site/en/tags/ai-coding/" rel="self" type="application/rss+xml" /><item>
    <title>Rethinking Team Division of Labor</title>
    <link>https://blog.baifan.site/en/team-roles-evolution-ai-era/</link>
    <pubDate>Mon, 03 Aug 2026 10:00:00 &#43;0800</pubDate><author>
                    <name>ByF</name>
                </author><guid>https://blog.baifan.site/en/team-roles-evolution-ai-era/</guid>
    <description><![CDATA[<blockquote>
  <p><strong>The conclusion first, so you don&rsquo;t waste your read</strong></p>
<p>We used to split teams by craft: frontend, backend, product design.
Now we split teams by stage:
<strong>Prototyper</strong> — grabs the first idea and fails fast
<strong>Builder</strong> — turns the prototype into a product you can take to market
<strong>Maintainer</strong> — holds the fort once the software reaches scale
<strong>Scaler</strong> — takes a proven product and scales it 10x, 100x
<strong>Finisher</strong> — polishes the product and the code, sands off the burrs
As for why we&rsquo;re only splitting this way now — the answer involves AI. Read on.</p>]]></description>
</item>
<item>
    <title>Codex Keeps Reconnecting? Four Fixes</title>
    <link>https://blog.baifan.site/en/codex-websocket-reconnect-fix/</link>
    <pubDate>Tue, 31 Mar 2026 14:00:00 &#43;0800</pubDate><author>
                    <name>ByF</name>
                </author><guid>https://blog.baifan.site/en/codex-websocket-reconnect-fix/</guid>
    <description><![CDATA[<div class="featured-image">
                <img src="/pictures/posts/codex-websocket-reconnect-solutions.svg" referrerpolicy="no-referrer">
            </div><!-- more -->
<p>Codex talks to the ChatGPT backend over WebSocket by default. If your network path involves Clash, a corporate proxy, cross-border transit, or Cloudflare challenge pages, that long-lived WebSocket gets killed easily — and you end up staring at <code>Reconnecting... 1/5</code> over and over. Turn off WebSocket and switch to plain HTTP streaming requests, and the problem mostly disappears.</p>
<figure><a class="lightgallery" href="/pictures/posts/codex-websocket-reconnect-solutions.svg" title="" data-thumbnail="/pictures/posts/codex-websocket-reconnect-solutions.svg" data-sub-html="<h2>Comparison of the four fixes</h2>"><img  loading="lazy" src='/pictures/posts/codex-websocket-reconnect-solutions.svg'     width="900px"></a><figcaption class="image-caption">Comparison of the four fixes</figcaption>
    </figure>
<h2 id="why-websocket-breaks-behind-proxies" class="headerLink">
    <a href="#why-websocket-breaks-behind-proxies" class="header-mark"></a>Why WebSocket Breaks Behind Proxies</h2><p>The WebSocket protocol starts with an HTTP Upgrade request; only after the server returns 101 does it switch to the long-lived connection. That long-lived connection is exactly where the problem sits — proxy servers, firewalls, and CDN nodes all run timeout policies on idle connections, and Cloudflare&rsquo;s challenge mechanism can inject an interstitial page mid-path. Any link in that chain kills the connection, and the Codex client starts <code>Reconnecting</code>.</p>]]></description>
</item>
<item>
    <title>A Guide to SSH Remote Development in the Codex App</title>
    <link>https://blog.baifan.site/en/codex-ssh-remote-development-guide/</link>
    <pubDate>Tue, 10 Feb 2026 14:00:00 &#43;0800</pubDate><author>
                    <name>ByF</name>
                </author><guid>https://blog.baifan.site/en/codex-ssh-remote-development-guide/</guid>
    <description><![CDATA[<div class="featured-image">
                <img src="/pictures/note/codex-ssh-remote-featured.svg" referrerpolicy="no-referrer">
            </div><!-- more -->
<blockquote>
  <p><strong>Update note</strong>: This post is based on the Codex App as of May 2026. SSH Remote is still in alpha, and the configuration methods and UI entry points may change with new releases. If anything here has gone stale, refer to the <a href="https://github.com/openai/codex" target="_blank" rel="noopener noreferrer">official documentation</a> for the latest.</p>

</blockquote><p>The Codex App now supports connecting to remote machines over SSH; the feature is currently in alpha.</p>
<p>If you develop on remote servers, train models, or run environments there, this is worth a try. It lets you connect to a remote server directly inside Codex and work in the remote filesystem and shell — no more jumping back and forth between a local terminal, VSCode Remote, SSH, and tmux.</p>]]></description>
</item>
<item>
    <title>Pi Coding Agent: The Complete Guide to Minimalist Coding</title>
    <link>https://blog.baifan.site/en/pi-coding-agent-complete-guide/</link>
    <pubDate>Tue, 13 Jan 2026 14:00:00 &#43;0800</pubDate><author>
                    <name>ByF</name>
                </author><guid>https://blog.baifan.site/en/pi-coding-agent-complete-guide/</guid>
    <description><![CDATA[<div class="featured-image">
                <img src="/pictures/note/pi-coding-agent-featured.svg" referrerpolicy="no-referrer">
            </div><!-- more -->
<h2 id="preface" class="headerLink">
    <a href="#preface" class="header-mark"></a>Preface</h2><p>In the author&rsquo;s own words, Pi Coding Agent is an <strong>opinionated, minimalist</strong> coding agent. After using it for a while, I consider it one of the best AI agent CLIs available today.</p>
<p>Projects that blow up tend to attract low-quality issues and AI-generated PRs, and the name <strong>pi</strong> is a clever touch — it gets associated with the mathematical constant, which is exactly what the author intended: keep the profile low and the community quality high.</p>]]></description>
</item>
</channel>
</rss>
