尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證An open-source background agents coding system
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗An open-source background agents coding system inspired by Ramp's Inspect.
Open-Inspect provides a hosted background coding agent that can:
Important: This system is designed for single-tenant deployment only, where all users are trusted members of the same organization. Teams add internal access controls, not tenant isolation.
Teams own sessions, environments, and automations. A session's Workspace, Team, or Private
visibility is separate from its fixed ownership; resources cannot move between teams or to/from the
workspace. Team-owned session actions require current owning-team membership, even for workspace
Owners and Administrators. With enforcement on, deletion additionally requires sessions.delete and
being the session owner, an owning-team lead, or a workspace administrator; team-owned and private
sessions apply their action checks in every mode.
Private sessions are readable by their owner and explicit collaborators. Workspace Owners have an
audited break-glass read path, not automatic collaboration or sandbox access. Team visibility's read
boundary requires TEAMS_ENFORCEMENT=on; the deployment default remains shadow.
For a single-team deployment, create one team, add the users who need to act on its sessions, and grant its repositories. Existing workspace-owned rows are not moved or hidden. Even with every user in one team, being a Member does not let someone delete another member's session under enforcement unless they satisfy the ownership/lead rule. Follow the first-team setup before inviting users.
The shared GitHub App installation bounds workspace repository reach. Sandbox git credentials are limited to the session's persisted repositories and, for team-owned sessions, current owning-team grants. Workspace permissions and resource access still apply; Open-Inspect does not compare a user's personal GitHub repository permissions before creating a session. GitLab credentials remain a deployment-wide PAT rather than a per-session token.
Credentials are brokered on demand but cached on disk, so snapshots can retain them. Grant removal does not immediately revoke issued tokens. See the canonical Authentication and Authorization guide for access rules and credential boundaries, including user versus App identity and snapshot limitations.
This architecture follows Ramp's Inspect design, which was built for internal use where all employees are trusted and have access to company repositories.
For multi-tenant deployment, you would need:
ALLOWED_GITHUB_ORGS)See Authentication and Authorization for workspace roles, session access, automation ownership, bots, and member suspension.
┌──────────────────┐
│ Clients │
│ ┌──────────────┐ │
│ │ Web / Slack │ │
│ │ GitHub / Lin.│ │
│ │ Webhooks │ │
│ └──────────────┘ │
└────────┬─────────┘
│
▼
┌────────────────────────────────────────────────────────────────────┐
│ Control Plane (Cloudflare) │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ Durable Objects (per session) │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌───────────────┐ │ │
│ │ │ SQLite │ │WebSocket│ │ Event │ │ GitHub │ │ │
│ │ │ DB │ │ Hub │ │ Stream │ │ Integration │ │ │
│ │ └─────────┘ └─────────┘ └─────────┘ └───────────────┘ │ │
│ └──────────────────────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ D1 Database (repo-scoped secrets) │ │
│ └──────────────────────────────────────────────────────────────┘ │
└────────────────────────────────┬───────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────┐
│ Data Plane (Sandbox Backend) │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ Session Sandbox │ │
│ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ │ │
│ │ │ Supervisor│──│ Harness │──│ Bridge │─────────────────┼──┼──▶ Control Plane
│ │ └───────────┘ │ (OpenCode │ └───────────┘ │ │
│ │ │ or Claude)│ │ │
│ │ └───────────┘ │ │
│ │ │ │ │
│ │ Full Dev Environment │ │
│ │ (Node.js, Python, git, agent-browser) │ │
│ └──────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────┘
| Package | Description |
|---|---|
| control-plane | Cloudflare Workers + Durable Objects |
| web | Next.js web client |
| sandbox-runtime | Shared in-sandbox agent runtime |
| modal-infra | Modal sandbox infrastructure |
| daytona-infra | Daytona snapshot infrastructure |
| e2b-infra | E2B sandbox template infrastructure |
| boat-infra | Boat sandbox snapshot infrastructure |
| slack-bot | Slack integration (sessions from messages) |
| github-bot | GitHub integration (auto-review, @mention) |
| linear-bot | Linear integration (issue → coding session) |
| shared |
For a practical setup guide (local + contributor + deployment paths), start with docs/SETUP_GUIDE.md.
See docs/GETTING_STARTED.md for deployment instructions.
To understand the architecture and core concepts, read docs/HOW_IT_WORKS.md.
To set up recurring scheduled tasks, see docs/AUTOMATIONS.md.
To create and use reusable agent instructions, see docs/MANAGED_SKILLS.md.
Sessions start near-instantly through multiple layers of warming:
One session can work across several repositories in a single sandbox:
Create reusable instructions and supporting files that agents receive when a session starts:
Multiple users can collaborate in the same session:
Commits are attributed to the user who sent the prompt:
// Configure git identity per prompt
await configureGitIdentity({
name: author.scmName,
email: author.scmEmail,
});
Choose the AI model that fits your task, with per-session reasoning effort controls:
Anthropic and OpenAI models are enabled by default. xAI / SuperGrok, OpenCode Zen and Go, Z.AI Coding Plan, and DeepSeek models are opt-in. See Available Models for current model IDs, descriptions, and reasoning efforts.
OpenAI models work with your existing ChatGPT subscription via OAuth — no separate API key needed. Anthropic models can run on the Claude Agent harness with a connected Claude subscription; see Using the Claude Agent Harness. Grok models work with an eligible SuperGrok subscription through control-plane-managed OAuth. See docs/OPENAI_MODELS.md or docs/GROK_MODELS.md for subscription setup instructions.
Interact with agents from wherever your team already works:
Schedule recurring tasks or react to external events — no human in the loop:
See docs/AUTOMATIONS.md for setup instructions.
Every session runs in an isolated sandbox backend with a full development environment:
/workspace/.tunnels.env before .openinspect/start.sh runs
(details).env paste importAgents can decompose work into parallel child sessions:
spawn-child creates a child session in its own sandbox and returns immediatelysend-child-prompt queues follow-up instructions in an existing direct child sessionget-child-status and cancel-child coordinate child sessionsRepositories can define two optional startup scripts under .openinspect/:
# .openinspect/setup.sh (provisioning)
#!/bin/bash
npm install
pip install -r requirements.txt
# .openinspect/start.sh (runtime startup)
#!/bin/bash
docker compose up -d postgres redis
setup.sh runs for image builds and fresh sessionssetup.sh is skipped for prebuilt-image and snapshot-restore startssetup.sh failures are non-fatal for fresh sessions, but fatal in image build modestart.sh runs for every non-build session startup (fresh, prebuilt-image, snapshot-restore)start.sh failures are strict: if present and it fails, session startup failsSANDBOX_BOOT_TIMEOUT_MS, 30 minutes by default, measured across the whole session boot), to
enclosing sandbox shutdown and image-build limits, and can apply their own command-specific
deadlines when needed.OPENINSPECT_BOOT_MODE (build, fresh, repo_image, snapshot_restore)MIT
Inspired by Ramp's Inspect and built with:
| Shared types and utilities |