AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Every dev server running on your Mac, in your menu bar.
Which ports are listening, which project each one belongs to, which branch it is on,
which of them you forgot about three days ago, and one click to stop any of them.
Free, open source, no account, no telemetry.
Quaydeck watches the listening TCP ports on your Mac and works out what is behind each
one.檢視完整 README ↗Every dev server running on your Mac, in your menu bar.
Which ports are listening, which project each one belongs to, which branch it is on, which of them you forgot about three days ago, and one click to stop any of them.
Free, open source, no account, no telemetry.
Quaydeck watches the listening TCP ports on your Mac and works out what is behind each one.
tsc --watch pegging a core with no server attached.~/Library/Application Support, is not an alarm.com.docker.backend. One row per container,
named after its compose project, with its published ports and health. Stopping one
stops that container, never Docker itself.Everything it knows, it reads from your own Mac: the kernel's socket and process tables
(the same data lsof and ps show, read directly instead of by starting them), and
docker ps when Docker is running. A scan costs about 15 ms of CPU, every 20 seconds
while the menu is closed, and stops while your screens sleep.
Download the latest DMG from Releases, or build it yourself:
git clone https://github.com/quaydeck/quaydeck
cd quaydeck
./Scripts/build-app.sh --install
Requires macOS 13 or later. Universal, Apple Silicon and Intel.
Quaydeck makes no network requests except HTTP GETs to localhost ports on your own
machine, to read the page title and status code of your own servers. There is no
account, no analytics, no crash reporting, no phone-home of any kind. Everything it
remembers lives in UserDefaults on your Mac.
Full detail in PRIVACY.md.
Quaydeck reads the system process table and signals processes it did not start. The App Sandbox forbids both, and the App Store requires the sandbox. So it is distributed directly, signed with a Developer ID and notarised by Apple.
Everything in this repository is free, permanently, under the MIT licence. If a paid tier ever arrives it will be for capabilities that do not exist here yet, and it will never remove something that was free.
Sources/
QuaydeckCore/ scanning, classification, advice. No AppKit, no SwiftUI.
QuaydeckUI/ the menu, settings, first run. Everything that touches AppKit.
Quaydeck/ app entry, Sparkle, composition root.
Tests/
QuaydeckCoreTests/
Fixtures/ recorded lsof and ps output
The important seam is CommandRunner. On a real Mac, sockets and processes come straight
from the kernel (KernelSource); give the inventory a recorded runner instead and the same
pipeline reads lsof and ps output, so it can be driven entirely from recordings:
let inventory = PortInventory(
runner: FixtureRunner([("lsof", "-iTCP", recordedOutput), ...]),
fileSystem: StubFileSystem(directories: [...], files: [...]),
home: "/Users/dev"
)
let snapshot = inventory.snapshot()
This is why a bug report is cheap to fix. See below.
The classifier is the part most likely to be wrong on a machine that is not the author's. If Quaydeck labels something incorrectly, paste the output of:
lsof -nP -iTCP -sTCP:LISTEN -FpcPn
ps -ww -o pid=,ppid=,etime=,pcpu=,rss=,args= -p <the pid>
into an issue. That output becomes a fixture and a failing test, and the fix is verified rather than guessed.
swift build # build
swift test # 63 tests, no system dependency, runs in under a second
./Scripts/build-app.sh --install
MIT. See LICENSE.
Quaydeck grew out of Poort, a private tool that only worked on one person's Mac.