需先安装 Antigravity CLI 并用 agy --version 验证,同时需要 Node.js;staffer、researcher、reviewer、implementer 默认无限制运行,agy 可检查仓库、执行命令和改文件;OpenCode 会缓存完整包规格,升级需指定新 tag 或 commit 并加 --force 后重启
agy-staff
keli-wenMIT活跃维护把 Google Antigravity CLI 包装成 Claude Code 和 OpenAI Codex 的插件,让它们能调用 Gemini 作为快速子代理,用于代码审查和基准评测。
Hire Google's Antigravity CLI (agy) as a fast Gemini staffer for Claude Code, OpenAI Codex, and DeepSeek Harness.
curl -fsSL https://antigravity.google/cli/install.sh | bash
claude plugin marketplace add keli-wen/agy-staff
claude plugin install agy@agy-staffREADME 未说明
把 Google Antigravity CLI 接入 Claude Code 和 Codex,让 Gemini 帮你分担调研、评审和实现
把 Google Antigravity CLI 包装成 Claude Code 和 OpenAI Codex 的插件,让它们能调用 Gemini 作为快速子代理,用于代码审查和基准评测。
核心能力
- 提供 lead 和 brain 两种编排模式
- 内置 staffer、researcher、reviewer、implementer、ask 五种角色
- Claude Code 用 /agy: 调用,Codex 用 $agy 调用
- 附带 jobs 技能管理后台任务
- Bench v1 在三个基准上对比单独运行、自带子代理和接入 agy 三种方式
容易踩的坑
- v0.9.1v0.9.1 — Gemini 4 Carbon in!最新正式版2026-11-10 · 2026-11-10 18:33 UTC
agy-staff 0.9.1 — Gemini 4 Carbon in!

Highlights
agy-staff0.9.1 brings Gemini 4 Carbon (gemini-4-carbon-{low,medium,high}) into the companion model catalog and promotes it to the default external reasoning lead forbrain(#57 / #58), paired with Gemini 4 Carbon / Argon second-brain workflows, first-class--modeland--effortselection across skills and DeepSeek Harness, quick[Carbon]/[Argon]model chips in the visual sidebar, and bespoke pixel-art icons and badges for Carbon and Argon.1. Gemini 4 Carbon & expanded model catalog (
companion/agy-companion.mjs)- Expanded model catalog & family aliases: Added
gemini-4-carbon-{low,medium,high},gemini-4-argon-{low,medium,high},claude-opus-5-5-{low,medium,high}, andclaude-sonnet-5-5-{low,medium,high}toKNOWN_MODELSandMODEL_FAMILIES, plus short family aliasescarbon(gemini-4-carbon) andargon(gemini-4-argon) alongsideflash(gemini-3.8-flash) andpro(gemini-3.1-pro). - Gemini 4 Carbon / Argon second brain:
staffer --brainnow defaults togemini-4-carbon-mediumwhile keepinggemini-4-argon-*a first-class peer option (--model argon). Continuation (continue --job <id>) andrestartpreserve the conversation's resolved model unless explicitly overridden. - Strict explicit overrides: Passing an explicit
--model(such as--model carbonor--model argon) never switches models silently; if an explicitly requested model is unavailable, the companion surfaces the diagnostic and compatible recommendations directly.
2. First-class
--model&--effortacross skills & DeepSeek Harness (skills/,dsh/index.mjs)- Canonical & generated skills: Updated
skills/brain/SKILL.md(argument-hint: '[--model carbon|argon|flash|<id>] [--effort low|medium|high] [task]') and persona skill references (staffer,researcher,reviewer,implementer,ask), regeneratingpi-skills/andopencode-skills/with zero drift. - Cordis tool schema: Added optional
modelandeffortparameters to bothagy_brainandagy_workerindsh/index.mjs, forwarding--modeland--efforton fresh launches andcontinue --jobfollow-ups.
3. Elemental pixel icons, README badges & DSH sidebar model UI (
assets/,dsh/client.js)- Standalone SVG icons & pixel badges: Added
assets/icons/carbon.svg(cut diamond allotrope,Z=6) andassets/icons/argon.svg(3s² 3p⁶octet shell,Z=18), generatedassets/badges/model-gemini-4-carbon.svgand updatedassets/badges/model-gemini-4-argon.svgviascripts/gen_badges.py, arranged the README header badges in a symmetric1 - 3 - 3pyramid, and refreshedassets/design.svg/assets/design.png. - DeepSeek Harness sidebar upgrades: Added interactive
[Carbon]and[Argon]quick-chips on/agy-brainin the capability picker (inserting/agy-brain --model carbonor/agy-brain --model argondirectly into the input box), plusPixelIconCarbon,PixelIconArgon, andshortModelTagso brain and worker cards render model-accurate pixel icons and labels (brain · Carbon,brain · Argon,staffer · Argon,researcher · Carbon) and surface per-turn model tags in multi-turn threads when a turn's model differs from the thread lead.
Validation
- Passed
npm run check:skills(Pi & OpenCode generated skills verified, 0 drift) andnpm run pack:checked(62 packaged files verified). - Passed all 250 offline tests across 30 suites (
npm test), covering model catalog normalization,brainmodel resolution and Pro/Ultra account compatibility, explicit--modelnon-substitution invariants, sandbox/auth/entitlement diagnostic boundaries, and DeepSeek Harnessmodel/effortforwarding, q
- Expanded model catalog & family aliases: Added
- v0.9.0v0.9.0 — DeepSeek Harness plugin & visual subagent sidebar2026-11-10 · 2026-11-10 08:42 UTC
查看更新说明
agy-staff 0.9.0 — DeepSeek Harness plugin & visual subagent sidebar

Highlights
agy-staff0.9.0 adds native support for DeepSeek Harness (dsh) (#54 / #55), pairing DeepSeek Harness sessions with Google's Antigravity CLI (agy) through three coordinated layers: a visual right-sidebar subagent companion, native Cordis lifecycle tools, and hydrated/agy-*skills.1. Visual subagent right-sidebar (
dsh/client.js)- Role capability picker: Quick-insert cards for
/agy-brain(Argon),/agy-lead,/agy-staffer,/agy-researcher,/agy-reviewer, and/agy-implementer(3.8 Flash) withcrispEdgespixel-art SVG icons and a persistent中 / ENlanguage toggle. - Multi-turn conversation cards: Groups linked
continue --job <id>runs into a single expandable thread card with per-turnQueryandReplyviewports, distinct pixel status badges (done,running,error/crashed,canceled,attention), and one-click continuation / progress check insertion into the session input box. - Locked single-line live activity strip: While a subagent is running,
.agy-live-stripstays mounted at a fixed20pxsingle-row height aboveQuery/Reply, collapsing consecutive identical tool steps into×Ncounts (newest step first) so the cards below never shift on 5-second polls. - Automatic completion transition & low-overhead polling: Expanding a running card never locks
turnDetails[id].loadedearly; when the turn transitions to a terminal state, the sidebar automatically loads<id>.result.md. Idle polling reads onlystate.json(1 read/5s), caching.spec.jsonper job ID and reading.progress.jsonexclusively forrunning/queuedjobs.
2. Native Cordis lifecycle tools (
dsh/index.mjs)DeepSeek Harness's command sandbox blocks
agyfrom binding its localhost language-server port and reading its OAuth keychain credentials. The server plugin registers three native Cordis tools that invokecompanion/agy-companion.mjsoutside the command sandbox with array arguments (spawn(process.execPath, [...])):agy_brain: Starts astaffer --brainjob (defaulting togemini-4-argon-medium) or continues an existing brain thread viajob_id, returning{ ok, job_id, status, output }.agy_worker: Dispatchesresearch,review,implement,staffer, or synchronousaskworkers (or continues a thread viajob_id). Passingrestricted: trueopts into--restricted; omitting or passingfalsedefers to.agy-staff/config.json.agy_job: Full background job lifecycle tool supportingwait(60-second soft timeout withtimeoutMs: 75000, treating exit code0asdoneand exit code2asrunningwithok: true),observe,result,cancel, andstatus.
3. Single-source
/agy-*skills & isolated bundle packaging (dsh/,package.json)- Isolated
dsh/subpackage: Rootpackage.jsondeclaresdsh.bundle.patch(./dsh/cordis.patch.yml) and exports.(./opencode.mjs),./icon(./dsh/icon.svg), and./package.json, keeping the OpenCode V1 and Pi entrypoints untouched while displaying the custom pixel rainbow arch icon in DeepSeek Harness's Installed plugins list. - Hydrated skills from
opencode-skills/:dsh/index.mjsregisters all eightagy-*skills directly fromopencode-skills/, replacing<skill-dir>and<plugin-root>at registration time and prepending a DeepSeek Harness note directing models to useagy_brain,agy_worker, andagy_job.
Validation
- Passed
npm run check:skills(Pi & OpenCode generated skills verified, 0 drift). - Passed all 243 offline tests across 30 suites (
npm test), includingtests/dsh-plugin.test.mjs(covering bundle manifest exports,
- Role capability picker: Quick-insert cards for
- v0.8.2v0.8.2 — First proposal from an external brain2026-11-07 · 2026-11-07 08:23 UTC
查看更新说明
agy-staff 0.8.2 — First proposal from an external brain

Use
agy:brainwhen you want Argon to frame the problem before the host settles on an approach. The host supplies the goal, constraints and existing evidence, tests the proposal's assumptions, and owns execution and delivery. For example, if a migration proposal assumes every historical job has a conversation ID, check the old records and return any counterexample to the same brain conversation before implementing it.The brain skill starts a background
staffer --brainjob. It uses an advisory prompt and defaults togemini-4-argon-medium; an explicit model selection is supported. A native Flash research child may gather read-only evidence. Regular workers keep their no-delegation rule. Follow-ups usecontinue --job <id>as in 0.8.1.This first iteration makes no comparative cost or quality claim. For the mechanism probe and its limits, see #50 and #53.
Live acceptance check
On November 6, 2026, a host ran the shipping
staffer --brainpath in a disposable repository using authenticated AGY 1.5.2, without a model override. The first brief requested a design for migrating job history and supplied only the one-to-one pattern seen in standalone runs. Argon Medium recommended keying reports by job ID, but proposed mapping historical link keys to a single report, and asked the host to check cardinality.The host found four real, linked jobs with separate reports sharing one conversation ID; 15 completed jobs with no conversation ID; and a 0.8.0 foreground path that could record a conversation without a job. It sent those observations through
continue --job. Argon retained the job ID as the report address, dropped the single-report conversation alias, separated jobless pointers from reports, and deferred URL rules pending an inventory. The host accepted the changed identity policy but treated the suggested leaf-job handle as a UI default, not a CLI requirement: the companion looks up the explicitly selected job and checks its conversation and running status.Both job records show
brain: true,gemini-4-argon-medium, and native success; the second has the first as parent and the same AGY conversation ID. This was one real two-turn design task, not a model comparison, a Flash delegation test, or a migration implementation. - v0.8.1v0.8.1 — Clearer diagnostics. Better continuity.2026-11-06 · 2026-11-06 09:11 UTC
查看更新说明
agy-staff 0.8.1 — Clearer diagnostics. Better continuity.

Changes since 0.8.0
Two quality improvements: #48 / #49 preserve AGY's native diagnostics, and #51 / #52 give every direct persona shared dispatch guidance and an explicit job-based continuation interface.
Clearer diagnostics. The companion retains native termination reasons and bounded typed error metadata alongside delivered responses, including partial answers. Hosts can distinguish normal completion, print timeout, interruption and API failure without inferring the cause from prose. Normal warning-free runs keep their low-noise output and intermediate-file cleanup. CLI version checks run only when an option or output format is rejected without a structured API error; plugin updates do not update the separate AGY binary. Errors never trigger an automatic retry or update.
One source for persona rules.
templates/persona-skill-rules.mdmaintains four short host-facing rules: reuse helpful context for related follow-ups, start fresh when the task or role changes or an independent opinion is needed, pass new host-chat decisions without expanding authorization, and follow the existing execution and recovery boundaries.npm run generate:skillsembeds them into all five canonical persona skills before generating Pi and OpenCode adapters. Claude Code and Codex load the canonical files directly.npm run check:skillsand CI detect stale output or malformed shared blocks. Host dispatch guidance remains separate from worker prompts and guardrails.Continue the right job. Natural follow-ups should reuse the matching completed job when its context helps, even if the user does not say “continue.” The host retains each job ID with its assignment and sends intervening decisions in the follow-up brief. This is guidance for the host agent, not an automatic topic-matching system. New topics, different personas, independent reviews and explicit fresh starts use new sessions.
The single continuation entry point is
continue --job <id>. It retains the original persona and execution style, inherits the recorded model, permission profile and working directory unless a supported explicit override is supplied, and creates a linked invocation. Synchronousasknow records a job ID too: its answer remains on stdout, while stderr carries the job ID. Continuing an ask stays synchronous. Interleaved ask calls do not redirect default background result collection.Continuation migration
Use the job ID returned by the earlier invocation:
node "<plugin-root>/companion/agy-companion.mjs" continue --job <id> --prompt "Check the alternative discussed above"- Persona
--continue,--conversation <id>, persona--job <id>, and barecontinueare rejected before invoking AGY. Errors provide a job-based migration command when a matching record exists. - A conversation ID is not a job ID. Use
statusto inspect recorded jobs; a continued job keeps its original persona. To change roles, start the target persona with the relevant findings in its brief. - Pre-0.8.1 ask conversations without a job record cannot be resumed through the new interface. Start a fresh ask to obtain a job ID; other existing jobs with recorded conversation IDs can be continued.
- A running job still must finish or be canceled before continuation. Execution-timeout recovery still requires explicit confirmation; a wait soft expiry only requires collecting the same job again.
Validation
- The implementation passed 233 offline tests, including job-ID-only continuation, synchronous ask records, legacy-selector migration, shared-source generation and packag
- Persona
- v0.8.0v0.8.0 — Bench v1 findings in the lead, jobs and worker instructions2026-11-02 · 2026-11-02 04:51 UTC
查看更新说明
agy-staff 0.8.0 — Bench v1 findings in the lead, jobs and worker instructions

Changes since 0.7.4
agy-staff Bench v1 ran 0.7.3 on Claude Code and Codex over SWE-bench Verified, SWE-Atlas QnA and DeepSearchQA. Its trajectories showed where delegation lost time, tokens or correctness. #43 moves those findings into the instructions and adds the 20-task Codex
0.8.0validation to Bench v1. The companion runtime and the job lifecycle are unchanged.Waiting. Every wake-up rereads the host's whole context, so the jobs skill now asks the host to wake as rarely as it can. When the host is known to wake the model on a background command's completion (such as Claude Code), the host ends its turn after launching the wait instead of sleeping or polling. Otherwise it stays in its turn and sets the longest supported block explicitly (5–10 minutes, or the tool's maximum such as 300,000 ms in Codex
write_stdin/// @exec, or a foregroundwait <id> --timeout 10min synchronous-shell hosts like Pi and OpenCode). In v1, Codex made 872 collection calls over 20 trials, most returning after the default of about 30 seconds; the skill now names the Codex parameters (write_stdinyield_time_ms: 300000, or the code-mode// @execpragma).Briefs. The host copies the user's constraints and prohibitions into the brief verbatim, in their own section, and keeps orchestration instructions such as "use
$agy:lead" out of it. In v1, paraphrased briefs dropped a benchmark rule 7 times in 20, and forwarded orchestration instructions led one worker to launch a nested agy job in the same worktree. Briefs now separate settled decisions from open ones after the host checks the facts they rest on, and a deadline sets the job's--timeoutand appears in the brief.Delegation and acceptance. Lead still delegates substantive work by default and now states the trade-off: delegation saves the host's context and quota, not total time or tokens. A tightly coupled change stays in one assignment with its investigation and verification. Acceptance reads the worker's status and reported conflicts first, checks interface choices, departures from the brief and figures reported as verified, and stays well below the cost of redoing the work. The host fixes small, understood defects directly and sends larger gaps back with
continue.Workers. The staffer, research and implement templates share a short set of working rules:
- do the assignment without delegating further;
- follow the brief's scope and decisions, and report confirmed contradictions between the brief's factual premises and what the worker observed under
## Conflicts with the taskinstead of building on a false premise; - respect a stated deadline and prefer a partial report with named gaps;
- write the final message only after all work has finished, beginning with
Status: DONE,DONE_WITH_CONCERNSorBLOCKED.
The review template gains the delegation, deadline and final-message rules. The research template drops its defensive framing, asks for full source documents once a search finds them, never repeats a query, and stops searching after two similar results; in v1, timed-out research jobs spent up to 93 searches on snippets. The implement and research templates ask for whole reads of small files, searches with context lines, an exploration stop once the change can be named, and reusable probe scripts; in v1 the worker took a median of 104.5 steps per SWE-bench job, one tool call per step.
docs/DESIGN.mdrecords the shared worker rules, the brief boundary for orchestration instructions, the cost of each wake-up, and the revised lead defaults. Package, Claude Code, and Codex manifests are versioned at 0.8.0.Validati
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Hire Google's Antigravity CLI (agy) as a staffer for Claude Code, OpenAI Codex, Pi, and OpenCode.
Bench · Install · Examples · Core design · Build your own · Upgrade
What & Why
agy-staff pairs your senior agents with agy, which ships Gemini 4 Argon and fast Gemini 3.8 Flash. Two orchestration modes (lead and brain), five personas (staffer, researcher, reviewer for code and plans, implementer, ask), and a model-facing jobs skill. Claude Code uses /agy:<skill> and Codex uses $agy:<skill>.
GPT-6.1-Sol is slow even with fast mode on; Claude Code is quicker, but Fable quota is too scarce to spend grinding through every survey and review. agy gives you both a fast worker and a second brain: Flash handles quick second opinions, research, reviews, and scoped implementation off to the side, while Argon is strong enough in design and world knowledge to pair with Astra or Fable as a peer orchestrator — proposing routes from a second model family while your host checks assumptions and delivers.

Bench — Harness & Orchestration
agy-staff Bench v1 runs Claude Code and Codex on three benchmarks, each task three ways: alone, with their own subagents, and with agy through lead.
[!NOTE] Why a bench. It runs the same tasks on different hosts, with and without agy, to answer three questions:
- When to delegate. Which tasks and which hosts gain from handing work to agy, and which are better left solo. The answers become best practices for using agy-staff.
- What to fix in agy-staff. Each run shows where delegation wastes time or tokens. Those findings go back into the plugin as fixes, and later bench versions check whether the fixes worked.
- How harnesses differ. Same prompt, same worker, different host. Gaps in the results trace back to design choices in each harness.
What v1 says (one run per task and setup, so a first baseline, not a verdict):
- agy suits research best. DeepSearchQA is the only benchmark where agy cut host spend on both hosts: Claude Code −39%, Codex −16%. Host spend is what your Claude or ChatGPT plan pays.
- Claude Code's harness suits agy better. With agy, Claude Code's host spend fell on all three benchmarks (−16% to −39%). Codex's rose on two (SWE-bench +86%, QnA +22%). Claude Code waits in the background until the agy job ends; Codex polls, and every wake-up carries its full context.
- The price is time. Median time per task rose from 2–8 minutes alone to 13–26 minutes with agy. Tasks solved matched solo or dropped by one.
Method, caveats and versions → bench/README.md
How
Invoke a persona
Type /agy: in Claude Code and the orchestration modes and personas are right there:

Same plugin in Codex, invoked with $agy:

Install
For humans
Step 1 — install the Antigravity CLI (official docs), then verify with agy --version. Node.js is also required:
curl -fsSL https://antigravity.google/cli/install.sh | bash
Step 2 — install the plugin into your harness:
claude plugin marketplace add keli-wen/agy-staff
claude plugin install agy@agy-staff
codex plugin marketplace add https://github.com/keli-wen/agy-staff
codex plugin add agy@agy-staff
Install: pi install git:github.com/keli-wen/agy-staff.
Skills are prefixed as /skill:agy-<persona> (e.g. /skill:agy-ask reply with OK), including /skill:agy-lead, /skill:agy-brain, and /skill:agy-jobs for job management.
Update with pi update --extension git:github.com/keli-wen/agy-staff, then run /reload.
With OpenCode V1 (verified on 1.18.34), install the package through its native plugin manager:
opencode plugin 'agy-staff@git+https://github.com/keli-wen/agy-staff.git' --global
Restart OpenCode, then run /agy-ask reply with OK. The plugin automatically registers all eight agy-* skills and their native slash commands, including /agy-lead, /agy-brain, and /agy-jobs. No separate skills path or command wrappers are needed. Node.js and an authenticated agy are required, as above.
OpenCode caches the complete package spec. Restarting does not refresh an unchanged Git spec. To upgrade, choose a newer Git tag or commit and run opencode plugin 'agy-staff@git+https://github.com/keli-wen/agy-staff.git#<tag-or-commit>' --global --force, then restart. See the reference for config and local development. OpenCode V2 is not covered by this adapter.
Restart Claude Code or Codex afterwards. First run: /agy:ask reply with OK (Claude Code) or $agy:ask reply with OK (Codex). Ask is tool-free and needs no setup.
[!IMPORTANT] There is no mandatory setup step.
staffer,researcher,reviewerandimplementerrun unrestricted by default: agy can inspect the repo, run commands, and edit files. agy-staff keeps that practical with prompts that adapt to the current repo state. For example, whenimplementerstarts in a dirty workspace, the companion tells agy which files already had changes and reminds it not to overwrite or deliver unrelated user work. If the task asks for a commit, push, or PR, agy can do that delivery; otherwise it leaves a working-tree diff for review. These prompt instructions do not provide permission isolation.setup+--restrictedis optional hardening for untrusted input — per run (--restricted) or as a per-repo default (setup --restrict review,research).setupdry-runs and asks before writing anything ("set up agy" triggers it); read the permission notes first — the allowlist is prefix-matched, applies machine-wide, and a restricted run can return less than an unrestricted one.
For agents
Paste this into any coding agent:
Read the raw text of https://raw.githubusercontent.com/keli-wen/agy-staff/master/docs/INSTALL_FOR_AGENTS.md (curl it — do not
work from a summary) and follow it to install and verify the agy-staff plugin for the harness you are running in.
Respond in the user's language.
Upgrade
Claude Code and Codex install a copy, so a new version only reaches you when you pull it in yourself:
claude plugin marketplace update agy-staff && claude plugin update agy@agy-staff
codex plugin marketplace upgrade && codex plugin add agy@agy-staff # then restart Codex
Claude Code and Codex cache per version directory, so an upgrade lands only if the plugin version changed; restart the harness afterwards. If a fix does not show up, see upgrading — it has the force-refresh command.
CUJs
Examples below use Claude Code's /agy:…; in Codex use $agy:…, in Pi /skill:agy-…, and in OpenCode /agy-….
| Use case | Invocation |
|---|---|
| Lead an ongoing task | /agy:lead investigate the options, draft a proposal, and revise it with my feedback |
| Ask Argon to propose the route | /agy:brain design a migration; check the assumptions before implementing |
| Quick second opinion | /agy:ask what's your backend model |
| A general task | /agy:staffer summarize the open TODOs in this repo |
| Generate an image | /agy:staffer generate a pixel-art robot mascot, save it as assets/mascot.png |
| Review the working tree | /agy:reviewer Review the current working tree |
| Review a PR | /agy:reviewer Review PR #730 |
| Review a plan or decision | /agy:reviewer Challenge the migration plan in docs/plan.md |
| Survey a topic | /agy:researcher how does auth work in this repo |
| Implement a scoped fix | /agy:implementer fix the flaky retry test |
| Job ops (wait/status/cancel/continue) | natural language: "is the agy job done?", "continue: also check the error path" |
reviewer is fully prompt-based: you describe the subject and agy gathers the evidence itself (gh pr view, git diff, reading the file) — there is no flag for handing it a diff. It has two flavors, routed by subject: code review (severity-ranked findings) and general review (a multi-angle challenge of a plan, design, or decision).
staffer also covers agy's native tools without a dedicated specialist persona, including image generation (generate_image). A trial on agy v1.1.15 produced a 1024×1024 PNG in about 30 seconds; actual time depends on the task and environment.
Core design
lead adds task orchestration guidance for your current agent. Within lead, orient enough to frame the assignment, delegate substantive work to staffer by default, wait for the result, then assess it and integrate or follow up. Specialists provide dedicated guidance when useful, while ask is reserved for testing. The host owns cross-task decisions, acceptance, integration, and delivery, using the existing jobs workflow.
With brain, Argon proposes the route first. The host supplies the goal and evidence, challenges assumptions before execution, and owns verification. See the brain skill.
ask answers in the same call. The other personas return a job id and a collection command, such as wait <id> --timeout 10m. Your agent waits using the host's available capabilities, with one independent background wait per job where supported.
The main agent waits for the final result by default. If you explicitly ask about progress, it can use observe to read a snapshot of recent tool activity and response text; it does not query progress for routine updates. Once the task finishes, wait or result delivers the full report. Expiring a wait leaves the worker running.
The timeline below follows a background task from delegation to completion. The host agent waits for the final result by default (or advances already-identified independent work), checks progress when asked, and collects the report.
Jobs have a separate execution deadline: default 60 minutes, configurable at launch with --timeout up to 120 minutes. Use cancel to stop execution, or explicitly request continue or restart after inspecting the existing work. The host harness controls when your agent receives a background result.
Full reference → docs/REFERENCE.md (flags, permission model, jobs/state, troubleshooting, upgrading). Release notes → docs/releases/.
Build one for another CLI
agy-staff's design is portable: bash plus skills, with no hard dependency on a host, a worker CLI or a runtime library. docs/DESIGN.md writes it down as best practice. To build the same kind of tool for another agent CLI, give your coding agent this prompt:
Read the raw text of https://raw.githubusercontent.com/keli-wen/agy-staff/master/docs/DESIGN.md
(curl it — do not work from a summary). Then design an integration that lets this host agent delegate
work to <CLI> the same way. First read `<CLI> --help`, map what the CLI supports to the section
"What depends on the worker CLI", and list the principles it cannot support before writing any code.
Ask me before any call that spends model quota. Respond in the user's language.
Before writing any code, the agent lists the principles your CLI cannot support, so you know up front where the tool will degrade.
Community
- LINUX DO — A next-generation Linux community.
Contributing
Contributions are welcome — issues, bug reports and pull requests all help.
A few things worth knowing before you open a PR:
- Run the tests:
npm test. The standard suite uses temporary repos and HOME directories with fakeagy, plus focused module tests. Keep regression tests offline and independent of personal settings. Real AGY validation is a separate opt-in suite described in tests/README.md. - Docs come in pairs:
README.md/README.zh-CN.mdanddocs/REFERENCE.md/docs/REFERENCE.zh-CN.mdare kept in sync. Change one, change its counterpart. - Runtime code lives in
companion/: the entrypoint handles modes and job commands; separate modules handle streaming execution, observations and state locking. Skills call the companion, andtemplates/holds the shared prompts. - Canonical skills are the source of truth: edit personas in
skills/, never inpi-skills/oropencode-skills/. Runnpm run generate:skillsto generate both host entrypoints, andnpm run check:skillsto verify consistency. The existinggenerate:piandcheck:picommands remain available. Usenpm run pack:checkedto check freshness before packing; publishing also runs the check.
Adding a mode or a flag changes the public surface, so please open an issue first and we can agree on the shape.
License
MIT — see LICENSE.


