Skip to content

Releases: hsiuhsiu/cue

Cue 1.1.1 — App discovery and multiline input / App 搜尋與多行輸入修正

Choose a tag to compare

@hsiuhsiu hsiuhsiu released this 07 Oct 22:41

English

This patch improves application discovery and makes long launcher inputs easier to read.

Download Cue 1.1.1 · Checksums

Fixes

  • More app folders are searchable: localized containers such as ~/Applications/Chrome Apps.localized are searched even when Finder marks them as packages. Visible symbolic links to application folders are followed, with protection against loops and duplicates. Hidden folders and app-bundle contents remain excluded. Cue uses the current user's home directory; no username is hardcoded. Run Update App Index after installing or moving apps.
  • Long input expands to two lines: the launcher keeps its current width and text size, growing only in height when needed. Longer content remains intact and scrolls with the caret within the two-line limit. Return still executes the selected action; result navigation, command-history recall and Chinese input composition keep their existing behavior.
  • Typing stays lightweight: input sizing reuses cached measurements and examines only a bounded amount of text. Editing avoids an unnecessary full-text read, and application discovery stays in the background.

Install or upgrade

With Cue networking allowed, choose Check for Updates…, then Install and Relaunch. For a manual install, quit Cue, open the DMG, drag Cue.app into Applications, replace the existing copy, and reopen it. Existing settings and history are preserved. Use a writable installation location rather than running from the DMG.

Source installs still need only Command Line Tools with Swift 6 or later, not full Xcode. For an existing clone, quit Cue, run git pull --ff-only and ./scripts/install-app.sh, then reopen the installed app. New users can follow the source installation guide. Source builds default to Cue-owned networking and automatic checks off; official DMGs default to on. Explicit saved choices take precedence. Browser search has its own switch.

Validation and limitations

Optimized core tests and isolated feature checks run on Apple silicon / macOS 27 / Xcode 27, using synthetic data, temporary preferences, private pasteboards and offscreen native views. App discovery covers localized folders, Finder package flags, symbolic links and cycles. Native input checks cover English and Chinese wrapping, long pasted text, caret scrolling, history recall and input-method composition. The source installation path was also built and its relocated resources/signatures verified using standalone Command Line Tools / Swift 6.4. Timing measurements are offscreen checks, not physical input-to-display latency measurements.

The universal download targets macOS 14 or later and contains Apple silicon and Intel code. Intel and other macOS versions were not tested on hardware. This release does not include a fresh installed-app desktop check or a full public Sparkle download/install/relaunch test. Live GPT/currency requests, Spotlight indexing, power actions and macOS permission flows were not re-tested.

Cue remains ad hoc signed, without Apple Developer ID signing or notarization. Sparkle signatures do not replace Apple's first-launch approval. Follow the installation guide if macOS blocks opening. Window controls and selected-text conversion may need permission granted again for the updated executable.

正體中文

這次修正擴充 App 資料夾的搜尋支援,也讓主視窗的長輸入更容易閱讀。

下載 Cue 1.1.1 · 校驗碼

修正內容

  • 支援更多 App 資料夾:~/Applications/Chrome Apps.localized 這類本地化資料夾,即使被 Finder 標記為套件,也會搜尋其中的 App。同時支援指向 App 資料夾的可見符號連結,避免連結循環及重複項目;隱藏資料夾與 App 套件內部仍會略過。家目錄依目前使用者決定,不會寫死使用者名稱。安裝或移動 App 後,可執行更新索引。
  • **長輸入自動展開至兩行:**保留原本的視窗寬度與字體大小,只在需要時增加高度。超過兩行的完整內容仍保留,並在兩行範圍內隨游標捲動。Return 仍執行選取動作;結果選取、指令歷史回看與中文組字維持原本操作。
  • **維持輕量的輸入流程:**重用文字高度量測,並限制每次檢查的文字量;編輯時避免多餘的全文讀取,App 掃描也持續在背景執行。

安裝或升級

允許 Cue 自行連網後,選檢查更新⋯,再依提示安裝並重新啟動(Install and Relaunch)。手動安裝則先結束 Cue,開啟 DMG,將 Cue.app 拖入 Applications/應用程式,取代舊版後重新開啟。既有設定與記錄會保留;請從可寫入的安裝位置執行,不要直接在唯讀 DMG 內更新。

自行編譯仍只需要 Swift 6 以上的 Command Line Tools,不需完整 Xcode。更新既有 clone 時,先結束 Cue,執行 git pull --ff-only 與 ./scripts/install-app.sh,再開啟已安裝的 App。首次安裝可參考原始碼安裝指引。原始碼版預設關閉 Cue 自行連網與自動檢查更新,正式 DMG 預設開啟;已儲存的明確選擇優先,瀏覽器搜尋另有獨立開關。

驗證與限制

最佳化核心測試與隔離功能檢查在 Apple silicon/macOS 27/Xcode 27 執行,使用合成資料、暫存設定、專用測試剪貼簿及離屏原生介面。App 搜尋涵蓋本地化資料夾、Finder 套件標記、符號連結及循環;原生輸入檢查涵蓋英文與中文換行、長文字貼上、游標捲動、歷史回看及輸入法組字。原始碼安裝路徑也已使用獨立的 Command Line Tools/Swift 6.4 完成建置,並驗證移動後的資源與簽章。離屏效能量測不等同實際按鍵到螢幕的延遲。

通用版最低目標為 macOS 14,包含 Apple silicon 與 Intel 執行檔;Intel 與其他 macOS 版本未做實機驗證。本輪沒有重新驗證最終安裝版本的桌面操作,也未完成公開 Sparkle 下載/安裝/重啟全流程;真實 GPT/匯率請求、Spotlight 索引、電源操作及 macOS 權限流程也未重測。

Cue 維持 ad hoc 簽章,沒有 Apple Developer ID 簽署,也未經 Apple 公證。Sparkle 更新簽章不取代 Apple 的首次開啟允許程序;若 macOS 阻擋,請依安裝說明處理。更新執行檔後,視窗控制及選取文字轉換可能需要重新授權。

Cue 1.1.0 — Command history and easier source installs / 指令歷史與更簡單的原始碼安裝

Choose a tag to compare

@hsiuhsiu hsiuhsiu released this 07 Oct 16:14

English

Cue can now recall executed inputs with the arrow keys, and building your own copy no longer requires full Xcode.

Download Cue 1.1.0 · Checksums

What's new

  • Recall previous commands: open Cue with an empty input, press ↑ for older executed inputs and ↓ for newer ones. Return executes the recalled action; Esc, or moving past the newest entry, returns to blank. Editing ends recall and restores normal result-selection arrows. IME composition keeps control of its own keys.
  • Command History: type history, command history, or 指令歷史 to search past inputs. Each page shows up to nine numbered entries with the action and date/time. Use / Return or Command+1–9 restores an entry for review; press Return again in the launcher to execute. The original action is preserved, including Google versus GPT translation. A missing app, file or browser does not silently select a different action.
  • Local recording controls: recording is on by default, including submitted Google/GPT text, calculations, conversions, filename queries and local commands. Failed execution attempts can also appear; drafts, responses, clipboard contents and text selected in other apps are excluded. Repeated input for the same action moves to the top. Limits are 200 entries, 30 days and 512 KiB of text; inputs over 32 KiB are skipped. Delete a selected entry with Command+Delete, or plain Delete when the history search is empty. The page's gear / Command+, opens recording and clear-all controls. Turning recording off retains existing entries until deletion or expiry. History stays on this Mac, is excluded from settings backups, and is separate from search-ranking learning. See the history guide.
  • Source installation with Command Line Tools: scripts/install-app.sh now builds an optimized, self-contained app with Swift 6 or later Command Line Tools. Full Xcode is optional for this installation path. Bundled languages, artwork, emoji, offline conversion dictionaries and Sparkle remain available after moving the app away from the checkout. See the source installation guide.

History loading and saving run in the background. Ordinary typing does not read or filter the history file; recall uses a bounded memory snapshot. Editing immediately after recall updates the input once, without restoring the old text over the first keystroke.

Install or upgrade

If Cue networking is allowed, choose Check for Updates…, then Install and Relaunch. For a manual install, quit Cue, open the DMG, drag Cue.app into Applications, replace the existing copy if needed, and open it there. Option+Space opens Cue. Existing settings, clipboard history and search learning are preserved. Use a writable installation location, not the read-only DMG.

For a source install, run xcode-select --install if needed and wait for Command Line Tools installation to finish. Quit Cue, then run:

git clone https://github.com/hsiuhsiu/cue.git
cd cue
./scripts/install-app.sh
open "$HOME/Applications/Cue.app"

To update an existing clone, quit Cue, run git pull --ff-only and ./scripts/install-app.sh, then reopen the installed app. Source builds default to Cue-owned networking and automatic checks off; official DMGs default to on. Explicit saved choices take precedence. Browser search has its own switch. An in-app update installs the published binary rather than compiling your clone.

Validation and limitations

Validation uses optimized core tests, isolated feature checks, temporary preferences, private pasteboards, injected services and offscreen native views on Apple silicon / macOS 27 / Xcode 27. Command History is checked in both English and Traditional Chinese. The source installation path was built and its relocated resources/signatures verified using standalone Command Line Tools / Swift 6.4. Offscreen timing measurements do not establish physical input-to-display latency.

The universal download targets macOS 14 or later, with both Apple silicon and Intel code. Intel and other macOS versions were not tested on hardware. This release does not include a fresh installed-app desktop check or an end-to-end public Sparkle download/install/relaunch test. Live GPT/currency requests, Spotlight indexing, power actions and macOS permission flows were not re-tested; their isolated checks do not prove live behavior.

Cue remains ad hoc signed, without Apple Developer ID signing or notarization. Sparkle's update signatures do not replace Apple's first-launch approval. Follow the installation guide if macOS blocks opening. Window controls and selected-text conversion may need permission granted again for the updated executable.

正體中文

Cue 現在可以用方向鍵回看已執行的輸入,自行編譯安裝也不再需要完整 Xcode。

下載 Cue 1.1.0 · 校驗碼

新功能

  • **回看先前指令:**叫出 Cue,在空白輸入欄按 ↑ 看較舊的已執行輸入,按 ↓ 看較新的記錄。Return 執行回看的動作;Esc 或往下超過最新一筆會回到空白。修改文字就結束回看,恢復原本上下鍵選取結果的操作;中文組字仍保有自己的按鍵操作。
  • 指令歷史:輸入 history、command history 或**「指令歷史」搜尋過去的輸入。每頁最多九筆,顯示編號、動作與日期時間。按使用/Return** 或 Command+1–9 將輸入放回主視窗,確認後再按 Return 執行。會保留原本的動作,例如 Google 搜尋或 GPT 翻譯;App、檔案或瀏覽器找不到時,不會偷偷改選另一個動作。
  • 本機記錄控制:記錄預設開啟,包含送出的 Google/GPT 文字、計算式、換算、檔名查詢及本機指令,也可能包含執行失敗的嘗試。草稿、回答、剪貼簿內容及其他 App 選取的文字不記錄。相同輸入執行相同動作會移到最上方。最多 200 筆、30 天、512 KiB 文字;超過 32 KiB 的輸入不記錄。按 Command+Delete 刪除選取記錄,搜尋欄空白時也能直接按 Delete。該頁齒輪/Command+, 可關閉記錄或清空全部;關閉記錄後,既有內容保留到刪除或到期。歷史只存這台 Mac、不隨設定備份,也不加入搜尋排序學習。詳見指令歷史說明。
  • 只用 Command Line Tools 即可安裝:scripts/install-app.sh 現在以 Swift 6 以上的 Command Line Tools 編譯並打包最佳化 App,這條安裝路徑不需完整 Xcode。雙語資源、圖示、emoji、離線繁簡詞庫與 Sparkle 都包含在 App 裡,移離儲存庫後仍可使用。詳見原始碼安裝指引。

歷史的載入與存檔在背景進行;一般打字不讀取或搜尋歷史檔案,上下鍵只使用有容量限制的記憶體快照。回看後立即修改文字,只更新一次輸入,不會把舊文字蓋回第一個按鍵。

安裝或升級

允許 Cue 自行連網後,可選檢查更新⋯,再依提示安裝並重新啟動(Install and Relaunch)。手動安裝則先結束 Cue,開啟 DMG,將 Cue.app 拖入 Applications/應用程式,需要時取代舊版,再從該位置開啟。按 Option+Space 叫出 Cue。既有設定、剪貼簿記錄與搜尋學習資料會保留;請從可寫入的安裝位置執行,不要直接在唯讀 DMG 內更新。

自行編譯時,若尚未安裝 Command Line Tools,先執行 xcode-select --install 並等安裝完成。結束 Cue 後執行:

git clone https://github.com/hsiuhsiu/cue.git
cd cue
./scripts/install-app.sh
open "$HOME/Applications/Cue.app"

更新既有 clone 時,先結束 Cue,在儲存庫執行 git pull --ff-only 與 ./scripts/install-app.sh,再開啟已安裝的 App。原始碼版預設關閉 Cue 自行連網與自動檢查更新,正式 DMG 預設開啟;已儲存的明確選擇優先,瀏覽器搜尋另有獨立開關。Cue 內的更新會安裝發布的執行檔,不會替 clone 編譯。

驗證與限制

驗證在 Apple silicon/macOS 27/Xcode 27 執行最佳化核心測試與隔離功能檢查,使用暫存設定、專用測試剪貼簿、注入服務及離屏原生介面。指令歷史涵蓋英文與正體中文;原始碼安裝路徑也已使用獨立的 Command Line Tools/Swift 6.4 完成建置,並驗證移動後的資源與簽章。離屏元件量測不等同實際按鍵到螢幕的延遲。

通用版最低目標為 macOS 14,包含 Apple silicon 與 Intel 執行檔;Intel 與其他 macOS 版本未做實機驗證。本輪沒有重新驗證最終安裝版本的桌面操作,也未完成公開 Sparkle 下載/安裝/重啟全流程;真實 GPT/匯率請求、Spotlight 索引、電源操作及 macOS 權限流程也未重測,隔離檢查不能代替這些實際操作。

Cue 維持 ad hoc 簽章,沒有 Apple Developer ID 簽署,也未經 Apple 公證。Sparkle 更新簽章不取代 Apple 的首次開啟允許程序;若 macOS 阻擋,請依安裝說明處理。更新執行檔後,視窗控制及選取文字轉換可能需要重新授權。

Cue 1.0.0 — Your everyday keyboard toolkit / 日常鍵盤工具箱

Choose a tag to compare

@hsiuhsiu hsiuhsiu released this 05 Oct 03:06

English

Cue 1.0 brings window controls, portable settings and filename search to its
native macOS launcher, alongside the existing clipboard, text, calculation and
GPT tools. Fast, simple and lightweight remain its core principles.

Website · Download Cue 1.0.0 · Checksums

What's new

  • Window controls: press Option+M for the current window. Use
    Option+arrows for halves, Command+arrows to move between displays,
    Return to fill the usable desktop without creating a fullscreen Space,
    Space to center, Tab to restore, and 1–9 for saved percentage
    layouts. Choose whether the panel stays open after an adjustment.
    The feature defaults to on, including upgrades without a saved window
    configuration; an explicitly saved off choice is preserved. Open
    Window Settings… from Cue's menu bar, search window settings, or press
    Command+, in window mode to configure it.
  • Permission guidance for new and existing users: window controls require
    macOS Privacy & Security → Accessibility permission, called Device
    Control and Data Access
    in macOS 27. Missing or revoked permission opens a
    guide with the actual status, a system-settings link and Check Again.
    Returning from System Settings refreshes the status; no prompt appears just
    because Cue starts, and old layout actions are not replayed. A grant from an
    older executable may no longer be valid after an update. If the system switch
    is on but Cue remains untrusted, follow the
    current-app recovery steps.
  • Settings backup and transfer: Settings → Backup & Transfer exports
    portable preferences, aliases, selected browsers and window layouts. Imports
    show a selectable preview and preserve the destination Mac's network, recording,
    window-enablement, startup and permission choices. Ordinary JSON excludes API
    keys. Optional password protection encrypts the backup; including an OpenAI key
    requires encryption and an additional explicit choice. Passwords require at
    least 12 characters and are not saved or recoverable. Clipboard contents and
    search-learning history are excluded. See the
    backup guide.
  • Filename search: type f + space + a filename fragment, for example
    f report or f 發票. Search local Spotlight metadata for files and folders;
    use Return or Command+1–9 to open a result in its default app. Results
    show parent paths and stay within nine rows. Cue does not scan document contents,
    search network volumes or send file queries to Google/GPT. It works with Cue
    networking off and depends on Spotlight's indexing, exclusions and access rules.
    Known APFS data-volume aliases are normalized so eligible user files are not
    mistaken for system files. See the
    file-search guide.
  • Responsiveness and reliability: app matching reuses prepared name data;
    icon decoding and caches have bounded concurrency and size. File refinements
    retain still-matching rows and panel height while pending, then preserve
    numbered choices once navigation begins. Background cancellation rejects stale
    results, input edits publish one coherent update, and unchanged clipboard
    expiration checks avoid unnecessary sorting. These changes add no typing debounce.
  • Clear versions and MIT licensing: Settings, About and update dialogs show
    1.0.0 without a parenthesized internal build number. Update ordering keeps
    its separate increasing counter. Cue is now distributed under the
    MIT License; bundled
    third-party components and data retain their own licenses.

Install or upgrade

With Cue networking allowed, choose Check for Updates…, then download and
Install and Relaunch. To install manually, quit Cue, open the DMG, drag
Cue.app into Applications, replace an existing copy if needed, then open
it there. The app lives in the menu bar; Option+Space opens the launcher.
Settings, clipboard history and search learning are preserved. Updating needs a
writable installed location, not the read-only DMG; installation and restart
remain your choice.

To build your own copy, install full Xcode with Swift 6 or later, complete its
license/setup, quit any running Cue, then run:

git clone https://github.com/hsiuhsiu/cue.git
cd cue
./scripts/install-app.sh
open "$HOME/Applications/Cue.app"

For source updates, quit Cue and run git pull --ff-only and
./scripts/install-app.sh, then reopen it. Source builds default to Cue-owned
networking and automatic checks off; official DMGs default to on. Saved
choices take precedence. Explicit browser search has its own switch. Installing
an in-app update replaces a source build with the published binary; it does not
compile your repository. See the
source guide.

Verification and limits

The pre-release review passed 287 optimized core tests, 30 groups of isolated
feature/integration checks, and Apple silicon/Intel compilation. Tests use
synthetic data, private pasteboards, temporary preferences, injected services and
offscreen native views. Host checks ran on Apple silicon / macOS 27.0 / Xcode
27
. Component performance measurements do not establish keyboard-to-display
latency or a comparison with other launchers.

This round did not complete a live-desktop check of the final installed app,
multi-display/app compatibility, fresh or updated macOS permission flows, or a
full public Sparkle download/install/relaunch. A positive real-Spotlight fixture
remained inconclusive: both Cue and macOS mdfind returned no match for the
new fixture, despite metadata being visible. Injected positive-result checks
passed; they do not prove a target Mac's index is searchable. Real GPT/currency
requests and sleep/lock/display-off/login cycles were not rerun.

The universal app targets macOS 14+, but Intel and macOS versions other than
27 were not runtime-tested
. App size constraints can limit window adjustments;
macOS Secure Input may intercept Option+letter shortcuts, so use Window Settings
to choose another combination when needed.

Cue is ad hoc-signed, without Apple Developer ID signing or notarization.
Sparkle's update signatures do not replace Apple's first-launch checks. If macOS
blocks opening the app, use the app-specific approval steps in the
installation guide.
Window controls and Chinese text replacement need permission for the currently
installed copy; rebuilding or updating can invalidate an older grant.

正體中文

Cue 1.0 將視窗調整、設定移轉與檔名搜尋加入原生 macOS 啟動器,搭配既有的
剪貼簿、文字處理、計算及 GPT 工具。快速、簡潔、輕量仍是核心原則。

官網 · 下載 Cue 1.0.0 · 檢查碼

新功能與改善

  • 視窗調整:按 Option+M 控制目前視窗。Option+方向鍵套用半屏、
    Command+方向鍵移動顯示器、Return 填滿可用桌面而不建立全螢幕 Space、
    空白鍵置中、Tab 還原、1–9 套用已儲存的比例配置;可設定調整後
    是否保留面板。功能預設啟用
    ,包含尚無視窗設定的舊版升級;明確儲存的
    關閉選擇會保留。從 Cue 選單列選擇視窗設定…、搜尋 window settings,
    或在視窗模式按 Command+, 即可調整。
  • 新安裝與更新後的授權引導:視窗調整需要 macOS 隱私權與安全性 →
    輔助使用權限;macOS 27 英文名稱為 Device Control and Data Access。
    缺少或撤銷權限時,會顯示實際狀態、系統設定入口與重新檢查
    。從系統設定
    返回會更新狀態;Cue 啟動時不直接索取權限,也不重播授權前的配置操作。
    更新後,舊執行檔的授權不一定仍有效。若系統開關已開啟但 Cue 仍未獲信任,
    請依目前安裝版本的排解步驟處理。
  • 設定備份與移轉:在設定 → 備份與移轉匯出偏好、別名、指定瀏覽器與
    視窗配置;匯入前可預覽並選擇區塊,保留目的 Mac 的網路、記錄、視窗啟用、
    登入啟動與權限選擇。一般 JSON 不含 API key;可選密碼加密,攜帶 OpenAI
    金鑰則必須加密並另外明確勾選。密碼至少 12 個字元,不會儲存,忘記後無法
    復原。剪貼簿內容與搜尋學習記錄不列入備份。詳見
    備份說明。
  • **檔名搜尋:**輸入 f+空格+部分檔名,例如 f report 或 f 發票,
    即可透過本機 Spotlight 索引搜尋檔案及資料夾。按 Return 或
    Command+1–9 用預設 App 開啟;結果顯示所在路徑,最多九列。Cue 不讀取
    文件內容、不搜尋網路磁碟,也不把檔案查詢交給 Google/GPT。關閉 Cue 網路
    仍可使用,結果依 Spotlight 索引、排除範圍及權限而定。已正規化已知的 APFS
    資料卷宗別名,避免一般使用者檔案被當成系統檔案排除。詳見
    檔案搜尋說明。
  • **操作反應與穩定性:**App 比對重用預先整理的名稱;圖示解碼及快取都有
    工作數量與容量上限。檔案查詢尚未完成時保留仍符合的列及視窗高度,開始
    選取後固定編號。取消機制拒絕過期回覆、每次輸入編輯只發布一次完整更新,
    剪貼簿沒有過期項目時也避免重複排序。這些改善不加入打字等待或 debounce。
  • **清楚的版號與 MIT 授權:**設定、「關於」及更新視窗顯示 1.0.0,不再
    附上括號建置號;更新排序仍使用獨立遞增的內部編號。Cue 採用
    MIT 授權,內附的第三方
    元件及資料維持各自授權。

安裝或升級

允許 Cue 自行連網後,選擇檢查更新⋯、下載,再依提示安裝並重新啟動
(Install and Relaunch)。也可先結束 Cue,開啟 DMG,將 Cue.app 拖入
Applications/應用程式,需要時取代舊版,再從該位置開啟。Cue 常駐選單列,
按 Option+Space 叫出主視窗。設定、剪貼簿記錄與搜尋學習資料會保留。
更新需要可寫入的安裝位置,不能直接在唯讀 DMG 裡執行;安裝與重啟由你選擇。

自行建置需先安裝含 Swift 6 以上的完整 Xcode、完成授權與設定,並結束正在
執行的 Cue,再執行:

git clone https://github.com/hsiuhsiu/cue.git
cd cue
./scripts/install-app.sh
open "$HOME/Applications/Cue.app"

日後更新原始碼版時,先結束 Cue,執行 git pull --ff-only 與
./scripts/install-app.sh,再開啟。原始碼版預設關閉 Cue 自行連網與自動
檢查更新,正式 DMG 預設開啟;已儲存的明確選擇優先。瀏覽器搜尋另有獨立
開關。從 Cue 內安裝更新會換成發布的執行檔,不會替儲存庫編譯。詳見
原始碼指引。

驗證與限制

發布前審查通過 287 項最佳化核心測試、30 組隔離功能/整合檢查,以及
Apple silicon/Intel 編譯。測試採用合成資料、專用測試剪貼簿、暫存設定、
注入服務及離屏原生介面;執行環境為 Apple silicon/macOS 27.0/Xcode 27。
元件效能量測不等同按鍵到畫面的總延遲,也不是與其他啟動器的比較。

本輪尚未完成最終安裝版本的實際桌面驗證、多顯示器/不同 App 相容性、
全新或更新後的 macOS 授權流程,以及完整的公開 Sparkle 下載/安裝/重啟。
真實 Spotlight 正向測試仍無法下結論:新建測試檔雖可讀到 metadata,Cue 與
macOS mdfind 都找不到。模擬正向結果檢查已通...

Read more

Cue 0.9.1 — Faster search and smoother settings / 搜尋效能與設定體驗改善

Choose a tag to compare

@hsiuhsiu hsiuhsiu released this 03 Oct 12:13

English

Cue 0.9.1 improves responsiveness and existing workflows after a code, performance,
and interface review. Window controls are being planned and are not included.

  • Long text stays responsive: large pasted queries skip expensive app matching
    and search caching while keeping the original text for Google and GPT actions.
    Ordinary short queries still update immediately, without a debounce.
  • Settings preserve your work: opening settings keeps the current page and
    input. GPT stops an active request and retains the text already received; closing
    settings returns to it without automatically retrying or incurring a new request.
    Late failures from an older app or system action no longer reclaim focus.
  • Clipboard preview: use Preview / Command+Y to read the selected item's
    complete text, then Esc to return. Pending copies are cancelled when entering
    settings, changing the query/selection, leaving the page or losing focus.
    Clipboard publication runs off the UI thread; a write already started cannot
    safely be rolled back. List text is also easier to read.
  • Clearer controls: the empty launcher remains minimal; entered text exposes
    an Actions Command+K button. General Settings now has two compact groups
    with an accessible close button. GPT's Save Model explicitly applies edits;
    Done closes the page, while translation selections apply immediately.
  • Keyboard and emoji fixes: global-hotkey settings reject shortcuts reserved
    for result numbers, clipboard actions and standard text editing. Existing
    conflicting saved shortcuts fall back to Option+Space. Emoji such as text-style
    hearts and coffee cups can be found without changing the copied emoji.

Install or upgrade

Download Cue 0.9.1 · Checksums

With Cue networking enabled, choose Check for Updates…, then Install and
Relaunch
. Or quit Cue, open the DMG, and replace Cue.app in your Applications
folder. Reopen the installed app; settings, clipboard history and search learning
are preserved. The installed location must be writable; do not run updates from
the read-only DMG.

To build locally, install full Xcode with Swift 6 or later and complete its initial
setup, then run:

git clone https://github.com/hsiuhsiu/cue.git
cd cue
./scripts/install-app.sh
open "$HOME/Applications/Cue.app"

For later source updates, quit Cue, run git pull --ff-only and
./scripts/install-app.sh, then reopen it. Source builds default to Cue-owned
networking and automatic update checks off; official DMGs default to on. Explicit
saved choices survive replacement. Installing an in-app update switches a source
build to the published app. See the source guide.

Verification and limits

Optimized tests use synthetic apps, private pasteboards, temporary preferences,
mocked API responses and offscreen English/Traditional Chinese settings. They do
not manipulate the operator's desktop or use personal credentials. In a synthetic
long-query fixture, 268 KB input dropped from about 67 ms to below 0.1 ms on the
main thread; this measures search-model work, not visible input-to-display latency.
See measurements.

The universal app targets macOS 14+ with Apple silicon and Intel binaries.
Execution checks are on Apple silicon / macOS 27.0 / Xcode 27. Intel and other
macOS versions, another Mac's first download, a complete public Sparkle update
installation, real GPT replies/API latency/Keychain authorization, global focus
transitions, and sleep/lock/login cycles were not revalidated for this release.
Non-QWERTY Command+K/Command+E routing remains unchanged.

Cue is ad hoc-signed, without Developer ID signing or Apple notarization. Follow
the app-specific installation guide
if macOS blocks first launch. Chinese text replacement requires Accessibility
permission; updating an ad hoc-signed app may require granting permission again.

正體中文

Cue 0.9.1 根據程式碼、效能與介面檢查,改善操作反應與既有流程。
視窗調整功能正在規劃,本版尚未包含。

  • **長文字輸入更順暢:**貼入大量文字時,略過昂貴的 App 比對與搜尋快取,
    保留原文供 Google/GPT 動作使用。一般短查詢仍即時更新,不加入等待延遲。
  • **進設定保留操作內容:**保留原頁面與輸入;GPT 會停止進行中的請求,並
    保留已收到的文字。關閉設定後返回原內容,不會自動重試或送出新的計費請求。
    舊 App/系統操作的延遲失敗訊息,也不再搶回焦點。
  • 剪貼簿全文預覽:按預覽/Command+Y閱讀所選記錄全文,Esc 返回。
    開啟設定、改變搜尋或選取、離開頁面及失去焦點,都會取消尚未完成的拷貝。
    剪貼簿寫入移到背景;已開始的寫入無法安全回復。清單文字也更容易閱讀。
  • 更明確的控制:空白主視窗維持極簡,有輸入時顯示動作 Command+K。
    一般設定整理成兩組,完成按鈕保持可用。GPT 的儲存模型明確套用修改,
    完成只關閉頁面;翻譯方向選單立即套用。
  • **快捷鍵與 Emoji 修正:**全域快捷鍵不能與結果編號、剪貼簿動作及基本文字
    編輯衝突;既有衝突設定會回復 Option+Space。文字樣式的愛心、咖啡杯等 Emoji
    現在也能搜尋,拷貝出的 Emoji 內容維持原樣。

安裝或升級

下載 Cue 0.9.1 · 檢查碼

允許 Cue 使用網路後,選擇檢查更新⋯,再安裝並重新啟動(Install and
Relaunch
)。也可先結束 Cue,開啟 DMG,替換應用程式資料夾內的 Cue.app,
再開啟安裝好的版本。原設定、剪貼簿記錄與搜尋學習資料會保留;安裝位置必須
可寫入,不能直接在唯讀 DMG 內更新。

自行建置需要內含 Swift 6 以上的完整 Xcode,先完成首次啟動設定,再執行:

git clone https://github.com/hsiuhsiu/cue.git
cd cue
./scripts/install-app.sh
open "$HOME/Applications/Cue.app"

之後更新原始碼版時,先結束 Cue,再執行 git pull --ff-only 與
./scripts/install-app.sh,然後重新開啟。自行建置版預設關閉 Cue 自行連網
及自動檢查更新,正式 DMG 預設開啟;明確儲存的選擇會保留。從 App 內安裝
更新會換成發布版,詳見原始碼指引。

驗證與限制

最佳化測試使用模擬 App、專用測試剪貼簿、暫時設定、模擬 API 回應,以及
不顯示在桌面的英文/正體中文設定頁;不操作使用者桌面或使用個人金鑰。
在模擬長查詢測量中,268 KB 輸入的主執行緒耗時由約 67 毫秒降到 0.1 毫秒
以下。這是搜尋模型的運算時間,不是按鍵到畫面的總延遲,詳見
測量紀錄。

通用版目標為 macOS 14+,包含 Apple silicon 與 Intel 執行檔。執行檢查環境為
Apple silicon/macOS 27.0/Xcode 27。本次未重新驗證 Intel、其他 macOS 版本、
另一台 Mac 首次下載、完整公開 Sparkle 更新安裝、真實 GPT 回答/API 延遲/
鑰匙圈授權、跨 App 焦點切換,以及睡眠/鎖定/登入啟動循環。
非 QWERTY 配置的 Command+K/Command+E 路由維持原狀。

Cue 使用 ad hoc 簽章,沒有 Developer ID 簽署,也未經 Apple 公證。若 macOS
阻擋首次開啟,請依針對 Cue 的安裝說明
操作。簡繁文字取代需要輔助使用權限;更新 ad hoc 簽章 App 後,可能需要重新授權。

Cue 0.9.0 — GPT and app search / GPT 與 App 搜尋

Choose a tag to compare

@hsiuhsiu hsiuhsiu released this 03 Oct 05:55

English

Cue 0.9.0 adds quick GPT answers and translation, broader app-name matching,
personal search aliases, and a fix for missing Finder results.

  • Choose what to do with your text: unmatched queries now offer Search
    Google
    , Ask GPT, and Translate with GPT, in that order. Press
    Command+K to see these actions even when an app matches, then use the
    displayed Command+number or Return. Your selected Google browsers remain
    available; more than six additional browsers fit under Other Browsers….
  • Short answers and translation: replies stream into a selectable text view
    with Copy, Stop and explicit Retry. Command+Return copies the reply, and
    Esc returns to your original text. Translation defaults to Chinese →
    English; other languages → Traditional Chinese with Taiwan terminology
    .
    GPT Settings also offers fixed Traditional Chinese or English targets.
  • Your API key and model: search gpt settings, or press Command+, on a
    GPT action or reply. Save your own OpenAI API key in macOS Keychain and enable
    Cue's network access. API usage is billed separately from ChatGPT subscriptions.
    The default model is GPT-6 Luna, with extra reasoning disabled for quick
    tasks; you can enter another Responses-compatible model ID in these settings.
  • Explicit network use: typing and opening the action list never send a GPT
    request. Only executing an action sends the entered text and task instructions
    to OpenAI. Turning Cue networking off cancels pending work and prevents new
    requests; enabling it again does not retry automatically. Cue saves no GPT
    conversation history and excludes questions and replies from search learning.
    Copied replies follow normal Clipboard History settings. OpenAI's own data
    retention policies still apply; sent text and possible charges cannot be recalled.
  • Find apps by more names: Cue searches display names, bundle names and app
    filenames without duplicate results. Code can match visual, vs or
    vsc. Select an app and press Command+E, click …, or use its context
    menu to set a personal alias. Exact aliases take priority over ordinary
    matches and survive reindexing. Duplicate app or conversion aliases are rejected.
  • Finder is searchable: the index now includes Finder's system bundle
    directly, without exposing unrelated CoreServices background helpers.

GPT is a single-turn utility with no live web search; choose Google for current
information and source discovery. Input is limited to 32 KiB; output is capped
at 2,048 tokens for answers and 4,096 for translation. Interrupted or capped
replies are marked incomplete. See the
GPT guide and
app search guide.

Install or upgrade

Download Cue 0.9.0 · Checksums

With Cue network access enabled, choose Check for Updates…, then Install
and Relaunch
. Or quit Cue, open the DMG, and drag Cue.app into
Applications, replacing the old copy. Open the installed app and press
Option+Space. Existing settings, clipboard history and search learning are
preserved. Updating requires a writable installed location, not the read-only
DMG. Cue does not download or install updates unattended.

To build your own copy, install full Xcode with Swift 6 or later, open it
once to finish setup and licensing, quit Cue, then run:

git clone https://github.com/hsiuhsiu/cue.git
cd cue
./scripts/install-app.sh
open "$HOME/Applications/Cue.app"

The optimized app stays installed at ~/Applications/Cue.app; the first build
downloads the pinned Sparkle dependency. To update, quit Cue, run
git pull --ff-only and ./scripts/install-app.sh in the same repository, then
reopen it. Source builds default to Cue-owned networking and automatic update
checks off; official DMGs default to on. Explicit saved choices are
preserved. GPT and currency conversion follow that network choice; browser
search retains its separate, enabled-by-default switch. Installing an in-app
update replaces a source build with the published app. See the
source guide.

Installation and testing limits

The app is ad hoc-signed, without Developer ID signing or Apple notarization.
If macOS blocks first launch, follow the app-specific
installation instructions.
Chinese text replacement still requires Accessibility permission for the
installed copy; rebuilding or updating can invalidate an older grant.

Optimized automated checks cover GPT streaming, cancellation, network gating,
settings and keyboard interactions using injected API responses and isolated
credentials. Local interface checks covered action selection, returning to the
original query, settings focus and the missing-key state. Live OpenAI replies,
API latency and real Keychain authorization remain unverified.
The default
model is selected from OpenAI's documentation, not a Cue model-quality benchmark.

The universal app targets macOS 14+, with Apple silicon and Intel binaries.
Runtime verification is on Apple silicon / macOS 27.0 / Xcode 27. Intel,
other macOS versions, first installation on another Mac, and a complete public
update installation remain unverified. Actual sleep, lock, display-off and
logout/reboot login-item cycles were not exercised for this release.

正體中文

Cue 0.9.0 加入快速 GPT 問答與翻譯、更多 App 名稱搜尋、個人搜尋別名,並修正
找不到 Finder 的問題。

  • 選擇如何處理輸入文字:沒有符合結果時,依序提供 Google 搜尋、
    問 GPT、GPT 翻譯。即使有 App 符合,也可按 Command+K 叫出這些
    動作,再按顯示的 Command+數字或 Return。自行選擇的 Google 瀏覽器仍
    可使用;超過六個額外瀏覽器時,收進其他瀏覽器⋯
    。
  • **簡短回答與翻譯:**回答逐步顯示且可選取文字,提供拷貝、停止與手動重試。
    Command+Return 拷貝回答,Esc 返回原本輸入的文字。翻譯預設為
    中文→英文,其他語言→正體中文(台灣用詞);也可在 GPT 設定固定翻成
    正體中文或英文。
  • **自己的 API 金鑰與模型:**輸入 gpt settings,或在 GPT 動作/回答頁按
    Command+,,將自己的 OpenAI API 金鑰存進 macOS 鑰匙圈,並允許 Cue
    自行連網。API 與 ChatGPT 訂閱分開計費。預設採用 GPT-6 Luna、關閉
    額外推理以適合短任務;可在此設定其他支援 Responses 的模型 ID。
  • **明確操作才使用網路:**打字與開啟動作清單都不會發出 GPT 請求,只有
    執行動作才將輸入文字與任務指示傳到 OpenAI。關閉 Cue 網路會取消等待中的
    工作並阻止新請求,重新允許也不會自動重試。Cue 不保存 GPT 對話歷史,提問
    與回答不加入搜尋學習;拷貝的回答依一般剪貼簿記錄設定處理。OpenAI 端仍
    適用自己的資料保留政策,已送出的文字及可能產生的費用無法收回。
  • **更多 App 名稱可搜尋:**同時搜尋顯示名稱、Bundle 名稱與 App 檔名,不
    重複顯示結果。Code 可用 visual、vs 或 vsc 找到。選取 App 後按
    Command+E、點 … 或使用右鍵選單,即可設定個人別名;完整別名
    優先於一般符合結果,更新索引後仍保留。不能與其他 App 或簡繁轉換別名重複。
  • **可以搜尋 Finder:**直接將 Finder 的系統 App 加入索引,不將其他
    CoreServices 背景輔助程式列為結果。

GPT 是單次問答工具,沒有即時網頁搜尋;近期資訊與來源查找請用 Google。
輸入上限為 32 KiB,問答最多輸出 2,048 tokens,翻譯最多 4,096 tokens;中斷
或達到上限會標示未完成。詳見
GPT 說明及
App 搜尋說明。

安裝或升級

下載 Cue 0.9.0 · 檢查碼

允許 Cue 使用網路後,選擇檢查更新⋯,再依提示安裝並重新啟動(Install
and Relaunch
);或先結束 Cue,開啟 DMG,將 Cue.app 拖進應用程式
取代舊版,再開啟安裝好的 App,按 Option+Space。原有設定、剪貼簿記錄與
搜尋學習資料都會保留。更新需要可寫入的安裝位置,不能直接在唯讀 DMG 中
執行;Cue 不會在無人操作時自行下載或安裝更新。

自行編譯需要內含 Swift 6 以上的完整 Xcode,先開啟完成設定與授權、
結束 Cue,再執行:

git clone https://github.com/hsiuhsiu/cue.git
cd cue
./scripts/install-app.sh
open "$HOME/Applications/Cue.app"

最佳化 App 會固定安裝至 ~/Applications/Cue.app,首次建置下載固定版本的
Sparkle。更新時先結束 Cue,在同一份儲存庫執行 git pull --ff-only 與
./scripts/install-app.sh,再重新開啟。自行建置版預設關閉 Cue 自行連網
與自動檢查更新,正式 DMG 預設開啟;明確儲存的選擇會保留。GPT 與幣值
換算遵守該網路選擇,瀏覽器搜尋則有獨立、預設開啟的開關。若從 Cue 安裝
更新,會將自行建置版換成發布版。詳見
原始碼指引。

安裝與驗證限制

App 使用 ad hoc 簽章,沒有 Developer ID 簽署,也未經 Apple 公證。若
macOS 阻擋首次開啟,請依針對 Cue 的
安裝說明操作。
簡繁文字取代仍需要為目前安裝的 Cue 開啟輔助使用權限;重新建置或更新可能
使舊授權失效。

最佳化自動檢查使用注入的 API 回應及隔離的金鑰資料,涵蓋 GPT 串流、取消、
網路許可、設定與鍵盤操作。本機介面確認了動作選擇、返回保留查詢、設定焦點
與未設定金鑰時的提示。**真實 OpenAI 回答、API 延遲與實際鑰匙圈授權尚未
驗證。**預設模型依 OpenAI 官方文件選擇,並非 Cue 的模型品質評測結果。

通用版目標為 macOS 14+,包含 Apple silicon 與 Intel 執行檔。實際執行
驗證環境為 Apple silicon/macOS 27.0/Xcode 27;Intel、其他 macOS 版本、
另一台 Mac 的首次安裝及完整公開更新安裝流程仍未驗證。本次發布未實際測試
睡眠、鎖定、關閉顯示器及登出/重開機後登入啟動的完整循環。

Cue 0.8.0 — Unit and currency conversion / 單位與幣值換算

Choose a tag to compare

@hsiuhsiu hsiuhsiu released this 30 Sep 05:03

English

Cue 0.8.0 adds inline unit and currency conversion and fixes learned app choices
that could remain behind a matching built-in command.

  • Conversions while typing: enter 10m, 5坪, 25C, or 100USD to see
    up to three common conversions. Specify one target with 10m to ft or
    100USD to TWD. Results share the launcher's nine-row limit with app and
    command matches; there is no separate conversion page or setting.
  • Offline physical units: length, area, mass, volume, temperature, time and
    speed are supported, including Taiwan's 坪. Area uses the exact ratio
    1 m² = 0.3025 坪. English names and Traditional Chinese aliases are accepted.
    Select a result and press Return, or use its Command+number, to copy
    only the numeric value and close Cue. Paste with Command+V in the
    destination app; Cue does not paste automatically.
  • Daily currency reference rates: currency conversion requires Settings
    → Network → Allow Cue to access the network
    . ExchangeRate-API provides a
    daily table without an API key; Cue displays its date and source. These are
    indicative rates, not live market prices or bank quotes. Loading and retry
    states appear without blocking typing. Fresh rates are cached; expired rates
    are not used as current answers. Turning network access off cancels pending
    rate work and hides currency answers, including cached ones. Ordinary units
    continue working offline.
  • Private conversion inputs: Cue downloads a fixed USD-based table and
    converts locally; amounts, entered text and requested currencies are not sent
    to the provider. Normal connection information, including IP address, still
    reaches the provider. Conversion inputs and results are excluded from search
    learning. Typing alone does not change the clipboard; values explicitly
    copied follow Clipboard History's normal recording settings.
  • Learned app choices can move ahead: a successful choice for the same
    query can now promote an app above an incidental built-in command match.
    For example, choosing iTerm2 for it can move it ahead of the Traditional
    Chinese conversion command on the next invocation. Existing learning is
    preserved; explicitly configured exact command aliases still rank first.
    Ranking continues to use prepared in-memory scores, and background learning
    does not move the rows currently being selected.

See the unit and currency guide
and adaptive search guide.

Install or upgrade

Download Cue 0.8.0 · Checksums

With Cue network access enabled, choose Check for Updates…, then Install
and Relaunch
. Or quit Cue, open the DMG, and drag Cue.app into
Applications, replacing the old copy. Open the installed app and press
Option+Space. Existing settings, clipboard history and search learning are
preserved. Updating requires a writable installed location, not the read-only
DMG. Automatic downloads and unattended installation remain disabled.

To build your own copy, install full Xcode with Swift 6 or later, open it once
to complete its license and setup, quit Cue, then run:

git clone https://github.com/hsiuhsiu/cue.git
cd cue
./scripts/install-app.sh
open "$HOME/Applications/Cue.app"

The optimized app stays installed at ~/Applications/Cue.app. The first build
downloads the pinned Sparkle dependency. To update that source build, quit Cue,
run git pull --ff-only and ./scripts/install-app.sh in the same repository,
then reopen the installed app. Source builds default to Cue-owned networking
and automatic update checks off; official DMGs default to on. Explicit
saved choices are preserved. Currency conversion follows that network choice.
Browser search has its own enabled-by-default switch in both builds. Installing
an update offered by Cue replaces a source build with the published app. See the
source guide and
network policy.

Installation and testing limits

The app is ad hoc-signed, without Developer ID signing or Apple notarization.
If macOS blocks first launch, follow the app-specific
installation instructions.
Chinese text replacement still needs Accessibility permission for the installed
copy; rebuilding or updating can invalidate an older grant.

Optimized checks cover core conversion logic, native conversion copying,
currency-service freshness and cancellation, keyboard interaction, and adaptive
search. Currency service checks use injected transport and isolated storage; a
separate live check successfully downloaded the provider's fixed USD table. Local
interface checks confirmed conversions and the learned it / iTerm2 ordering.
These checks do not establish a full public update installation or cross-platform
runtime compatibility.

The universal app targets macOS 14+, with Apple silicon and Intel binaries.
Runtime verification is on Apple silicon / macOS 27.0 / Xcode 27. Intel,
other macOS versions, first installation on another Mac, and a full public
update installation remain unverified. System-action checks use substitutes;
actual sleep, lock, display-off and logout/reboot startup cycles have not been
verified for this release.

正體中文

Cue 0.8.0 加入主搜尋中的單位與幣值換算,並修正學習後的 App 選擇仍可能
固定排在符合的內建指令後面的問題。

  • **打字即顯示換算:**輸入 10m、5坪、25C 或 100USD,即可看到最多
    三種常用換算;用 10m to ft 或 100USD to TWD 指定一個目標。換算結果
    與符合的 App、指令共用最多九列的限制,不需另一個換算頁面或額外設定。
  • 一般單位完全離線:支援長度、面積、質量、體積、溫度、時間與速度,
    包含台灣的坪
    。面積採用精確比例 1 平方公尺 = 0.3025 坪,也接受
    英文名稱與正體中文別名。選取結果後按 Return,或按對應的
    Command+數字,只拷貝數值並收起 Cue;再到目標 App 按 Command+V
    貼上,Cue 不會自動貼入。
  • 每日幣值參考匯率:幣值換算需要開啟設定 → 網路 → 允許 Cue 自行
    連網
    。ExchangeRate-API 提供每日匯率表,不需 API 金鑰;Cue 顯示資料
    日期與來源。這是參考匯率,不是即時行情或銀行報價。載入與重試狀態不會
    阻擋打字;有效資料會快取,過期匯率不當成目前答案。關閉網路會取消
    等待中的匯率工作,快取的幣值答案也會隱藏;一般單位仍可離線使用。
  • **換算輸入留在本機:**Cue 下載固定的美元基準匯率表,再於本機換算,
    不會向服務商送出金額、輸入文字或指定幣別;IP 位址等一般連線資訊仍會
    傳給服務商。換算輸入與結果不加入搜尋學習。單純打字不會修改剪貼簿,
    明確拷貝的數值依剪貼簿記錄原有設定處理。
  • **學習後的 App 可往前排:**相同關鍵字的成功選擇,現在能讓 App 超過
    碰巧符合的內建指令。例如用 it 成功開啟 iTerm2 後,下次叫出時可超過
    正體中文轉換指令。原有學習紀錄會保留;明確設定的完整指令別名仍優先。
    排序繼續使用記憶體中的分數,背景學習不會讓正在選取的列表突然跳動。

詳見單位與幣值換算說明
及搜尋習慣說明。

安裝或升級

下載 Cue 0.8.0 · 檢查碼

允許 Cue 使用網路後,選擇檢查更新⋯,再依提示安裝並重新啟動(Install
and Relaunch
);或先結束 Cue,開啟 DMG,將 Cue.app 拖進應用程式取代
舊版,再開啟安裝好的 App,按 Option+Space。原有設定、剪貼簿記錄與搜尋
學習資料都會保留。更新需要可寫入的安裝位置,不能直接在唯讀 DMG 中執行;
自動下載及無人操作安裝仍維持停用。

自行編譯需要內含 Swift 6 以上的完整 Xcode,先開啟完成授權與設定、結束
Cue,再執行:

git clone https://github.com/hsiuhsiu/cue.git
cd cue
./scripts/install-app.sh
open "$HOME/Applications/Cue.app"

最佳化 App 會固定安裝至 ~/Applications/Cue.app。首次建置下載固定版本的
Sparkle;更新自行建置版時,先結束 Cue,在同一份儲存庫執行 git pull --ff-only
與 ./scripts/install-app.sh,再重新開啟已安裝的 App。自行建置版預設關閉
Cue 自行連網與自動檢查更新,正式 DMG 預設開啟;明確儲存的選擇會保留,
幣值換算也遵守該網路選擇。兩種版本的瀏覽器搜尋皆有獨立、預設開啟的開關。
若從 Cue 安裝提供的更新,會將自行建置版換成發布版。詳見
原始碼指引與
網路政策。

安裝與驗證限制

App 使用 ad hoc 簽章,沒有 Developer ID 簽署,也未經 Apple 公證。若 macOS
阻擋首次開啟,請依針對 Cue 的
安裝說明操作。
簡繁文字取代仍需要為目前安裝的 Cue 開啟輔助使用權限;重新建置或更新可能
使舊授權失效。

最佳化檢查涵蓋核心換算邏輯、原生換算拷貝、匯率資料有效時間與取消行為、
鍵盤操作及搜尋學習。幣值服務測試使用注入的傳輸與隔離儲存;另一次實際連線
檢查成功下載服務商固定的美元匯率表。本機介面也確認了換算及 it/iTerm2
學習後的排序。這些檢查不代表完整的公開更新安裝流程或跨平台執行相容性
已驗證。

通用版目標為 macOS 14+,包含 Apple silicon 與 Intel 執行檔。實際執行驗證
環境為 Apple silicon/macOS 27.0/Xcode 27;Intel、其他 macOS 版本、另一台
Mac 的首次安裝,以及完整的公開更新安裝流程,仍未驗證。系統指令檢查使用
替代動作;本次發布尚未實際驗證睡眠、鎖定、關閉顯示器及登出/重開機後啟動
的完整循環。

Cue 0.7.0 — Instant calculator / 即時計算

Choose a tag to compare

@hsiuhsiu hsiuhsiu released this 29 Sep 04:21

English

Cue 0.7.0 adds an offline calculator directly to the launcher, including powers.

  • Answers while typing: enter 1+2*3, (12+8)/4, or 2^10. A complete
    supported expression shows its answer first, with matching apps and commands
    below it and at most nine results in total. There is no separate calculator
    page or setting.
  • Copy with the keyboard: select the answer and press Return, or use
    Command+1, to copy only its numeric value and close Cue. Paste with
    Command+V in the destination app. Typing alone does not change the
    clipboard, and Cue does not paste automatically.
  • Powers and clear precision: use ^ or adjacent **, including 2^-3
    and 9^0.5. Powers associate right to left: 2^3^2 is 512. Parentheses
    distinguish (-2)^2 (4) from (-2^2) (-4). Exact answers show =;
    approximate answers show ≈, with up to 16 significant digits.
    Fractional powers always show ≈.
  • Local and bounded: decimals, parentheses, scientific notation and basic
    arithmetic are supported; expressions must start with a digit or ( and
    contain an operator. A plain number remains an ordinary search. Incomplete,
    undefined or out-of-range expressions produce no calculator answer. Inputs
    are limited to 512 UTF-8 bytes, 256 tokens and 32 nested levels; exponents
    are limited to −10,000 through 10,000. Calculation needs no network or extra
    permission and works with both Cue networking and browser search disabled.
    Expressions and answers are excluded from search-learning history; copied
    answers follow Clipboard History's normal recording settings.

See the calculator guide
for syntax, limits and interaction with app and Google search.

Install or upgrade

Download Cue 0.7.0 · Checksums

With Cue network access enabled, choose Check for Updates…, then Install
and Relaunch
. Or quit Cue, open the DMG, and drag Cue.app into
Applications, replacing the old copy. Open the installed app and press
Option+Space. Existing settings, clipboard history and search learning are
preserved. Updating requires a writable installed location, not the read-only
DMG. Automatic downloads and unattended installation remain disabled.

To build your own copy, install full Xcode with Swift 6 or later, open it once
to complete its license and setup, quit Cue, then run:

git clone https://github.com/hsiuhsiu/cue.git
cd cue
./scripts/install-app.sh
open "$HOME/Applications/Cue.app"

The optimized app stays installed at ~/Applications/Cue.app. The first build
downloads the pinned Sparkle dependency. To update that source build, quit Cue,
run git pull --ff-only and ./scripts/install-app.sh in the same repository,
then reopen the installed app. Source builds default to Cue-owned networking
and automatic update checks off; official DMGs default to on. Explicit
saved choices are preserved. Browser search has its own enabled-by-default
switch in both builds. Installing an update offered by Cue replaces a source
build with the published app. See the
source guide and
network policy.

Installation and testing limits

The app is ad hoc-signed, without Developer ID signing or Apple notarization.
If macOS blocks first launch, follow the app-specific
installation instructions.
Chinese text replacement still needs Accessibility permission for the installed
copy; rebuilding or updating can invalidate an older grant.

The universal app targets macOS 14+, with Apple silicon and Intel binaries.
Runtime verification is on Apple silicon / macOS 27.0 / Xcode 27. Intel,
other macOS versions, first installation on another Mac, and a full public
update installation remain unverified. System-action checks use substitutes;
actual sleep, lock, display-off and logout/reboot startup cycles have not been
verified for this release.

正體中文

Cue 0.7.0 將離線計算機直接加入主搜尋,並支援次方。

  • **打字即顯示答案:**輸入 1+2*3、(12+8)/4 或 2^10。完整且支援的
    算式會把答案放在第一列,符合的 App 與指令仍列在下方,合計最多九筆。
    不需要另外進入計算機頁面,也沒有額外設定。
  • **用鍵盤拷貝:**選取答案後按 Return,或直接按 Command+1,只拷貝
    數值並收起 Cue,再到目標 App 按 Command+V 貼上。單純打字不會修改
    剪貼簿,Cue 也不會自動貼上。
  • **次方與明確精度:**可用 ^ 或相鄰的 **,包含 2^-3 與 9^0.5。
    連續次方由右向左算,2^3^2 為 512;括號可區分 (-2)^2(4)與
    (-2^2)(-4)。精確答案顯示 =,近似答案顯示 ≈,最多保留
    16 位有效數字;小數次方一律標示 ≈。
  • **離線且限制工作量:**支援小數、括號、科學記號與基本四則運算;算式必須
    以數字或 ( 開頭並含運算符號,單純數字仍視為一般搜尋。不完整、未定義
    或超出範圍時不顯示計算答案。輸入最多 512 個 UTF-8 位元組、256 個語法
    項目及 32 層巢狀深度,指數限制在 −10,000 到 10,000。計算不需網路或額外
    權限,Cue 自行連網與瀏覽器搜尋都關閉時仍可使用。算式及答案不會加入
    搜尋學習記錄;已拷貝的答案依剪貼簿記錄原有設定處理。

語法、限制及與 App/Google 搜尋的互動方式,詳見
計算機說明。

安裝或升級

下載 Cue 0.7.0 · 檢查碼

允許 Cue 使用網路後,選擇檢查更新⋯,再依提示安裝並重新啟動(Install
and Relaunch
);或先結束 Cue,開啟 DMG,將 Cue.app 拖進應用程式取代
舊版,再開啟安裝好的 App,按 Option+Space。原有設定、剪貼簿記錄與搜尋
學習資料都會保留。更新需要可寫入的安裝位置,不能直接在唯讀 DMG 中執行;
自動下載及無人操作安裝仍維持停用。

自行編譯需要內含 Swift 6 以上的完整 Xcode,先開啟完成授權與設定、結束
Cue,再執行:

git clone https://github.com/hsiuhsiu/cue.git
cd cue
./scripts/install-app.sh
open "$HOME/Applications/Cue.app"

最佳化 App 會固定安裝至 ~/Applications/Cue.app。首次建置下載固定版本的
Sparkle;更新自行建置版時,先結束 Cue,在同一份儲存庫執行 git pull --ff-only
與 ./scripts/install-app.sh,再重新開啟已安裝的 App。自行建置版預設關閉
Cue 自行連網與自動檢查更新,正式 DMG 預設開啟;明確儲存的選擇會保留。
兩種版本的瀏覽器搜尋皆有獨立、預設開啟的開關。若從 Cue 安裝提供的更新,
會將自行建置版換成發布版。詳見
原始碼指引與
網路政策。

安裝與驗證限制

App 使用 ad hoc 簽章,沒有 Developer ID 簽署,也未經 Apple 公證。若 macOS
阻擋首次開啟,請依針對 Cue 的
安裝說明操作。
簡繁文字取代仍需要為目前安裝的 Cue 開啟輔助使用權限;重新建置或更新可能
使舊授權失效。

通用版目標為 macOS 14+,包含 Apple silicon 與 Intel 執行檔。實際執行驗證
環境為 Apple silicon/macOS 27.0/Xcode 27;Intel、其他 macOS 版本、另一台
Mac 的首次安裝,以及完整的公開更新安裝流程,仍未驗證。系統指令檢查使用
替代動作;本次發布尚未實際驗證睡眠、鎖定、關閉顯示器及登出/重開機後啟動
的完整循環。

Cue 0.6.0 — Emoji and web tools / Emoji 與網頁工具

Choose a tag to compare

@hsiuhsiu hsiuhsiu released this 28 Sep 15:59

English

Cue 0.6.0 adds offline emoji search, Google search with your choice of browser,
and local clipboard link cleaning.

  • Emoji search: type emoji or 表情符號 to open a dedicated page.
    Search English or Traditional Chinese keywords, select with the arrow keys
    and Return, double-click, choose Copy, or press Command+1–9 to copy an emoji and close Cue.
    Paste with Command+V in the destination app; Cue does not paste automatically.
    Esc returns to the launcher. The catalog is bundled, works offline from first
    use, and shows at most nine matches without a scrollbar.
  • Google search: when a nonempty main-launcher query has no local app or
    command match after the first index loads, Cue offers Google search.
    Command+Return searches the current text in your default browser even
    when local results exist. Command+K shows browser actions for that text;
    ordinary Return still runs the selected local result. Typing and input-method
    composition do not send searches or fetch suggestions.
  • Your browsers: search google settings to add or remove up to eight
    browser choices alongside the system default. Only browsers you choose enter
    the list, each Mac keeps its own choices, and the result artwork shows the
    browser's icon. A missing browser reports an error instead of silently using
    another. Command-comma on a Google action opens these feature settings.
  • Link cleaner: copy one HTTP(S) link, then run clean link,
    link cleaner, 清理連結, or 清理網址. Cue removes known tracking
    parameters, preserving other parameters, fragments, and their encoding.
    Recognized signed links stay unchanged; ambiguous semicolon fields are
    retained. The result reports the removed count or why the clipboard remains
    unchanged. Cleaning runs locally, does not expand short links or redirects,
    open a browser, or paste automatically. A detected newer copy prevents a
    pending cleanup from replacing it.
  • Clear network and privacy controls: Cue's global network switch continues
    to govern its own requests, including updates. Explicit Google searches use
    an independent Enable Google search switch, on by default, so they can
    still hand off to your browser when Cue's own networking is off. Turn that
    feature switch off to block the handoff too. The browser and Google receive
    only submitted queries and apply their own settings. Emoji search and link
    cleaning stay offline. Google queries, Emoji page searches/selections, and
    cleaned clipboard URLs are not saved in Cue's search-learning history.

See the Emoji,
Google search, and
link cleaner guides.

Install or upgrade

Download Cue 0.6.0 · Checksums

With Cue's network access enabled, choose Check for Updates… → Install and
Relaunch
. Or quit Cue, open the DMG, and drag Cue.app into Applications,
replacing the old copy. Open the installed app; its default shortcut is
Option+Space. Settings, clipboard history, and search learning are preserved.
Updating requires a writable installed location, not the read-only DMG.
Automatic downloads and unattended installation remain disabled.

To compile your own copy, install full Xcode with Swift 6 or later, open it
once to finish its license and setup, quit Cue, then run:

git clone https://github.com/hsiuhsiu/cue.git
cd cue
./scripts/install-app.sh
open "$HOME/Applications/Cue.app"

The optimized app stays installed at ~/Applications/Cue.app. The first build
downloads the pinned Sparkle dependency; Chinese dictionaries and the emoji
catalog are already bundled. To update a source build, quit Cue and run
git pull --ff-only followed by ./scripts/install-app.sh. Source builds default
to Cue's own networking and automatic update checks off; official DMGs
default to on. Explicit saved choices are preserved. Browser search has its
own enabled-by-default switch in both builds. Installing an update offered by
Cue replaces a source build with the published app. See the
source guide and
network policy.

The app is ad hoc-signed, without Developer ID signing or Apple notarization.
If macOS blocks its first launch, follow the app-specific
installation instructions.
Chinese text replacement still needs Accessibility permission for the installed
copy; rebuilding or updating can invalidate an older grant.

The universal app targets macOS 14+, with Apple silicon and Intel binaries.
Runtime verification is on Apple silicon / macOS 27.0 / Xcode 27; Intel,
other macOS versions, and a public update installation on a second Mac remain
unverified. System-action checks use substitutes; actual sleep, lock, display-off,
and logout/reboot startup cycles have not been verified for this release.

正體中文

Cue 0.6.0 加入離線 Emoji 搜尋、可選擇瀏覽器的 Google 搜尋,以及本機剪貼簿
連結清理。

  • Emoji 搜尋:輸入 emoji 或 表情符號 開啟專用頁面。用英文或
    正體中文關鍵字搜尋,以方向鍵選取後按 Return、按兩下結果、按拷貝
    ,或按 Command+1–9,
    即可拷貝 emoji 並收起 Cue。到目標 App 按 Command+V 貼上,Cue 不會自動
    貼入;Esc 返回主搜尋。目錄隨 App 內附,首次使用也離線,最多顯示九個
    符合結果、不顯示捲軸。
  • **Google 搜尋:**初次索引完成後,主搜尋的非空白文字若沒有符合的 App 或
    指令,就會提供 Google 搜尋。即使已有本機結果,也可用 Command+Return
    在預設瀏覽器搜尋目前文字;Command+K 顯示這段文字的瀏覽器動作。
    一般 Return 仍執行選取的本機結果。打字或輸入法組字時不會傳送搜尋或取得
    搜尋建議。
  • **選擇自己的瀏覽器:**輸入 Google 搜尋設定,可在系統預設之外自行
    加入、移除最多八個瀏覽器。只有明確選擇的 App 會進入清單,每台 Mac 各自
    保留選擇,結果圖示也會標示對應瀏覽器。若已加入的瀏覽器不存在,會顯示
    錯誤,不會悄悄換用其他瀏覽器;選到 Google 動作時,Command+逗號可開啟
    這個功能的設定。
  • 連結清理:複製一個 HTTP(S) 網址,執行 clean link、link cleaner、
    **清理連結**或 清理網址,即可移除已知追蹤參數,保留其他參數、
    網址片段及原有編碼。已識別的簽章網址不修改,解析方式不明確的分號欄位
    也會保留。結果顯示移除數量或剪貼簿保持原樣的原因。清理在本機進行,
    不展開短網址或重新導向、不開啟瀏覽器、不自動貼上;若等待期間偵測到
    較新的拷貝,就不覆蓋它。
  • 明確的網路與隱私控制:全域網路開關持續管理 Cue 自己的請求,包括更新。
    明確執行的 Google 搜尋使用獨立、預設開啟的啟用 Google 搜尋
    開關;因此
    Cue 自行連網關閉時,仍可主動交給瀏覽器搜尋。若也要阻止此交接,請關閉
    該功能開關。瀏覽器及 Google 只接收已送出的查詢,依各自設定處理。
    Emoji 搜尋與連結清理維持離線。Google 字詞、Emoji 頁面搜尋/選取結果,
    以及清理的剪貼簿網址,都不會存入 Cue 的搜尋學習記錄。

詳見 Emoji、
Google 搜尋與
連結清理說明。

安裝或升級

下載 Cue 0.6.0 · 檢查碼

允許 Cue 使用網路後,選擇檢查更新⋯ → 安裝與重新啟動;或先結束 Cue,
開啟 DMG,將 Cue.app 拖進應用程式取代舊版,再開啟安裝好的 App。
預設快速鍵為 Option+Space,設定、剪貼簿記錄與搜尋學習資料都會保留。
更新需要可寫入的安裝位置,不能直接在唯讀 DMG 中執行。自動下載及無人操作
安裝仍維持停用。

自行編譯需要內含 Swift 6 以上的完整 Xcode,先開啟完成授權與設定、結束 Cue,
再執行:

git clone https://github.com/hsiuhsiu/cue.git
cd cue
./scripts/install-app.sh
open "$HOME/Applications/Cue.app"

最佳化 App 會固定安裝至 ~/Applications/Cue.app。首次建置下載固定版本的
Sparkle;中文詞庫與 emoji 目錄已經內附。來源版更新時,先結束 Cue,執行
git pull --ff-only 與 ./scripts/install-app.sh。自行建置版預設關閉 Cue
自行連網與自動檢查更新,正式 DMG 預設開啟;明確儲存的選擇會保留。
兩種版本的瀏覽器搜尋皆有獨立、預設開啟的開關。若從 Cue 安裝提供的更新,
會將來源版換成發布版。詳見原始碼指引
及網路政策。

App 使用 ad hoc 簽章,沒有 Developer ID 簽署,也未經 Apple 公證。若 macOS
阻擋首次開啟,請依針對 Cue 的安裝說明
操作。簡繁文字取代仍需要為目前安裝的 Cue 開啟輔助使用權限;重新建置或更新
可能使舊授權失效。

通用版目標為 macOS 14+,包含 Apple silicon 與 Intel 執行檔。實際執行驗證
環境為 Apple silicon/macOS 27.0/Xcode 27;Intel、其他 macOS 版本,以及
另一台 Mac 從公開來源更新安裝,仍未驗證。系統指令檢查使用替代動作;本次
發布尚未實際驗證睡眠、鎖定、關閉顯示器及登出/重開機後啟動的完整循環。

Cue 0.5.0 — Offline control and Chinese conversion / 網路控制與簡繁互轉

Choose a tag to compare

@hsiuhsiu hsiuhsiu released this 28 Sep 05:50

English

Cue 0.5.0 adds control over network access, offline Chinese conversion for selected text, Screen Off, and clearer command icons.

  • Global network control: open Command+, → Network → Allow network access. Turning it off disables both automatic and manual update checks, blocks new downloads, requests cancellation of active updater work, and closes update-offer/download-progress windows. Automatic checking appears off and locked while networking is disabled; its previous preference is remembered for when you allow networking again. Search, Clipboard History, system commands, and Chinese conversion keep working. This is Cue's own network policy, not a firewall for other apps or macOS services; already-sent or buffered network data cannot be recalled, and an installation already underway cannot be undone by this switch.
  • Defaults for your installation: source builds start with networking off; the official DMG starts with it on. An explicit choice saved in Settings always wins, including after switching between distributions. Old automatic-update settings alone cannot enable networking in a source build. First-time source dependency downloads happen in the build tools, separately from the running app's permission.
  • Selected-text Chinese conversion: select text in an editable field, invoke Cue, enter st for Traditional Chinese with Taiwan vocabulary or ts for Simplified Chinese with mainland China vocabulary, then press Return. Cue replaces the selection in the original app; use that app's Command+Z to undo. Both directions use bundled OpenCC dictionaries and retain full functionality with networking off. Text is never sent to a conversion service. Search chinese settings to customize the aliases; Command-comma also opens these settings when a conversion command is selected.
  • Screen Off: search screen off, display off, or 關閉螢幕 to turn off the display while the Mac keeps running. Password requirements follow macOS Lock Screen settings; use the separate Lock Screen command when you want to lock the session.
  • Clearer commands and focus: white command tiles with blue outlines distinguish clipboard, conversion, indexing, sleep, lock, and screen-off actions. Icons are prepared in the background and cached. Invoking Cue now activates its input correctly while retaining the original app for text replacement.

Install or upgrade

Download Cue 0.5.0 · Checksums

Choose Check for Updates… → Install and Relaunch in Cue, or quit Cue, open the DMG, and drag Cue.app into Applications, replacing the old copy. Open the installed app; its default shortcut is Option+Space. Settings, clipboard history, and search learning are preserved. Updating requires a writable installed location, not the read-only DMG. You decide when to install; automatic downloads and unattended installation are disabled. Published builds normally check once a day when network access and automatic checks are both enabled.

To build your own offline-by-default copy, install full Xcode with Swift 6 or later, open it once, and complete its license and setup. Quit Cue, then run:

git clone https://github.com/hsiuhsiu/cue.git
cd cue
./scripts/install-app.sh
open "$HOME/Applications/Cue.app"

The first build downloads the pinned Sparkle dependency; ordinary builds use the Chinese dictionaries already in the repository. The optimized app is permanently installed at ~/Applications/Cue.app. For later source updates, quit Cue and run git pull --ff-only followed by ./scripts/install-app.sh. Existing explicit network choices are preserved. If you enable networking and install an offered update, it replaces your build with the published app. See the source guide and network policy.

The app is ad hoc-signed, without Developer ID signing or Apple notarization. Follow the app-specific first-launch instructions if macOS blocks it. Chinese text replacement requires Accessibility permission for the installed copy of Cue. Rebuilding or updating can invalidate an older grant; remove the old Cue entry and add the current app if the switch appears enabled but access fails. See the conversion guide.

Conversion requires an editor that exposes editable selected text to Accessibility. Password fields, read-only pages, unsupported editors, and selections over 256 KiB are rejected. Conversion follows dictionary rules rather than context, and pasted text may lose rich formatting. Cue restores the clipboard when it can safely confirm the replacement; other clipboard managers can observe the temporary data.

Validation covers optimized core and app-level checks, isolated network-policy/update transitions, packaging defaults, localization, and signed universal artifacts. TextEdit's st replacement and Undo/Redo were tested with a physical launcher shortcut during development; physical ts use and other editors remain unverified. System-action tests inject substitutes without sleeping, locking, or turning off the test Mac. Logout/reboot startup and a public update installation on a second Mac remain unverified. The app targets macOS 14+, with Apple silicon and Intel binaries; runtime verification uses Apple silicon / macOS 27.0 / Xcode 27.

正體中文

Cue 0.5.0 加入全域網路控制、針對選取文字的離線簡繁互轉、關閉螢幕,以及更清楚的指令圖示。

  • **全域網路控制:**開啟 Command+, → 網路 → 允許使用網路。關閉後,自動與手動檢查更新都會停用,阻止新下載、要求取消進行中的更新工作,並關閉更新提示與下載進度視窗。自動檢查會顯示為關閉且無法操作,但保留原本的選擇,重新允許網路後才可恢復。搜尋、剪貼簿記錄、系統指令與簡繁轉換仍可使用。這是 Cue 自己的網路政策,不是管理其他 App 或 macOS 服務的防火牆;已送出或進入網路緩衝區的資料無法收回,也無法藉此撤銷已開始的更新安裝。
  • 依安裝方式選擇預設值:自行編譯版預設關閉網路,正式 DMG 預設開啟。曾在設定明確選擇的值優先,即使換用另一種版本也會保留。舊版的自動更新設定不會自行開啟來源版的網路。首次建置下載相依套件由開發工具進行,與執行中 App 的網路許可分開。
  • **選取文字簡繁互轉:**在可編輯欄位選取文字、叫出 Cue,輸入 st 轉為正體中文與台灣用詞,或 ts 轉為簡體中文與中國大陸用詞,再按 Return。Cue 會在原 App 取代選取內容,可用原 App 的 Command+Z 復原。兩個方向都使用內附 OpenCC 詞庫,關閉網路仍保留完整功能,不會把文字送到轉換服務。搜尋 簡繁設定 可自訂別名;選到轉換指令時,Command+逗號也會開啟該功能的設定。
  • 關閉螢幕:搜尋 screen off、display off 或 關閉螢幕,讓螢幕休眠而 Mac 繼續運作。喚醒時的密碼要求依 macOS 鎖定畫面設定;若目的是鎖定工作階段,請使用獨立的「鎖定螢幕」指令。
  • **更清楚的指令與焦點:**白底藍色線條的圖示區分剪貼簿、轉換、索引、睡眠、鎖定與關閉螢幕。圖示在背景產生並快取。叫出 Cue 時會正確取得輸入焦點,同時保留原 App 資訊,供文字取代使用。

安裝或升級

下載 Cue 0.5.0 · 檢查碼

從 Cue 選擇檢查更新⋯ → 安裝與重新啟動;或先結束 Cue,開啟 DMG,將 Cue.app 拖進應用程式取代舊版本,再開啟已安裝的 App。預設快速鍵為 Option+Space。設定、剪貼簿記錄與搜尋學習資料會保留。更新需要已安裝且可寫入的位置,不能直接從唯讀 DMG 執行。安裝時間由你決定,自動下載及無人操作安裝均已停用。正式版在允許網路且開啟自動檢查時,通常每日檢查一次。

自行建置預設離線的版本,需要內含 Swift 6 以上的完整 Xcode,並先開啟完成授權與設定。先結束 Cue,再執行:

git clone https://github.com/hsiuhsiu/cue.git
cd cue
./scripts/install-app.sh
open "$HOME/Applications/Cue.app"

首次建置會下載固定版本的 Sparkle 相依套件;一般建置直接使用儲存庫內附的中文詞庫。最佳化 App 會固定安裝至 ~/Applications/Cue.app。日後更新來源版時,先結束 Cue,再執行 git pull --ff-only 與 ./scripts/install-app.sh。既有的明確網路選擇會保留。若允許網路並安裝 Cue 提供的更新,會換成已發布的 App。詳見原始碼指引與網路政策。

App 使用 ad hoc 簽章,沒有 Developer ID 簽署,也尚未經 Apple 公證。若 macOS 阻擋,請依針對 Cue 的首次開啟說明操作。跨 App 取代文字需要為目前安裝的 Cue 開啟輔助使用權限。重新建置或更新可能讓舊授權失效;若開關已開啟卻無法使用,請移除舊 Cue 項目,再加入目前的 App。詳見轉換指引。

轉換需要編輯器透過輔助使用提供可編輯的選取文字。密碼欄位、唯讀頁面、不支援的編輯器及超過 256 KiB 的選取內容不適用。轉換採字詞規則,不理解上下文;貼入文字可能失去富文字格式。Cue 在能安全確認取代結果時會還原剪貼簿,其他剪貼簿管理程式仍可能觀察到暫存內容。

驗證包含最佳化的核心與 App 層檢查、隔離的網路政策及更新切換測試、封裝預設值、翻譯與已簽署通用版產物。開發期間已用實體啟動快速鍵,在 TextEdit 驗證 st 取代及復原/重做;ts 實體操作與其他編輯器仍未驗證。系統指令測試使用替代動作,未實際讓測試 Mac 睡眠、鎖定或關閉螢幕。登入後啟動的登出/重開機循環,以及另一台 Mac 從公開來源更新安裝,仍未驗證。App 建置目標為 macOS 14+,內含 Apple silicon 與 Intel 執行檔;實際執行驗證環境為 Apple silicon/macOS 27.0/Xcode 27。

Cue 0.4.0 — Personalized search and launch at login / 個人化搜尋與登入時啟動

Choose a tag to compare

@hsiuhsiu hsiuhsiu released this 28 Sep 01:22

English

Cue 0.4.0 learns your launcher choices, adds optional launch at login, and simplifies building and installing your own copy.

  • Personalized search: within the same matching category, Cue prefers what you usually choose for that query, then overall frequency weighted toward recent use. Older usage loses half its weight every 14 days. Exact matches remain ahead of weaker matches; matching commands remain before apps. Only successful app launches and commands count—typing, selection, cancellation, failures, and searches inside Clipboard History do not.
  • Responsive input: search reads precomputed memory scores; loading, calculation, and saving run in the background. New learning takes effect on another query or invocation, keeping visible rows and numbered shortcuts stable. Sorting avoids repeatedly copying application data.
  • Launch at login: enable Command+, → Startup → Launch at login. New installations start off; existing macOS registration is reflected. If approval is needed, use Open Login Items… and allow Cue in System Settings. Disable it in Cue or macOS, and keep the same installed app location when updating.
  • Local learning: successful queries, app paths or command identifiers, scores, and timestamps stay in readable, unencrypted JSON on this Mac; nothing is uploaded. Limits are 512 results, 256 queries, and eight associations per query. Clipboard contents are excluded. Quit Cue and remove ~/Library/Application Support/com.yyhsiu.cue/Search/usage.json to reset learning without removing settings or clipboard history.

Optimized synthetic testing with 1,000 apps and full learning history measured core search p95 at 0.930 ms, versus 0.931 ms before learning. These component timings exclude input delivery, drawing, icons, and app launching. Both versions had occasional long wall-time samples, much of which was off the measured thread's CPU; this is not a guarantee of end-to-end latency. See the performance report.

Install or upgrade

Download Cue 0.4.0 · Checksums

Choose Check for Updates… → Install and Relaunch in Cue, or quit Cue, open the DMG, and drag Cue.app into Applications, replacing the old copy. Open the installed app; it lives in the menu bar, with Option+Space as its default shortcut. Settings, clipboard history, and learning are preserved. Automatic update checks are optional; you choose when to install and restart. Self-updating requires a writable installed location, not the read-only DMG.

To build your own copy, install full Xcode with Swift 6 or later, open it, and finish its license and setup, including after upgrades when requested. Command Line Tools alone are insufficient. The workflow was tested with Xcode 27; the first build needs internet access for the pinned Sparkle dependency. Quit any running Cue, then run:

git clone https://github.com/hsiuhsiu/cue.git
cd cue
./scripts/install-app.sh
open "$HOME/Applications/Cue.app"

This verifies and permanently installs an optimized Release app for your Mac at ~/Applications/Cue.app, preserving existing data, without a paid developer account, signing key, or administrator access. The installer refuses to replace a running Cue and verifies a staged copy first. For later source updates, quit Cue and run git pull --ff-only and ./scripts/install-app.sh. To stay on your own builds, disable automatic update checks; an update offered by Cue replaces your build with the published app and does not compile your repository. See the source installation guide.

The app is ad hoc-signed, without Developer ID signing or Apple notarization. Sparkle verifies signed update archives and feeds; this does not replace Apple's first-launch checks. If blocked, follow the app-specific steps in the installation guide.

Validation includes optimized automated core, persistence, launcher, keyboard, clipboard, settings, login-item, localization, and system-command checks, plus manual launcher use. Tests use synthetic data and injected system actions; the Mac was not actually put to sleep or locked. Login registration/status were checked, but an actual logout/reboot startup cycle and a public update installation on a second Mac remain unverified. Lock Screen uses a private macOS service that may require future changes. The universal app targets macOS 14+ on Apple silicon and Intel; this release was built with Xcode 27 and runtime-tested only on Apple silicon / macOS 27.0.

正體中文

Cue 0.4.0 會學習你在啟動器中的選擇,加入可選擇的登入時啟動,並簡化自行建置與安裝的流程。

  • **個人化搜尋:**同一符合程度內,先考慮該關鍵字通常選擇的項目,再參考帶有近期加權的整體使用頻率。舊記錄的權重每 14 天減半。完全符合仍優先於較弱的符合結果,符合的指令仍排列在 App 前方。只有成功開啟 App 或執行指令才算;打字、移動選取、取消、失敗及剪貼簿頁面的搜尋都不記錄。
  • **維持即時操作:**搜尋讀取記憶體中預先計算的分數,載入、計算與儲存都在背景執行。新的學習結果等下一次查詢或叫出 Cue 才採用,避免正在選擇時列表與編號快速鍵跳動。排序也減少反覆複製 App 資料的成本。
  • 登入時啟動:在 Command+, → 啟動 → 登入時啟動 開啟。新安裝預設關閉,並反映 macOS 既有的註冊狀態。需要授權時,按開啟登入項目⋯,再到系統設定允許 Cue。可從 Cue 或 macOS 關閉,更新時請維持相同安裝位置。
  • **本機學習資料:**成功操作的關鍵字、App 路徑或指令識別碼、分數與時間,以可讀、未另外加密的 JSON 保存在這台 Mac,不會上傳。上限為 512 個結果、256 個關鍵字,每個關鍵字八個結果關聯,不包含剪貼簿內容。若要重設,先結束 Cue,再刪除 ~/Library/Application Support/com.yyhsiu.cue/Search/usage.json,不影響設定或剪貼簿記錄。

以最佳化版本、1,000 個合成 App 與滿容量學習記錄測試,核心搜尋 p95 為 0.930 ms,加入學習前為 0.931 ms。這些元件耗時不包含按鍵傳遞、繪圖、圖示與 App 啟動。兩個版本都曾出現偶發的較長經過時間,其中許多時間並非該執行緒正在使用 CPU;這不代表端到端延遲保證。詳見效能報告。

安裝或升級

下載 Cue 0.4.0 · 檢查碼

從 Cue 選擇檢查更新⋯ → 安裝與重新啟動;或先結束 Cue,開啟 DMG,將 Cue.app 拖進應用程式取代舊版本,再開啟已安裝的 App。Cue 位於選單列,預設快速鍵為 Option+Space。設定、剪貼簿記錄與學習資料會保留。自動檢查可以關閉,安裝與重啟由你決定。自我更新需要已安裝且可寫入的位置,不能直接從唯讀 DMG 執行。

自行建置需要內含 Swift 6 以上的完整 Xcode;請先開啟並完成授權與設定,升級後若再次要求也需完成。只有 Command Line Tools 無法建置。此流程已在 Xcode 27 測試,首次建置需要網路下載固定版本的 Sparkle 相依套件。先結束正在執行的 Cue,再執行:

git clone https://github.com/hsiuhsiu/cue.git
cd cue
./scripts/install-app.sh
open "$HOME/Applications/Cue.app"

此流程會驗證並將適合這台 Mac 的最佳化 Release 版本固定安裝至 ~/Applications/Cue.app,保留既有資料,不需要付費開發者帳號、簽章金鑰或管理者權限。安裝程式不會取代仍在執行的 Cue,也會先驗證暫存的新 App。日後更新原始碼時,先結束 Cue,再執行 git pull --ff-only 與 ./scripts/install-app.sh。若只想使用自己的版本,請關閉自動檢查更新;從 Cue 安裝更新會換成已發布的 App,不會替儲存庫編譯。詳見原始碼安裝指引。

App 使用 ad hoc 簽章,沒有 Developer ID 簽署,也尚未經 Apple 公證。Sparkle 會驗證更新檔與更新資訊的簽章,但不會取代 Apple 的首次開啟檢查。若遭阻擋,請依安裝說明完成針對 Cue 的授權步驟。

驗證包含最佳化的核心、儲存、啟動器、鍵盤、剪貼簿、設定、登入項目、翻譯與系統指令自動檢查,並進行實際啟動器操作。測試使用合成資料與替代系統動作,未實際讓 Mac 睡眠或鎖定。登入註冊與狀態已檢查,但尚未實際登出或重開機驗證自動啟動,也尚未在另一台 Mac 驗證從公開來源更新安裝。鎖定螢幕使用 macOS 私有服務,未來可能需要調整。通用版支援 Apple silicon 與 Intel,最低建置目標為 macOS 14;此版本使用 Xcode 27 建置,目前只在 Apple silicon/macOS 27.0 實際執行測試。