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,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Share Codex tasks and local previews with collaborators.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Shuttle connects product managers, designers, and engineers through the Codex conversations behind their work. Attach a shared conversation link to a PRD so teammates' agents can read the decisions behind the requirements, send changes to each other's shared tasks, and review local work through an authorized preview. Everyone keeps working in their own local Codex workspace.
Requires an Apple Silicon Mac running macOS 15 or later.檢視完整 README ↗Shuttle connects product managers, designers, and engineers through the Codex conversations behind their work. Attach a shared conversation link to a PRD so teammates' agents can read the decisions behind the requirements, send changes to each other's shared tasks, and review local work through an authorized preview. Everyone keeps working in their own local Codex workspace.
Download for macOS · Documentation · Open Shuttle
Requires an Apple Silicon Mac running macOS 15 or later.
[!IMPORTANT] Shuttle is an early release for macOS. Its Codex Desktop integration is version-sensitive, so keep Shuttle and Codex Desktop up to date and review the privacy boundaries before using it with sensitive work.
A PRD and prototype describe what to build. The conversation that produced them also explains why: constraints, alternatives, edge cases, and decisions. When each teammate starts their own agent workflow with only the documents, that context has to be reconstructed. Later changes mean another round of messages and handoffs.
Shuttle keeps that context available across roles:
The PRD contains a link to an authorized conversation, not an embedded copy of it. Access covers the whole shared task, so choose a task whose history is appropriate for those collaborators. Each destination task must be shared back with message permission to receive changes. The relevant owner's Companion must be online for reads, messages, and previews.
https://shuttle.makesth.fun and self-hosted Relay deployments.The owner's Companion must be online for task reads, message submission, and local previews. Shuttle does not maintain an offline task cache or message queue. A successful send means Codex's local queue accepted the message, not that it has been processed. Codex Desktop must load the task to process queued messages; a busy task finishes its current turn first, and interrupted tasks may need the owner's intervention.
Owner's Codex task
│
▼
Shuttle macOS app + local Companion
│ authenticated live connection
▼
Shuttle Relay ───────────────► Web app
│
▼
Collaborator's Shuttle Plugin in Codex
The macOS app manages Relay sign-in, authorization prompts, the local Companion, Plugin setup, and Sparkle updates. The Relay authenticates users and devices, enforces task permissions, and routes live requests. The Codex Plugin exposes the collaboration tools and safety guidance inside each participant's own task.
Read the product guide for the sharing model and the architecture for component and data boundaries.
Shuttle.app to Applications, and open it.If automatic Plugin setup cannot find the Codex CLI, install it manually:
codex plugin marketplace add yeliex/shuttle --ref master
codex plugin add shuttle@shuttle
Keep Shuttle running and signed in while using its tools. The Plugin connects to the Companion over local HTTP; it does not launch the app. If tools are unavailable, open Shuttle and check Set Up Shuttle… before retrying. App updates restart the Companion at the same local address and do not normally require restarting Codex. Installing or changing the Plugin configuration may require a new task.
Ask Codex to share the current task through Shuttle, then choose the collaborator, permission, expiration, and optional local previews in the native authorization window.
Share one link with anyone or restrict it to multiple email addresses. Email recipients get access without an acceptance step after verified sign-in. Link sharing can optionally be single-use. Access lasts 1, 7, or 30 days, or indefinitely; expiry blocks existing recipients from the task and its previews.
You can also invoke the Share Thread Skill directly with /share-thread.
Collaborators receive a prompt containing a precise resource link such as shuttle://shared/<id>. The Share Thread Skill uses that link to read the task or send a message without searching for unrelated tasks.
Shuttle is currently distributed without Apple notarization. On first launch, macOS may require you to open System Settings → Privacy & Security and choose Open Anyway. Only do this for a build downloaded from this repository's Releases page.
Subsequent in-app updates are verified with Sparkle Ed25519 signatures. Shuttle checks for updates automatically and displays the release notes before installation.
Cloudflare Workers with D1, Durable Objects, and Static Assets is the primary deployment target. A single-instance Docker image with SQLite is published to ghcr.io/yeliex/shuttle-relay for private deployments.
The public deployment guide covers both runtimes and all supported environment variables. Start from apps/relay/.env.example; keep credentials in the deployment environment rather than committing them.
Requirements:
Install dependencies and run the local services:
pnpm install
pnpm start
Common checks:
pnpm lint
pnpm test:type
pnpm build
Build the native client separately:
cd apps/client
swift build
To preview the native sharing dialog without signing in or creating an invitation:
pnpm build:macos --authorization-preview
Open artifacts/authorization-preview/Shuttle Preview.app. This separate app uses example data and does not start the Companion, read account credentials, or check for updates. The title area and empty background can be dragged like the setup window.
Both sharing actions show an in-place submitting state, then a simulated completion screen. Copying uses a nonfunctional example link; no real share or invitation email is created. Close the window with the top-right close icon.
apps/client: native Swift menu bar app.apps/companion: local Node Companion and Codex host adapter.apps/relay: Hono Relay for Cloudflare Workers and Node.apps/web: authenticated account, invitation, task, device, and administration UI.apps/site: statically generated website and documentation.packages/contracts: shared protocol schemas.packages/ui: shared frontend components and styles.plugins/shuttle: packaged Codex Plugin, HTTP MCP configuration, and collaboration Skill.Shuttle is designed to fail closed:
See the privacy notice for stored data and operator responsibilities.