<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Ronnie Wong Blog</title>
    <link>https://ronniewong.cc/blog.html</link>
    <description>Notes about product engineering, Apple platforms, AI workflows, design, and building independent software.</description>
    <language>zh-Hant</language>
    <atom:link href="https://ronniewong.cc/rss.xml" rel="self" type="application/rss+xml" />
    <lastBuildDate>Sun, 16 Aug 2026 11:56:00 GMT</lastBuildDate>
    <item>
      <title>Skill 不只教 AI 做事，也能替子代理選好模型</title>
      <link>https://ronniewong.cc/blog/skills-choose-agent-models-3bec1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/skills-choose-agent-models-3bec1b36/</guid>
      <description>最近因為 ChatGPT 20x 的額度很少了。</description>
      <pubDate>Sun, 16 Aug 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <category>Automation</category>
      <category>Local AI</category>
      <category>Notes</category>
    </item>
    <item>
      <title>怎麼教會 AI 玩遊戲？WindowsAgent 的三線架構</title>
      <link>https://ronniewong.cc/blog/ai-game-agent-three-line-runtime-3bdc1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/ai-game-agent-three-line-runtime-3bdc1b36/</guid>
      <description>把一張遊戲截圖交給 AI，它通常能認出飛船、HUD 和文字提示。</description>
      <pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <category>LLM</category>
      <category>Windows</category>
      <category>Automation</category>
      <category>Design</category>
      <category>Notes</category>
    </item>
    <item>
      <title>靜態歌詞也能先「跟上」：用進度把未知位置縮到三行</title>
      <link>https://ronniewong.cc/blog/static-lyric-three-line-positioning-3a4c1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/static-lyric-three-line-positioning-3a4c1b36/</guid>
      <description>靜態歌詞最令人挫折的時刻，不是它沒有文字，而是歌正在播，文字卻像一本沒有書籤的書。你看得到全部內容，卻不知道現在該看哪裡。</description>
      <pubDate>Wed, 22 Jul 2026 00:00:00 GMT</pubDate>
      <category>Product</category>
      <category>Notes</category>
      <category>Automation</category>
    </item>
    <item>
      <title>LyricGlass: a Private, Single-Device LRCLIB Client</title>
      <link>https://ronniewong.cc/blog/lyricglass-lrclib-client-3a4c1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/lyricglass-lrclib-client-3a4c1b36/</guid>
      <description>LyricGlass is a private, single-device lyric display app maintained by RonnieCC. It runs exclusively on one Essential PH-1 and uses Apple Music as its primary…</description>
      <pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate>
      <category>Notes</category>
      <category>Product</category>
    </item>
    <item>
      <title>6 個讓 Codex 不再瞎忙的工作流 Skill</title>
      <link>https://ronniewong.cc/blog/codex-workflow-skills-369c1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/codex-workflow-skills-369c1b36/</guid>
      <description>我作為一個用了 Codex 接近兩年的用戶。</description>
      <pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <category>Automation</category>
      <category>Local AI</category>
      <category>Pipeline</category>
      <category>Notes</category>
    </item>
    <item>
      <title>你寫了很多文章，卻沒有被搜尋引擎和 AI 工具穩定讀到</title>
      <link>https://ronniewong.cc/blog/machine-readable-content-layer-368c1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/machine-readable-content-layer-368c1b36/</guid>
      <description>我最近在整理 RonnieCC Blog 時，遇到一個看起來很小、但其實會影響整個內容分發的問題：文章在網站上看得到，不代表它已經被搜尋引擎、sitemap、link preview 或 AI 工具穩定讀到。</description>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <category>Notion</category>
      <category>Pipeline</category>
      <category>Product</category>
      <category>Notes</category>
    </item>
    <item>
      <title>用 Codex 做設計：從「網站太醜」到可驗收的品味控制</title>
      <link>https://ronniewong.cc/blog/codex-design-taste-control-368c1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/codex-design-taste-control-368c1b36/</guid>
      <description>重啟 RonnieCC 的設計，不是從一套設計理念開始的。</description>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <category>Design</category>
      <category>Notes</category>
    </item>
    <item>
      <title>aDict 3.0 Beta: An Update for Existing Users</title>
      <link>https://ronniewong.cc/blog/adict-3-beta-existing-users-366c1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/adict-3-beta-existing-users-366c1b36/</guid>
      <description>If you used aDict before, this update is mainly for you: aDict is back.</description>
      <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
      <category>aDict</category>
      <category>Dictionary</category>
      <category>Product</category>
      <category>Notes</category>
    </item>
    <item>
      <title>aDict 3.0 一個老詞典 App 的重寫</title>
      <link>https://ronniewong.cc/blog/adict-3-rewrite-dictionary-app-35fc1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/adict-3-rewrite-dictionary-app-35fc1b36/</guid>
      <description>aDict 是我一個老項目。</description>
      <pubDate>Thu, 14 May 2026 00:00:00 GMT</pubDate>
      <category>aDict</category>
      <category>Dictionary</category>
      <category>Product</category>
      <category>AI</category>
      <category>Swift</category>
      <category>iOS</category>
      <category>macOS</category>
    </item>
    <item>
      <title>用歷史資料改提示詞：Trackly 圖片記帳抽取器的證據帳本</title>
      <link>https://ronniewong.cc/blog/trackly-prompt-evidence-ledger-358c1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/trackly-prompt-evidence-ledger-358c1b36/</guid>
      <description>這次 Trackly 圖片記帳提示詞優化，不是從抽象原則開始，而是從一批歷史記帳資料裡反覆追問同一件事：這筆失敗到底是 prompt 錯、gold 錯，還是驗收規則錯？</description>
      <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <category>Local AI</category>
      <category>Product</category>
      <category>Notes</category>
    </item>
    <item>
      <title>VLM 不等於 Visual-first：Qwen3.5 在圖片記帳任務裡暴露的提示詞陷阱</title>
      <link>https://ronniewong.cc/blog/qwen-visual-first-prompt-traps-357c1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/qwen-visual-first-prompt-traps-357c1b36/</guid>
      <description>我原本以為這次 Trackly 記帳提示詞優化已經接近收尾。</description>
      <pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <category>Local AI</category>
      <category>Product</category>
      <category>Notes</category>
    </item>
    <item>
      <title>GitHub Pages、Search Console 與一個 sitemap 黑箱問題</title>
      <link>https://ronniewong.cc/blog/github-pages-search-console-sitemap-356c1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/github-pages-search-console-sitemap-356c1b36/</guid>
      <description>這篇日誌記錄的是一次很小、但很典型的 SEO / Ops 問題：aDict landing page 的 sitemap 在 Google Search Console 裡長時間顯示無法擷取。問題本身不大，只有三個 URL；但它暴露的是另一件事：Search Console 是黑箱系統，當 UI 只給出模糊狀態時，工…</description>
      <pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate>
      <category>aDict</category>
      <category>Ops</category>
      <category>Serverless</category>
      <category>Product</category>
      <category>Notes</category>
    </item>
    <item>
      <title>aDict 的演化歷史：從順眼的查詞工具到本地詞典架構</title>
      <link>https://ronniewong.cc/blog/adict-evolution-local-dictionary-34ec1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/adict-evolution-local-dictionary-34ec1b36/</guid>
      <description>aDict 的起點，不是一個宏大的詞典平台。</description>
      <pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate>
      <category>aDict</category>
      <category>iOS</category>
      <category>macOS</category>
      <category>Swift</category>
      <category>Dictionary</category>
      <category>Product</category>
    </item>
    <item>
      <title>從魔法按鈕到白盒工廠：HLN Machine 的工程實錄</title>
      <link>https://ronniewong.cc/blog/hln-machine-white-box-factory-34ec1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/hln-machine-white-box-factory-34ec1b36/</guid>
      <description>AI 工廠真正困難的地方，不是讓模型生成一次結果，而是讓每一次失敗都能被看見、被定位、被替換，最後重新接回管線。</description>
      <pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <category>LLM</category>
      <category>Automation</category>
      <category>Video</category>
      <category>Local AI</category>
      <category>Pipeline</category>
    </item>
    <item>
      <title>SwiftTerm 數據流與監控機制分析報告</title>
      <link>https://ronniewong.cc/blog/swiftterm-dataflow-monitoring-2f6c1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/swiftterm-dataflow-monitoring-2f6c1b36/</guid>
      <description>本報告旨在總結 SwiftTerm 庫中關於數據輸入 (feed)、內容獲取以及活動監控的核心機制。適用於需要集成終端模擬器並對其數據流進行控制或監聽的上層應用開發。</description>
      <pubDate>Wed, 28 Jan 2026 00:00:00 GMT</pubDate>
      <category>SwiftTerm</category>
      <category>Terminal</category>
    </item>
    <item>
      <title>HSBBrowserAppStore-tvOS-review-public（中文版）</title>
      <link>https://ronniewong.cc/blog/hsbbrowserappstore-tvos-review-cn-2e8c1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/hsbbrowserappstore-tvos-review-cn-2e8c1b36/</guid>
      <description>日期：2026-01-14</description>
      <pubDate>Wed, 14 Jan 2026 00:00:00 GMT</pubDate>
      <category>tvOS</category>
      <category>App Store</category>
      <category>Review</category>
      <category>WebKit</category>
    </item>
    <item>
      <title>在 tvOS 上活下來：一個非典型播放器的工程實錄</title>
      <link>https://ronniewong.cc/blog/tvos-player-engineering-2e2c1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/tvos-player-engineering-2e2c1b36/</guid>
      <description>如果你只是寫一個 Demo，tvOS 看起來其實不難；但只要嘗試做一個需要長期維護、面對真實用戶環境的 App，很快就會發現：tvOS 從來就不是 iPad 的放大版。</description>
      <pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate>
      <category>tvOS</category>
      <category>Player</category>
      <category>SwiftUI</category>
    </item>
    <item>
      <title>用 Semantic Entropy 降低長文翻譯中的名詞飄移</title>
      <link>https://ronniewong.cc/blog/semantic-entropy-translation-drift-2b6c1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/semantic-entropy-translation-drift-2b6c1b36/</guid>
      <description>長文翻譯裡，有一個很常見但很煩的問題：名詞會飄。</description>
      <pubDate>Tue, 25 Nov 2025 00:00:00 GMT</pubDate>
      <category>AI</category>
      <category>LLM</category>
      <category>Translation</category>
    </item>
    <item>
      <title>使用 Apple 捷徑方便使用 Windows 功能</title>
      <link>https://ronniewong.cc/blog/apple-shortcuts-windows-workflow-10fc1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/apple-shortcuts-windows-workflow-10fc1b36/</guid>
      <description>參考文檔：https://gist.github.com/teocci/5a96568ab9bf93a592d7a1a237ebb6ea</description>
      <pubDate>Sat, 28 Sep 2024 00:00:00 GMT</pubDate>
      <category>Windows</category>
      <category>Shortcut</category>
      <category>Automation</category>
    </item>
    <item>
      <title>使用 UITableView.allowsFocus 解決 UITableView 和 SwiftUI 混寫的焦點錯誤對焦的問題</title>
      <link>https://ronniewong.cc/blog/uitableview-swiftui-focus-bug-108c1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/uitableview-swiftui-focus-bug-108c1b36/</guid>
      <description>這是一個在 tvOS 上混用 SwiftUI 與 UITableView 時，因為 SwiftUI 的焦點預測機制與實際列表高度不一致，導致焦點錯位，最後必須直接接管 UITableView Focus 系統才能解決的實戰案例。</description>
      <pubDate>Sat, 21 Sep 2024 00:00:00 GMT</pubDate>
      <category>SwiftUI</category>
      <category>UIKit</category>
      <category>tvOS</category>
    </item>
    <item>
      <title>用流式下載避免 AVPlayer 播放時的內存爆炸</title>
      <link>https://ronniewong.cc/blog/avplayer-streaming-memory-34ec1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/avplayer-streaming-memory-34ec1b36/</guid>
      <description>在 AVPlayer 播放遠端媒體時，一個常見錯誤是把整個檔案先下載到內存，再交給播放器處理。這在小檔案上看不出問題，但一旦遇到長影片或高碼率素材，內存會快速膨脹，最終導致 App 被系統殺掉。</description>
      <pubDate>Tue, 18 Jul 2023 00:00:00 GMT</pubDate>
      <category>iOS</category>
      <category>Swift</category>
      <category>AVFoundation</category>
      <category>Player</category>
    </item>
    <item>
      <title>Fuck SwiftUI 的筆記</title>
      <link>https://ronniewong.cc/blog/swiftui-notes-2b1d8abf/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/swiftui-notes-2b1d8abf/</guid>
      <description>很多都是 tvOS 的紀錄，部分 macOS 和 iOS 的紀錄。有部分 Bug 我依然還沒找到妥善的解決辦法。</description>
      <pubDate>Tue, 31 Jan 2023 00:00:00 GMT</pubDate>
      <category>SwiftUI</category>
      <category>tvOS</category>
      <category>iOS</category>
      <category>macOS</category>
      <category>UIKit</category>
      <category>Bug</category>
      <category>Notes</category>
    </item>
    <item>
      <title>使用 SwiftUI 開發多個平台的應用</title>
      <link>https://ronniewong.cc/blog/swiftui-multiplatform-apps-2ebc1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/swiftui-multiplatform-apps-2ebc1b36/</guid>
      <description>使用 SwiftUI 可共享大部分的代碼。我在編寫 Nomad Drive App 時候使用了此方案，借這次的開發過程，我總結了這篇文章來記錄一下我使用該方案遇到的問題。</description>
      <pubDate>Thu, 02 Dec 2021 00:00:00 GMT</pubDate>
      <category>SwiftUI</category>
      <category>iOS</category>
      <category>macOS</category>
      <category>tvOS</category>
    </item>
    <item>
      <title>Syncnext 改版日誌</title>
      <link>https://ronniewong.cc/blog/syncnext-redesign-log-c01c1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/syncnext-redesign-log-c01c1b36/</guid>
      <description>本次專案討論的是 SyncPlayer 1.0 向 2.0 的改版過程。1.0 版本 2019 年立案。由於具備歷史性的問題，維護難度日漸困難。所以在 2021 年 10 月，我毅然開始了 2.0 的重寫計畫，使用全新的 Swift 5.5 新特性和 tvOS 15 的相關新特性，以及使用 SwiftUI 進行編寫。</description>
      <pubDate>Wed, 01 Sep 2021 00:00:00 GMT</pubDate>
      <category>tvOS</category>
      <category>SwiftUI</category>
      <category>Player</category>
      <category>Notion</category>
      <category>Design</category>
    </item>
    <item>
      <title>以 Serverless 形式重写工作室网站</title>
      <link>https://ronniewong.cc/blog/serverless-studio-website-2b7c1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/serverless-studio-website-2b7c1b36/</guid>
      <description>Serverless，如同字面意思一樣，即是「無伺服器運算」。從使用者的角度出發，使用 Serverless 方案可減少物理伺服器的維護問題，降低維護成本。</description>
      <pubDate>Fri, 01 Jan 2021 00:00:00 GMT</pubDate>
      <category>Serverless</category>
      <category>WebKit</category>
    </item>
    <item>
      <title>元の氣 Bread</title>
      <link>https://ronniewong.cc/blog/motonoqi-bread-design-9bfc1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/motonoqi-bread-design-9bfc1b36/</guid>
      <description>經過提案以及 3 次設計修改。我作為設計師終於完成了設計。</description>
      <pubDate>Wed, 01 Apr 2020 00:00:00 GMT</pubDate>
      <category>Design</category>
      <category>WeChat</category>
      <category>Mini Program</category>
      <category>Food</category>
    </item>
    <item>
      <title>Sketch 的按鍵精靈：循環點擊確認字體嵌入協議</title>
      <link>https://ronniewong.cc/blog/sketch-font-embedding-automation-c9ec1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/sketch-font-embedding-automation-c9ec1b36/</guid>
      <description>在 Sketch 68 之後，增加了讓人激動的新功能“嵌入字體”。</description>
      <pubDate>Wed, 01 Jan 2020 00:00:00 GMT</pubDate>
      <category>Sketch</category>
      <category>Automation</category>
    </item>
    <item>
      <title>VSCode 美化攻略</title>
      <link>https://ronniewong.cc/blog/vscode-visual-polish-7f9c1b36/</link>
      <guid isPermaLink="true">https://ronniewong.cc/blog/vscode-visual-polish-7f9c1b36/</guid>
      <description>我們都想擁有一個看起來十分好看的代碼編輯器。</description>
      <pubDate>Wed, 01 Jan 2020 00:00:00 GMT</pubDate>
      <category>VSCode</category>
    </item>
  </channel>
</rss>
