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.