跳到正文
GitHub·· 9 天前AI 评分38

AI Config Selector(acs):为 AI 编程 CLI 提供可复用沙箱能力 Profile

alcimerio/ai-config-selector

AI 导读

AI Config Selector(acs)是一个 Go CLI,可在 macOS 原生 Seatbelt 沙箱内运行 Devin、Codex、shell 或任意命令,把本地 Skills、指令文件、文件系统权限、环境引用和本地 MCP 服务器保存为可复用 Profile。

正文

Reusable, sandboxed capability Profiles for AI coding CLIs on macOS.

Latest release CI macOS validation Platform: macOS 26 on Apple Silicon MIT License

AI Config Selector (acs) is a Go CLI that runs Devin, Codex, a shell, or any command inside the native macOS Seatbelt sandbox. Run directly, a coding agent can usually reach your whole home directory, every installed Skill and any credentials it finds. ACS makes that access explicit and repeatable: save the local Skills, instruction files, filesystem permissions, environment references and local MCP servers a tool may use in a reusable Profile, then launch it from any project.

Get started · Documentation · Security boundaries · Contribute

Important

ACS supports macOS 26 on Apple Silicon (darwin/arm64). Linux and Intel Macs are not supported runtimes. Devin and Codex are installed separately; you can try the sandbox without an AI account.

Why ACS?

  • Explicit access. New v3 Profiles default to a read-only workspace; write access and extra paths are opt-in. See Profiles.
  • One Profile, many targets. The same selections drive Devin, Codex, a sandbox shell or a literal command, from any project directory.
  • Inspect before you launch. acs explain reports requested and effective authority, and --dry-run plans a launch without starting a Session. See Diagnostics.
  • Local Skills and MCP servers. Select Skill bundles and local STDIO MCP servers per Profile.
  • History and sharing. Compare and restore Profile revisions and export sanitized selections without host paths or credentials.
  • Fail closed. A launch runs inside the sandbox or not at all, and retained Sessions are recovered only after cleanup is proven.

How it works

Profile ──► immutable authority plan ──► private Session ──► Seatbelt sandbox ──► target
(saved      (resolved before any         (synthetic home,      (macOS native,       devin | codex |
selections)  Session exists)              selected material)    no fallback)         /bin/zsh -f | your command
Term Meaning
Profile Saved capability selections under ~/.acs/profiles: Skills, instructions, workspace and path access, executables, environment references, MCP servers and optional per-target overlays. It stores references, not copies of files or secret values.
Skill A local bundle with a SKILL.md entry file, discovered under ~/.agents/skills and ~/.config/devin/skills. ACS does not install or download Skills.
Session The private, temporary home and state for one launch. ACS removes it only after proving the contained process tree has settled.
Target What runs inside the sandbox: Devin, Codex, the sandbox shell (/bin/zsh -f), or a literal command passed to acs run.

The architecture and security model describe each step in detail.

Install

Install the latest stable release:

curl -fsSL https://github.com/alcimerio/ai-config-selector/releases/latest/download/install.sh | sh

The installer checks your OS and architecture, verifies the archive checksum, and installs in ~/.local/bin. It refuses to overwrite an existing acs, needs no sudo, and does not edit shell startup files. Add the installed directory to this terminal's search path and verify which binary will run:

export PATH="$HOME/.local/bin:$PATH"
command -v acs
acs version

Inspect the installer or choose a specific release

Choose a release and copy its tag and installer SHA-256 from the release asset metadata. Use tag_name and the hexadecimal part of the install.sh asset's digest, without the sha256: prefix. Replace the two input values below with those from the same reviewed release. Use a scratch directory without install.sh. Verify the downloaded installer, inspect it (q exits less), then run it locally:

set -eu
release_version='vMAJOR.MINOR.PATCH'
installer_sha256='REVIEWED_INSTALLER_SHA256'
release_url="https://github.com/alcimerio/ai-config-selector/releases/download/$release_version"
curl --fail --location --proto '=https' --tlsv1.2 \
  --output install.sh "$release_url/install.sh"
printf '%s  %s\n' \
  "$installer_sha256" install.sh \
  | shasum -a 256 -c -
less install.sh
sh ./install.sh
"$HOME/.local/bin/acs" version

Verify release provenance

Release archives and SHA256SUMS carry GitHub build attestations. With the GitHub CLI, from a directory holding the downloaded release assets:

gh attestation verify acs_MAJOR.MINOR.PATCH_darwin_arm64.tar.gz --repo alcimerio/ai-config-selector
shasum -a 256 -c SHA256SUMS

Warning

Release archives are unsigned and unnotarized. SHA-256 checks byte identity against a trusted digest; GitHub attestations provide separate origin evidence. Neither is Apple approval or a malware review. Do not disable Gatekeeper, remove quarantine, or weaken sandbox settings to make ACS run. See installation and recovery.

Upgrading

Already have ACS? Follow the upgrade and recovery guide to retain your working binary and verify the replacement before switching. Use the manual path when your binary has no updater.

acs update --check and acs update support direct installer layouts. Read the upgrade guide before replacing a binary: rollback does not downgrade stored data.

Build from source

With the Go toolchain in go.mod on a supported Mac:

git clone https://github.com/alcimerio/ai-config-selector.git
cd ai-config-selector
go build -o ./bin/acs ./cmd/acs
./bin/acs version
export PATH="$PWD/bin:$PATH"

A source build reports acs devel and cannot self-update. See Contributing for checks and release-evidence requirements.

Quickstart

No AI account is needed. Run these from the project you want to inspect:

acs doctor --target sandbox                 # 1. check host prerequisites
acs profile create --name first-review      # 2. save a read-only Profile
acs explain sandbox --profile first-review  # 3. see what the sandbox will allow
acs sandbox --profile first-review          # 4. open a shell inside the sandbox

In the builder (step 2), keep the Review preset, continue without target overlays, and choose Create Profile for a minimal read-only run. Confirm the empty selection. The builder requires no client or account.

The shell runs /bin/zsh -f without user startup files. Your workspace is the current directory and $HOME is a synthetic Session home. Type exit to return.

To use an AI target, install and authenticate it separately and select its target overlay in the Profile builder. Then launch it with the Profile:

acs devin --profile NAME
acs codex --profile NAME

Follow Get started to add a Skill and continue with Devin, interactive Codex for its ACS-owned named login, and target conformance for integration differences.

Common commands

Task Command
List or inspect Profiles acs profile list, acs profile show NAME --json
Change a Profile acs profile edit NAME
Explain effective access acs explain sandbox --profile NAME
Plan a launch without a Session acs sandbox --profile NAME --dry-run
Run a literal command acs run --profile NAME -- COMMAND [ARG...]
Inspect or recover Sessions acs session list, acs session inspect ID, acs session recover ID
Check for updates acs version, acs update --check

Use acs help for your binary's command grammar and the CLI reference for every command.

Security boundaries

There is no unsandboxed fallback. New v3 Profiles default to read-only workspace access; the private Session is writable. ACS removes it only after proving process-tree cleanup, preserving uncertain state for recovery.

Caution

ACS is not an egress firewall: targets can transmit data they can read. Selected secrets are shared with the attached process tree, including MCP servers.

Choose trusted Skills, instructions and programs. Read the security model before granting access.

Compatibility

Platform Status
macOS 26 on Apple Silicon (darwin/arm64) Supported
Intel Macs Not supported. Historical v0.4.0 Intel assets do not extend current support.
Linux Not supported. v0.3.3 was the final Linux-supported release.

Supported Codex versions are listed in target compatibility.

Project status

ACS is pre-1.0. Documentation follows this checkout and main can describe changes that have not shipped; use your release tag for installed behavior and GitHub Releases for published notes and downloads.

Help and support

Start with troubleshooting, then open an issue with a sanitized reproduction, ACS/macOS versions and architecture. Keep credentials, target output, Session contents and private bindings out of reports.

Contributing

Contributing covers setup and PR checks; the documentation index lists user, reference and maintainer pages.

License

ACS is available under the MIT License.

来源:GitHub · github.com