Policy-gated ACP client for the Devin CLI: isolated sessions with allow/deny/ask rules
devin-control
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
> **Part of the DEVIN ecosystem**
> Track: Control · Nature: product
> For: Security engineers, AI engineers, DevOps engineers
> Interface: CLI / Bridge
> Path: AI engineers · step 1/3 — before devin-orchestrator
> Path: DevOps engineers · step 2/3 (as devin-bridge) — after devin-state, before devin-switch
Where this fits
- **Job:** Control
- **Product:** devin-control
- **Packages:** bridge · office · orchestrator · switch
- **Mode:** mixed
- **Ecosystem:** awesome-devin · registry: devin-powerups
Control how Devin runs: a policy-gated ACP bridge, a background-worker
fan-out planner, config profile switching, and a live activity board —
the write/control side of the ecosystem.
| Package | Registry | What it does |
|---|---|---|
| packages/bridge | | Cross-platform policy-gated ACP bridge for Devin CLI — isolated sessions per project with fail-closed permission rules |
| packages/orchestrator | | Background-worker fan-out policy: deterministic planner enforcing worker caps, no nesting, collect-before-report |
| packages/switch | devin-switch (PyPI, pending publish) | Switch between Devin configuration profiles (hooks, MCP, models) with snapshot and verification |
| packages/office | source-only | Live Devin activity as an animated SVG circuit board: sessions, subagents, tools |
> **Renamed (Oct 2026):** this repository moved from Icaro0310/devin-bridge to Icaro0310/devin-control when it became the devin-control product workspace. The npm package @icaro0310/devin-bridge, the PyPI packages and all console scripts keep their names; stars, issues and history are preserved by the redirect.
Layout
Each package ships independently: a tag orchestrator-vX.Y.Z or
switch-vX.Y.Z publishes only that PyPI package; a bridge-vX.Y.Z tag
creates a GitHub Release that publishes @icaro0310/devin-bridge to
npmjs and GitHub Packages. CI is scoped per path — a change under
packages/switch/ runs only the switch suite.
The standalone devin-orchestrator, devin-switch and devin-office
repositories were absorbed into this workspace (F4.4); their histories
are preserved under packages/ and the old repos are archived with
pointers here.
Pre-commit gate
.pre-commit-hooks.yaml ships devin-switch-gate, a language: system
hook that runs devin-switch doctor — strictly read-only, exits 1 on
any FAIL — to block commits when the managed Devin config is broken: