HSIUNG
SHAO
Work index / 12 records

系統、工具與長期維護。

這裡不是作品縮圖牆,而是一份可以追溯的工作索引。每個專案都保留它解決的問題、目前狀態,以及實際可閱讀的技術紀錄。

Current & maintained

仍在推進的系統

正在開發或持續維護的公開專案。展開每一列可以查看設計重點、技術組合與相關文章。

01

Game Server Control Panel

開發中 / Full stack

自架式遊戲伺服器管理面板,整合安裝、啟停、即時主控台與遠端操作。

以 TypeScript monorepo 開發的本地優先管理工具。後端代理程式負責遊戲行程、安裝工作與狀態持久化,前端則提供伺服器建立精靈、即時主控台和工作進度。現階段正從可用的第一階段往自動安裝與更新流程推進。

TypeScriptFastifyReact 19WebSocketSQLiteZustandxterm.js
Key decisions
  • 程序生命週期 — 集中管理啟動、停止、異常退出與 Windows 終止備援
  • 即時互動 — WebSocket 串接遊戲主控台與遠端指令
  • 安裝工作流 — Minecraft 與 SteamCMD 安裝器採可追蹤的背景工作設計
02

Local Task Manager

開發中 / Tooling

以專案為中心的 Electron 開發工作台,整合任務、Git、終端機與本地服務。

把分散在終端機、Git 工具與筆記裡的日常開發流程收進同一個桌面工作區。應用透過明確的 IPC 合約隔離主程序與渲染程序,並用 SQLite 保存專案、任務和工作階段狀態;目前持續改善終端機與專案工作區體驗。

ElectronReactTypeScriptSQLitenode-ptyTanStack QueryZustand
Key decisions
  • 單一 IPC 合約 — 集中管理主程序與前端之間的通訊邊界
  • 本地工作區 — Kanban、Git diff、檔案樹、編輯器與服務控制整合
  • 終端機生命週期 — PTY 建立、還原與工作階段管理
03

MultiStream Hub

持續維護 / Frontend

免費的多平台直播觀看工具,支援同時觀看 Twitch 與 YouTube 直播。

提供多視窗畫布、拖曳交換、聊天室整合、收藏與多語言介面,並針對桌面、手機與橫向模式調整操作方式。服務已部署上線,目前以穩定性、平台相容性與資料同步維護為主。

ReactTypeScriptViteTailwind CSSZustandTanStack QuerySupabaseCloudflare Pages
Key decisions
  • 多平台畫布 — Twitch 與 YouTube 多視窗觀看及聊天室整合
  • 跨裝置體驗 — 桌面、手機與橫向模式各自調整操作密度
  • 邊緣服務 — Cloudflare Pages Functions 搭配 Supabase 排程與資料同步
04

PobTools

持續維護 / Tooling

Path of Building 台服繁中在地化工具,以外部注入方式維持與上游共存。

透過 C++ 主程式、Lua runtime patch 與翻譯資料管線,在不直接修改上游程式碼的前提下加入繁中介面、CJK 搜尋與貼上支援。現已完成首次公開版本,後續以相容性和翻譯資料維護為主。

C++17CMakeLuaImGuiPythonvcpkg
Key decisions
  • 低侵入整合 — 不修改上游核心,以執行期注入繁中功能
  • CJK 相容 — 補足搜尋、字型與文字貼上的語系需求
  • 資料管線 — 將翻譯資料產製與原生執行環境分離
05

Discord Bot 自動化機器人

持續維護 / Backend

長時間運行的模組化 Discord 機器人,負責通知、翻譯與遊戲服務自動化。

以 Cog 架構拆分新聞追蹤、排程通知、遊戲伺服器控制、跨頻道轉發與即時翻譯。設計重點是讓各功能能獨立停用、重試與維護,同時保護私有設定和部署環境。

Pythondiscord.pyAPScheduleraiohttpBeautifulSoupNLLBCUDA
Key decisions
  • 模組化服務 — Cogs 與排程工作可獨立載入及維護
  • 可靠通知 — 重試、去重與跨頻道推送
  • 本地推論 — 使用 GPU 執行即時翻譯並保留部署彈性
06

Minecraft MOD 翻譯工具

持續維護 / Tooling

使用本地語言模型或翻譯服務,將 Minecraft MOD 語系檔轉為繁中資源包。

支援 MOD 語系抽取、增量翻譯、格式碼保護、SQLite 快取與資源包輸出,並提供 Windows GUI 與單檔執行版本。目前功能已完成,維持相容性與翻譯引擎調整。

PythonTkinterSQLiteLM StudioPyInstaller
Key decisions
  • 增量翻譯 — 只處理新增或變更的字串並重用快取
  • 格式保護 — 保留遊戲色碼、變數與特殊標記
  • 本地模型 — 可透過 LM Studio 使用本機 GPU 推論
07

Poe Market zh

持續維護 / Tooling

讓 Path of Exile 國際交易站支援中文搜尋與結果翻譯的瀏覽器擴充。

以瀏覽器擴充注入頁面環境,處理動態內容與多來源字典更新,在保留英文原文的同時提供中文對照。此專案目前以手動資料維護和版本相容為主。

Chrome ExtensionManifest V3JavaScriptMutationObserver
Key decisions
  • 動態頁面翻譯 — 監看交易結果更新並增量處理
  • 字典同步 — 整合官方資料與本地翻譯字典
  • 原文保留 — 中文搜尋和對照不破壞既有交易資訊
08

Awakened PoE Trade-zh-TW

開發中 / Tooling

Awakened PoE Trade 的繁體中文修正版,修復國際服繁中客戶端的物品解析與交易搜尋。

保留原作的查價、overlay 與快捷鍵體驗,針對繁中客戶端的分隔線、全形標點、魔法物品名、詞綴標籤、區域名稱與交易類型進行修正。提供安裝版與免安裝版,並改成由使用者確認後才下載更新。

ElectronVue 3TypeScriptVitePoE Trade API
Key decisions
  • 繁中解析 — 修正不定長分隔線、全形冒號、空行與無標註詞綴
  • 交易搜尋 — 修復海圖區域、傭兵流派與同名物品的查詢條件
  • 可控更新 — 只檢查版本,由使用者按下 Install now 後才下載
09

AI Music Workflow

開發中 / Tooling

從企劃、歌詞、生成到封面與影片輸出的 AI 音樂製作流程。

以 Python 工具與本地生成模型串接歌曲企劃、音訊分析、歌詞、品牌視覺與影片輸出,並用可追蹤的工作流程管理各首歌曲的素材與發布階段。目前以 Kumori Music 名義持續製作動畫靈感原創音樂。

PythonFastAPIReactComfyUIFFmpeglibrosa
Key decisions
  • 完整製作鏈 — 從歌曲企劃、生成與品質檢查一路銜接品牌視覺及正式影片
  • 引擎隔離 — 不同音樂模型和大型權重與作品資料分離
  • 發布流程 — 以 Remotion 與 FFmpeg 輸出橫式正式影片及直式 Shorts
Archive

已暫停與完成的探索

不是刪除紀錄,而是保留當時解決的問題、做過的取捨與可以延續的技術成果。

01

PoE Build Viewer

已封存 / Frontend

解析 Path of Building 分享碼並呈現角色裝備與配置的網頁實驗。

以 Next.js 實作 PoB code 解壓、XML 解析、裝備呈現與多語系資料對照。這個方向目前不再繼續開發,保留為資料解析與遊戲工具設計的階段性紀錄。

Next.jsReactTypeScriptZustandSupabase
Key decisions
  • 分享碼解析 — 解壓並轉換 Path of Building XML 資料
  • 遊戲資料對照 — 將裝備與詞綴映射為可閱讀內容
  • 階段性收尾 — 記錄停止投入的原因與可重用經驗
Protected work

客戶專案的技術切面

只談可公開的架構、工程方法與解題方向;不揭露客戶名稱、營運資料與商業細節。

C01

資料管理平台技術案例

Technical case

客戶專案案例;僅分享 React、PostgreSQL 與權限設計等工程實作。

+

為保護客戶與營運資訊,本案例不公開品牌、資料結構和實際流程,只整理前端型別安全、資料權限、狀態建模、報表輸出與第三方整合的通用工程方法。

  • 權限邊界 — 以前後端雙層規則限制資料存取
  • 型別安全 — 表單、驗證與資料存取共用明確結構
  • 狀態建模 — 將複雜操作拆成可驗證的狀態轉移
C02

品牌網站技術案例

Technical case

客戶專案案例;僅分享前端遷移、內容管理與部署架構。

+

此案例只描述可重用的技術決策:從既有框架遷移至 React 與 Vite、以 Supabase 管理內容和權限、處理 SPA 部署、圖片壓縮與搜尋引擎所需的基礎設定,不公開品牌或營運細節。

  • 框架遷移 — 保留功能的同時降低前端部署複雜度
  • 內容與權限 — 將公開頁面和管理功能清楚隔離
  • 靜態部署 — 處理 SPA fallback、SEO 與圖片輸出