目錄
你的 GitHub stars 裡大概有一堆「以後要用」卻從沒打開過的 repo。這些不是那種——它們各自解決一個很具體的痛點,而且很多是你裝上去之後三天內就會用到的工具。
TL;DR
10 個工程師工具箱裡少見但實用的開源專案,涵蓋程式碼視覺化、本地 CI 執行、終端機 UI 生成、API 測試、Git 工作流強化等領域。每個都有明確的使用場景,不是通用工具。
1. Carbon — 把程式碼截圖做得像設計師作品
GitHub: carbon-app/carbon
在 Twitter 或技術部落格貼程式碼截圖,直接截螢幕的效果往往很醜。Carbon 讓你選擇主題、字型、背景色,把一段程式碼輸出成美觀的 PNG/SVG。
適合場景:技術分享貼文、演講簡報的程式碼截圖、README 的示例圖。
不適合場景:你需要貼可以直接複製的程式碼——圖片沒法複製。
2. Excalidraw — 架構圖的白板工具,看起來像手繪
GitHub: excalidraw/excalidraw
Lucidchart 和 Draw.io 的圖看起來太正式,有時候你就是需要一個「快速草圖」感覺的架構圖。Excalidraw 生成的圖有刻意的「手繪」風格,而且完全免費開源,可以自架。支援即時協作、匯出 SVG。
VS Code 有對應的 extension,可以直接在編輯器裡開 .excalidraw 檔案。
3. nektos/act — 在本機跑 GitHub Actions
GitHub: nektos/act
每次 push 才能測試 CI workflow 是最浪費時間的事之一。act 讓你在本機用 Docker 執行 GitHub Actions workflow,迭代速度快十倍。
# 安裝(macOS)
brew install act
# 跑所有 push event 的 workflow
act push
# 只跑特定 job
act -j build
限制:部分 GitHub 內建的 action(如 actions/checkout)需要額外設定才能在本機正確執行。
4. Hoppscotch — 開源的 Postman 替代品,可以自架
GitHub: hoppscotch/hoppscotch
Postman 免費版的功能越來越受限,而且把你的 API collection 存在他們的雲端。Hoppscotch 完全開源,支援 REST、GraphQL、WebSocket 測試,可以自架在你自己的伺服器,資料完全在你手上。
Web 版免費,自架版社群授權免費。
5. Bun Shell ($) — 在 JavaScript 裡寫 shell script
GitHub: oven-sh/bun(內建在 Bun runtime)
child_process.exec 很醜,shelljs 太老,Bun 內建的 $ 讓你在 JavaScript/TypeScript 裡直接寫 shell 語法:
import { $ } from "bun";
const result = await $`ls -la`.text();
const files = await $`find . -name "*.ts"`.lines();
跨平台(在 Windows 上也能用),有完整的 TypeScript 型別,是用 Node.js 寫構建腳本的現代替代方案。
6. Ink — 用 React 寫終端機 UI
GitHub: vadimdemedes/ink
你不需要學 ncurses 就能寫互動式 CLI。Ink 讓你用 React component 的方式寫終端機介面:
import React from 'react';
import { render, Text, Box } from 'ink';
const App = () => (
<Box flexDirection="column">
<Text color="green">Build complete!</Text>
<Text dimColor>3 files processed</Text>
</Box>
);
render(<App />);
Gatsby CLI 和 Parcel 的 CLI 界面都是用 Ink 做的。
7. Slidev — 工程師的簡報工具,用 Markdown 寫投影片
GitHub: slidevjs/slidev
如果你討厭 PowerPoint 但又需要做技術分享簡報,Slidev 讓你用 Markdown + Vue component 寫投影片,程式碼區塊有語法高亮,可以嵌入互動式 demo,匯出成 PDF 或部署成網頁。
對工程師來說,投影片放進 Git 做版本控制這件事本身就很有吸引力。
8. Zod — TypeScript 的執行時期型別驗證
GitHub: colinhacks/zod
TypeScript 的型別在執行時期消失了。當你從 API 拿到資料,你無法確定它符合你預期的型別。Zod 讓你定義 schema 並在執行時期驗證:
import { z } from "zod";
const User = z.object({
id: z.number(),
name: z.string(),
email: z.string().email(),
});
// 如果資料不符合 schema,會拋出清楚的錯誤訊息
const user = User.parse(apiResponse);
和 tRPC 配合使用效果特別好——前後端共用同一份 schema。
9. Playwright — 比 Selenium 好用的 E2E 測試工具
GitHub: microsoft/playwright
Selenium 的 API 設計出自 2004 年,Playwright 是 Microsoft 在 2020 年發布的現代替代品:支援 Chromium、Firefox、WebKit,有自動等待機制(不需要手動加 sleep),有 codegen 可以錄製操作生成測試程式碼。
# 錄製操作,自動生成測試
npx playwright codegen https://your-app.com
10. Mermaid — 在 Markdown 裡直接畫圖
GitHub: mermaid-js/mermaid
GitHub、Notion、GitLab 都原生支援 Mermaid。你在 Markdown 裡寫文字,它幫你渲染成流程圖、序列圖、甘特圖。不需要開任何繪圖工具:
graph LR
A[用戶請求] --> B[API Gateway]
B --> C[服務 A]
B --> D[服務 B]
文件和程式碼在同一個 repo,架構圖可以做 code review,這才是架構文件該有的樣子。
總結
這 10 個工具的共同特點:它們都解決了一個很具體的問題,而不是試圖成為「什麼都能做的平台」。Carbon 就是幫你生成漂亮的程式碼圖,act 就是讓你本機跑 CI,Zod 就是執行時期型別驗證。這種定位清晰的工具,反而是最容易上手、最容易評估是否適合你的。
參考資料
相關標籤
相關文章
MCP 在 Claude Code 的實踐:Model Context Protocol 如何讓 AI 連接你的工具生態
MCP(Model Context Protocol)是 Anthropic 設計的開放協定,讓 Claude Code 能夠透過標準化介面呼叫外部工具和資料來源。2024 年 11 月發布後迅速成為 AI 代理人工具整合的事實標準,被 Cursor、Windsurf 等 40+ 款編輯器採用。
AI 如何重塑人的思考方式:工具之外的認知轉變
AI 工具改變的不只是你做事的速度,而是你思考問題的方式——從「怎麼做」轉向「做什麼」和「判斷對不對」,這個轉變對工程師的長期影響值得認真思考。
長期免費使用 Codex、Hermes 等 AI Coding Agent:完整攻略
OpenAI Codex CLI 和多個 AI coding agent 工具都有免費方案,關鍵是了解各自的額度機制、如何組合使用以延長免費額度,以及什麼情境下值得付費。