Repository navigation
prototype: Goose agent type over ACP - #1010
Closed
salman1993 wants to merge 3 commits into
Closed
salman1993 wants to merge 3 commits into
salman1993 wants to merge 3 commits into
Conversation
A bundled `buzz.goose` plugin whose agents run as one `goose-acp` process each, with one ACP session per conversation. The Buzz tools reach goose over MCP-over-ACP (`mcp/message` on the same pipe), so the process holds no Buzz key. Uses the Claude plugin's Buzz prompt, appended with `_goose/unstable/session/system-prompt/set`; names sessions with `_meta.sessionTitle`; steers mid-turn messages with `_goose/unstable/session/steer`. Provider and model come from the owner's goose config unless the agent names its own. Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Salman Mohammed <[email protected]>
- New agent: the Goose type menu offers goose's own default provider and model, or a dialog to choose a provider, save its key into goose, pick a model, and test the connection. The card body keeps only instructions. - Settings: provider and model per agent, and Runtime diagnostics listing the agent's goose sessions with their transcripts, read through session/list and _goose/unstable/session/export. - A turn that writes text without calling send is posted as the agent's reply rather than reported as a failure. - A missing goose-acp says so; test connection deletes its session. Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Salman Mohammed <[email protected]>
micspiral
pushed a commit
that referenced
this pull request
Oct 14, 2026
Reuse shared Buzz prompt/core memory; retire idle sessions without restart resume. Adapt transcript projection from Goose plugin PR #1010 while retaining Mesh inference and the managed tool bridge. Co-authored-by: Salman Mohammed <[email protected]> Co-authored-by: Claude Opus 5.5 <[email protected]> Signed-off-by: JimCodey <fab731feb32f528977dec0f8e40b557d552d1c795ae5c8d75e7dc071c2b05aa0@meshllm.communities.buzz.xyz>
This was referenced Oct 14, 2026
Signed-off-by: Salman Mohammed <[email protected]>
Contributor
Author
|
closing in favour of #1096 |
This was referenced Oct 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Draft prototype: a bundled Goose agent type that runs goose locally over ACP. Built on goose's MCP-over-ACP support in aaif-goose/goose#12882.
What it does
goose-acpprocess per agent, one ACP session per conversation. That's a thread, a whole DM, or a channel when the agent is set to one session per channel. A quiet session closes after 15 minutes. Watch and timer wakes each run in a one-off session.{type:"acp", name:"buzz", serverId:"buzz"}in bothmcpServersand_meta.enabledExtensions, alongside goose'sdeveloperextension.mcp/messagerequests back over the same pipe, and the plugin answers them with the in-processrespond()frombuzz-mcp. Calls are signed by the agent's native-held key, so goose never holds a Buzz key.BUZZ_PRIVATE_KEY,BUZZ_AUTH_TAGandBUZZ_RELAY_URLare removed from goose's environment.systemPrompt(): the base prompt, the Buzz tools prompt, the session model, attention, memory and instructions. It's applied aftersession/newwith_goose/unstable/session/system-prompt/set,mode: "append". Append keeps goose's ownsystem.md, which carries the extensions' tool instructions;setwould drop that and render our text as a template._meta.sessionTitleis sent asAgent · #channel · <root8>, matching the harness format. goose's own session naming is off (GOOSE_DISABLE_SESSION_NAMING)._goose/unstable/session/steerwith the turn's_meta.goose.activeRunIdasexpectedRunId. If it arrives before goose reports the run ID, it waits for it. If the steer is rejected because the turn just ended, the message runs as the next turn.sendwithfinal: truesettles the turn. If goose only writes text and never calls a Buzz tool (for example, when it reports a provider error), the turn fails and the text is posted as "~/.config/goose/config.yaml. An agent can override them in its settings, which setsGOOSE_PROVIDER/GOOSE_MODEL. goose runs withGOOSE_MODE=auto, and permission requests are answered with allow.Not in this prototype: bundling
goose-acp, a provider/credentials dialog, a model catalog or per-message picker, transcripts, session resume across restarts, and Windows.How to test
Build
goose-acpfrom prototype: serve client tools over MCP-over-ACP aaif-goose/goose#12882. Run a whole-workspace build from the goose checkout root:Don't add
-p goose. That skips features other workspace crates enable, and the resulting binary can't reach the provider ("Network error: Could not connect to …").Put it on the app's PATH as
goose-acp. The app checks~/.local/binfirst on macOS. If agoose-acpis already there, remove it first rather than copying over it:Check that
gooseworks with your config, for examplegoose run -t "say hi". This prototype adds no provider setup.In the app (macOS or Linux desktop): run with
just desktopshell,send, …) and reply in the thread.Checks
tsc --noEmitand biome are clean.vitest run src/bundled src/plugins src/features/agents: 2,640 passed. The new goose suites run against a fakegoose-acpspeaking ACP.cargo test -p buzzodz-pluginspasses.🤖 Generated with Claude Code