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.