GaoSSR/Kiri 使用指南
撥開當地發展港口的迷霧。平台支撐平台|狀態 | - | - | macOS arm64/x64 |支援 | Linux x64 |支援 | Windows x64 |支援 | Linuxarm64 / Windowsarm64 |計畫|在 MacOS 上,Kiri 使用 lsof、ps、tail、MacOS 日誌命令和可選的 Docker 元資料。
秒懂
- 它是什麼?
- 一款以 Rust 打造的本地開發埠管理指令列工具,提供埠、程序和日誌的集中檢視與管理功能。 聚焦本專案的實際功能、技術入口、部署條件、資料流、版本變化與授權邊界,並依官方 README 所列能力判斷適用工作情境和不適合的替代用途。
- 適合誰用?
- Kiri 是一款聚焦本機開發場景的埠管理工具,將埠、程序、記憶體和日誌資訊整合到一組簡單的指令中。其目前功能與平台支援情況以 README 為準,未來對 Linux arm64 和 Windows arm64 的支援仍在規劃中。
- 可以商用嗎?
- 可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 32 天前。
- 用什麼語言寫的?
- 主要是 Rust(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。
開源專案深度解析
gaossr-kiri-deep-analysis|Kiri 是什麼
gaossr-kiri-deep-analysis|Kiri 是什麼 的專案脈絡:Kiri 是一個用 Rust 編寫的高效能指令列工具,專門用於管理本地開發埠。它幫助開發者快速查看哪些本地服務正在運行、它們使用了哪些埠,並在需要時處理佔用埠的程序。執行 `ports` 指令可以查看一個聚焦的本地開發服務概覽,包括埠、程序、PID、記憶體使用、專案名稱、偵測到的框架、運行時長和健康狀態。
gaossr-kiri-deep-analysis|核心指令與使用場景
gaossr-kiri-deep-analysis|核心指令與使用場景 的專案脈絡:Kiri 的核心指令圍繞埠管理展開。`ports` 顯示本地開發服務及其埠;`ports ps` 查看不監聽埠的開發者背景程序,例如由 Codex、Claude Code 等 AI 程式設計工具啟動的 MCP Server 程序;`ports kill <port>` 可快速終止埠背後的程序;`ports logs <port|pid> -f` 用於追蹤監聽埠的程序日誌;`ports --all` 則顯示所有監聽埠。同一組指令也提供 `ports <port>` 的單一埠詳細資訊,`ports logs` 支援 `--lines` 和 `--err` 參數,`ports kill` 支援埠範圍和 `--force` 選項(使用 SIGKILL 而非 SIGTERM)。
gaossr-kiri-deep-analysis|狀態標籤的含義
gaossr-kiri-deep-analysis|狀態標籤的含義 的專案脈絡:在 `ports` 表格中,Kiri 使用三種狀態標籤:`healthy` 表示程序正在運行且其父程序正常;`orphaned` 表示程序仍存活並可能繼續監聽埠,但啟動它的父程序已退出,這是孤兒程序而非殭屍程序;`zombie` 表示程序已退出,但作業系統仍保留其程序記錄,尚未被父程序回收。README 特別指出,`orphaned` 在實踐中意味著程序仍在運行,但最初的啟動者(如終端、IDE 任務、腳本執行器、Codex 會話或 Claude Code 會話)已經消失。
gaossr-kiri-deep-analysis|平台支援與系統依賴
gaossr-kiri-deep-analysis|平台支援與系統依賴 的專案脈絡:Kiri 官方支援 MacOS arm64/x64、Linux x64 和 Windows x64;Linux arm64 和 Windows arm64 仍在規劃中。在不同平台上,Kiri 依賴不同的系統指令和介面:MacOS 使用 `lsof`、`ps`、`tail`、MacOS `log` 指令以及可選的 Docker 元資料;Linux 使用 `ss`、`ps`、`/proc` 以及可選的 Docker 元資料;Windows 使用 PowerShell/CIM 和 `Get-NetTCPConnection`,程序工作目錄從可執行檔案路徑盡力推斷。Docker 是可選的,如果 Docker 不可用或沒有運行中的容器,Kiri 會繼續運行而不進行 Docker 映射。
gaossr-kiri-deep-analysis|日誌功能與輸出格式
gaossr-kiri-deep-analysis|日誌功能與輸出格式 的專案脈絡:`ports logs` 指令為常見開發日誌格式新增 ANSI 顏色,包括 Java、Python、Go、Node.js、logfmt 和 JSON 日誌,顏色區分時間戳、日誌級別、程序 ID、追蹤 ID、源類別、HTTP 值和結構化欄位。README 建議,對於透過終端啟動的服務,使用穩定的檔案日誌(如 `.dev-logs/service.log`)可以讓 `ports logs <port|pid> -f` 追蹤來自另一個程序的輸出。預設的 `ports` 表格會渲染 Kiri 的 ASCII logo 和 ANSI 終端輸出,並包含 `Mem` 欄,以便日常檢查時無需切換到更全面的 `ports ps` 檢視。
gaossr-kiri-deep-analysis|安裝方式
gaossr-kiri-deep-analysis|安裝方式 的專案脈絡:Kiri 為 MacOS、Linux x64 和 Windows x64 提供預構建的發布產物。可以透過 npm(`npm install -g @gaossr/kiri@latest`)、Homebrew(`brew install gaossr/tap/kiri`)或 GitHub Release 安裝腳本安裝。MacOS/Linux 的安裝腳本為 `curl -fsSL https://raw.githubusercontent.com/GaoSSR/Kiri/main/scripts/install.sh | bash`,Windows 使用者可以使用 PowerShell 執行 `irm https://raw.githubusercontent.com/GaoSSR/Kiri/main/scripts/install.ps1 | iex`。README 特別提到,在 MacOS 上推薦使用 Homebrew,npm 和安裝腳本使用預編譯的本機二進位檔案,不會在本機編譯 Rust。
gaossr-kiri-deep-analysis|開發與授權
gaossr-kiri-deep-analysis|開發與授權 的專案脈絡:對於維護者和貢獻者,README 列出了從原始碼開發的指令序列,包括 `cargo fmt`、`cargo test`、`cargo clippy --all-targets -- -D warnings`、`cargo build --release --bin ports`、`scripts/perf-smoke.sh` 和 `scripts/verify-release.sh v0.1.24` 等。Kiri 以 Apache-2.0 授權釋出,該授權授予使用者永久的、全球性的、非獨佔的、免費的版權授權,允許複製、修改、展示和分發軟體及其衍生作品。授權文字本身沒有涉及安全支援、保固或效能保證的內容。
gaossr-kiri-deep-analysis|以專案指令核對實際輸出
gaossr-kiri-deep-analysis|以專案指令核對實際輸出 的專案脈絡:第1項檢查:Kiri 應從 ports、ports ps、ports logs <port|pid> -f 和 ports kill <port> 四條路徑驗證。先啟動一個本地開發伺服器,確認 ports 能列出服務,再用 ports logs 檢查輸出,最後以 ports kill 結束並確認埠釋放。對 AI 程式設計工具啟動的 MCP Server,使用 ports ps 查看不監聽埠的背景程序。macOS 會使用 lsof、ps、tail 和系統 log 指令,Linux 與 Windows 的支援範圍不同,Linux arm64 和 Windows arm64 仍列為 planned。
gaossr-kiri-deep-analysis|以專案指令核對實際輸出:第2項檢查:Kiri 應從 ports、ports ps、ports logs <port|pid> -f 和 ports kill <port> 四條路徑驗證。先啟動一個本地開發伺服器,確認 ports 能列出服務,再用 ports logs 檢查輸出,最後以 ports kill 結束並確認埠釋放。對 AI 程式設計工具啟動的 MCP Server,使用 ports ps 查看不監聽埠的背景程序。macOS 會使用 lsof、ps、tail 和系統 log 指令,Linux 與 Windows 的支援範圍不同,Linux arm64 和 Windows arm64 仍列為 planned。
gaossr-kiri-deep-analysis|以專案指令核對實際輸出:第3項檢查:Kiri 應從 ports、ports ps、ports logs <port|pid> -f 和 ports kill <port> 四條路徑驗證。先啟動一個本地開發伺服器,確認 ports 能列出服務,再用 ports logs 檢查輸出,最後以 ports kill 結束並確認埠釋放。對 AI 程式設計工具啟動的 MCP Server,使用 ports ps 查看不監聽埠的背景程序。macOS 會使用 lsof、ps、tail 和系統 log 指令,Linux 與 Windows 的支援範圍不同,Linux arm64 和 Windows arm64 仍列為 planned。
gaossr-kiri-deep-analysis|以專案指令核對實際輸出:第4項檢查:Kiri 應從 ports、ports ps、ports logs <port|pid> -f 和 ports kill <port> 四條路徑驗證。先啟動一個本地開發伺服器,確認 ports 能列出服務,再用 ports logs 檢查輸出,最後以 ports kill 結束並確認埠釋放。對 AI 程式設計工具啟動的 MCP Server,使用 ports ps 查看不監聽埠的背景程序。macOS 會使用 lsof、ps、tail 和系統 log 指令,Linux 與 Windows 的支援範圍不同,Linux arm64 和 Windows arm64 仍列為 planned。
gaossr-kiri-deep-analysis|以專案指令核對實際輸出:第5項檢查:Kiri 應從 ports、ports ps、ports logs <port|pid> -f 和 ports kill <port> 四條路徑驗證。先啟動一個本地開發伺服器,確認 ports 能列出服務,再用 ports logs 檢查輸出,最後以 ports kill 結束並確認埠釋放。對 AI 程式設計工具啟動的 MCP Server,使用 ports ps 查看不監聽埠的背景程序。macOS 會使用 lsof、ps、tail 和系統 log 指令,Linux 與 Windows 的支援範圍不同,Linux arm64 和 Windows arm64 仍列為 planned。
gaossr-kiri-deep-analysis|以專案指令核對實際輸出:第6項檢查:Kiri 應從 ports、ports ps、ports logs <port|pid> -f 和 ports kill <port> 四條路徑驗證。先啟動一個本地開發伺服器,確認 ports 能列出服務,再用 ports logs 檢查輸出,最後以 ports kill 結束並確認埠釋放。對 AI 程式設計工具啟動的 MCP Server,使用 ports ps 查看不監聽埠的背景程序。macOS 會使用 lsof、ps、tail 和系統 log 指令,Linux 與 Windows 的支援範圍不同,Linux arm64 和 Windows arm64 仍列為 planned。
gaossr-kiri-deep-analysis|以專案指令核對實際輸出:第7項檢查:Kiri 應從 ports、ports ps、ports logs <port|pid> -f 和 ports kill <port> 四條路徑驗證。先啟動一個本地開發伺服器,確認 ports 能列出服務,再用 ports logs 檢查輸出,最後以 ports kill 結束並確認埠釋放。對 AI 程式設計工具啟動的 MCP Server,使用 ports ps 查看不監聽埠的背景程序。macOS 會使用 lsof、ps、tail 和系統 log 指令,Linux 與 Windows 的支援範圍不同,Linux arm64 和 Windows arm64 仍列為 planned。
gaossr-kiri-deep-analysis|以專案指令核對實際輸出:第8項檢查:Kiri 應從 ports、ports ps、ports logs <port|pid> -f 和 ports kill <port> 四條路徑驗證。先啟動一個本地開發伺服器,確認 ports 能列出服務,再用 ports logs 檢查輸出,最後以 ports kill 結束並確認埠釋放。對 AI 程式設計工具啟動的 MCP Server,使用 ports ps 查看不監聽埠的背景程序。macOS 會使用 lsof、ps、tail 和系統 log 指令,Linux 與 Windows 的支援範圍不同,Linux arm64 和 Windows arm64 仍列為 planned。
gaossr-kiri-deep-analysis|以專案指令核對實際輸出:第9項檢查:Kiri 應從 ports、ports ps、ports logs <port|pid> -f 和 ports kill <port> 四條路徑驗證。先啟動一個本地開發伺服器,確認 ports 能列出服務,再用 ports logs 檢查輸出,最後以 ports kill 結束並確認埠釋放。對 AI 程式設計工具啟動的 MCP Server,使用 ports ps 查看不監聽埠的背景程序。macOS 會使用 lsof、ps、tail 和系統 log 指令,Linux 與 Windows 的支援範圍不同,Linux arm64 和 Windows arm64 仍列為 planned。
gaossr-kiri-deep-analysis|以專案指令核對實際輸出:第10項檢查:Kiri 應從 ports、ports ps、ports logs <port|pid> -f 和 ports kill <port> 四條路徑驗證。先啟動一個本地開發伺服器,確認 ports 能列出服務,再用 ports logs 檢查輸出,最後以 ports kill 結束並確認埠釋放。對 AI 程式設計工具啟動的 MCP Server,使用 ports ps 查看不監聽埠的背景程序。macOS 會使用 lsof、ps、tail 和系統 log 指令,Linux 與 Windows 的支援範圍不同,Linux arm64 和 Windows arm64 仍列為 planned。
gaossr-kiri-deep-analysis|以專案指令核對實際輸出:第11項檢查:Kiri 應從 ports、ports ps、ports logs <port|pid> -f 和 ports kill <port> 四條路徑驗證。先啟動一個本地開發伺服器,確認 ports 能列出服務,再用 ports logs 檢查輸出,最後以 ports kill 結束並確認埠釋放。對 AI 程式設計工具啟動的 MCP Server,使用 ports ps 查看不監聽埠的背景程序。macOS 會使用 lsof、ps、tail 和系統 log 指令,Linux 與 Windows 的支援範圍不同,Linux arm64 和 Windows arm64 仍列為 planned。
gaossr-kiri-deep-analysis|以專案指令核對實際輸出:第12項檢查:Kiri 應從 ports、ports ps、ports logs <port|pid> -f 和 ports kill <port> 四條路徑驗證。先啟動一個本地開發伺服器,確認 ports 能列出服務,再用 ports logs 檢查輸出,最後以 ports kill 結束並確認埠釋放。對 AI 程式設計工具啟動的 MCP Server,使用 ports ps 查看不監聽埠的背景程序。macOS 會使用 lsof、ps、tail 和系統 log 指令,Linux 與 Windows 的支援範圍不同,Linux arm64 和 Windows arm64 仍列為 planned。
編輯結論
Kiri 是一款聚焦本機開發場景的埠管理工具,將埠、程序、記憶體和日誌資訊整合到一組簡單的指令中。其目前功能與平台支援情況以 README 為準,未來對 Linux arm64 和 Windows arm64 的支援仍在規劃中。
社群筆記