尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
Go library + CLI for invoking agent harnesses in headless mode.
翻译准备中
正在加载完整 README。
查看完整 README ↗Go library + CLI for invoking agent harnesses (Antigravity CLI, Claude Code, Codex CLI, GitHub Copilot CLI) in headless mode.
Every headless-agent experiment rediscovers the same lore: which binary,
which permission-bypass flag, that agy ignores your working directory
without --add-dir and swallows everything after -p, that Codex wants a
bare positional prompt under an exec subcommand. agentsummons owns that
knowledge once, behind one Go API and one CLI, so your scripts and
experiments don't have to.
It is the companion to agentminutes, which parses the session transcripts harnesses write: agentsummons convenes the meeting, agentminutes takes the minutes.
brew install agent-ecosystem/tap/agentsummons
# or
go install github.com/agent-ecosystem/agentsummons/cmd/agentsummons@latest
Also on npm and PyPI for Node and Python projects, with prebuilt static binaries on the releases page. See Installation for all options.
# Invoke a harness. Default is a transparent wrapper: harness
# stdout/stderr pass through and the harness exit code propagates.
agentsummons run --harness claude-code -p "Summarize this repo" \
--allowed-tools Read,Grep,Glob --auto-approve
# --json swaps to a single result envelope on stdout, the shape
# scripts and containers consume.
agentsummons run --harness codex -p "hi" --json
# Compare installed harness versions against the validated flag
# surface before an experiment burns tokens. Free; only version
# commands run.
agentsummons doctor
As a Go library:
res, err := agentsummons.Run(ctx, agentsummons.Request{
Harness: agentsummons.ClaudeCode,
Prompt: "Summarize this repo",
Workdir: dir,
AutoApprove: true,
})
One request shape, translated per harness:
| Harness | Binary | Model | Session ID | Resume | Allowed tools | JSON output | Auto-approve |
|---|---|---|---|---|---|---|---|
| antigravity | agy | --model "<display name>" | (none) | --conversation <id> | (none) | --output-format json (envelope) | --dangerously-skip-permissions |
| claude-code | claude | --model <id> | --session-id <uuid> | --resume <session-id> | --allowedTools a,b | --output-format json (envelope) | --dangerously-skip-permissions |
| codex | codex | -m <id> | (none) | exec resume <session-id> | (none) | --json (JSONL events) | --dangerously-bypass-approvals-and-sandbox |
| copilot | copilot | --model <id> | --session-id <uuid> | --resume=<session-id> | --available-tools=a,b | --output-format json (JSONL events) | --allow-all |
agentsummons info has the full manifests, including per-harness quirk
notes. Setting a field a harness can't express is a loud
*UnsupportedError, never a silent drop, and agentsummons never applies
policy by default: permission bypass is always the caller's explicit
choice.
Full documentation is available at agentsummons.dev:
MIT.