TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻譯準備中
在 macOS 任意位置翻譯、潤飾與摘要文字。使用選單列、全域快捷鍵、剪貼簿輸入、螢幕 OCR 或 PopClip。自行提供 API 金鑰 — 或使用 Apple 的本機模型 w
AI 翻譯
Translate, polish, and summarize text from anywhere on macOS. Use the menu bar, a global shortcut, clipboard input, on-screen OCR, or PopClip. Bring your own API key — or run Apple's on-device model w
生產力Swift · ShellGitHub @iuhoay上線中營運者未確認
試用過了嗎? 點一下就好,不需要登入。
原生 macOS 文字助理,用於翻譯、潤飾與摘要,支援您自己的 LLM 供應商。
AI 翻譯
Native macOS text assistant for translating, polishing, and summarizing with your own LLM provider.
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Translate, polish, and summarize text anywhere on macOS with your own LLM
provider.
Lumo is a lightweight menu-bar app for everyday text work. Open it with a global
shortcut, paste from the clipboard, or trigger it from
PopClip when you select text in another app.
Results stream into a native macOS window, stay in history, and can be read
aloud.檢視完整 README ↗Translate, polish, and summarize text anywhere on macOS with your own LLM provider.
Lumo is a lightweight menu-bar app for everyday text work. Open it with a global shortcut, paste from the clipboard, or trigger it from PopClip when you select text in another app. Results stream into a native macOS window, stay in history, and can be read aloud.
Lumo can be opened directly from the menu bar, a global shortcut, the clipboard, or an optional PopClip action.
LSUIElement) — no Dock icon, stays out of the way.Download Lumo.zip,
unzip it, and move Lumo.app to /Applications. The app is unsigned, so clear
the quarantine flag once before the first launch:
xattr -dr com.apple.quarantine /Applications/Lumo.app
On first launch it runs as a menu-bar item — look for it in the status bar, not the Dock.
From then on Lumo keeps itself up to date: it checks in the background, and you
can trigger a check yourself from the menu bar via 检查更新…. Updates are
verified by signature and installed in place without re-triggering quarantine —
so you only ever run the xattr command this one time.
Open the app from its menu-bar item and set, in Settings:
| Setting | Notes |
|---|---|
| Provider | OpenAI, Anthropic, or OpenAI-compatible |
| Base URL | Defaults per provider (e.g. https://api.deepseek.com) |
| Model | e.g. an OpenAI / Claude / DeepSeek model name |
| API key | Stored per provider |
| Target (from 中文) | Language to translate into when the input is Chinese |
| Target (other) | Language to translate into when the input is not Chinese |
| Shortcut | Optional global hotkey for opening a new translation window |
Note on the API key: because the app is unsigned, it stores the API key in its own
UserDefaults(plaintext) rather than the Keychain — an unsigned binary has no stable code identity for the Keychain to bind an "Always Allow" grant to, so the Keychain would prompt on every launch. This is the accepted trade-off for a local personal tool. The key is not stored in the PopClip extension.
Use Lumo in whichever way fits the text you are working with:
The result streams into the window and is saved to history.
If you use PopClip, install
Lumo.popclipext
to send selected text to Lumo in one click. The extension is only a trigger; the
native app still handles the provider, API key, model, streaming result, and
history.
Lumo moves in small, shippable steps. The current focus is the v0.2.0 — UX milestone, all on the translation result window:
Ideas and bug reports are welcome in the issue tracker.
Lumo.popclipext/ PopClip extension (trigger only)
Config.json Extension manifest + the "App URL Scheme" option
translate.js Builds the lumo:// URL for each action
mac-app/ Native macOS app (Swift, SwiftUI + AppKit)
project.yml XcodeGen project spec
Lumo/ App sources (models, services, views, URL routing)
Building from source requires XcodeGen
and Xcode 26 or later. The Xcode project is generated from project.yml (it is
not committed). From mac-app/:
brew install xcodegen # if you don't have it
cd mac-app
xcodegen generate # creates Lumo.xcodeproj
open Lumo.xcodeproj # then build & run the "Lumo" scheme in Xcode
The project defines two coexisting build configurations so a dev build doesn't clobber the release one:
| Config | Bundle ID | App name | URL scheme |
|---|---|---|---|
| Release | com.iuhoay.lumo | Lumo | lumo:// |
| Debug | com.iuhoay.lumo.dev | Lumo Dev | lumo-dev:// |
Distinct bundle IDs and URL schemes keep their settings isolated and prevent
LaunchServices from routing the scheme to the wrong build. Point the PopClip
extension at a build with its App URL Scheme option (lumo or lumo-dev).
MIT © iuhoay