Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR introduces a new Terminal User Interface (TUI) client for goose-acp that uses the streamable HTTP transport protocol. It represents the first non-desktop client implementation of the goose-acp architecture and establishes the foundation for Phase II of the migration from goosed to ACP-over-HTTP as outlined in issue #6642.
Changes:
- New TypeScript-based TUI package (
ui/text) built with React Ink for terminal rendering - Custom HTTP transport implementation with Server-Sent Events (SSE) for streaming responses
- Full ACP client integration supporting session management, message streaming, and permission prompts
- Server-side registration of builtin extensions for goose-acp
Reviewed changes
Copilot reviewed 8 out of 10 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| ui/text/src/transport.ts | Implements HTTP/SSE transport layer for ACP communication |
| ui/text/src/app.tsx | Main TUI application with React Ink components and state management |
| ui/text/src/cli.tsx | CLI entrypoint with command-line argument parsing |
| ui/text/package.json | Package configuration with dependencies and scripts |
| ui/text/package-lock.json | Lock file for reproducible dependency installation |
| ui/text/tsconfig.json | TypeScript compiler configuration |
| ui/text/README.md | Documentation for running the TUI |
| ui/text/.npmrc | npm registry configuration |
| ui/text/.gitignore | Git ignore rules for build artifacts |
| crates/goose-acp/src/bin/server.rs | Registers builtin extensions on server startup |
Files not reviewed (1)
- ui/text/package-lock.json: Language not supported
jamadeo
approved these changes
Feb 19, 2026
|
|
||
| ## Running | ||
|
|
||
| 1. Run the server `cargo run -p goose-acp --bin goose-acp-server` |
Collaborator
There was a problem hiding this comment.
What's your thinking on how this should work in the future? should the tui app manage a goose acp process?
Collaborator
Author
There was a problem hiding this comment.
Yeah I think we'll do two things
- Provide a version with it bundled into a single executable
- Let people
npx @block/goose --server $URL
michaelneale
added a commit
that referenced
this pull request
Feb 19, 2026
* main: (46 commits) chore(deps): bump hono from 4.11.9 to 4.12.0 in /ui/desktop (#7369) Include 3rd-party license copy for JavaScript/CSS minified files (#7352) docs for reasoning env var (#7367) docs: update skills detail page to reference Goose Summon extension (#7350) fix(apps): restore MCP app sampling support reverted by #6933 (#7366) feat: TUI client of goose-acp (#7362) docs: agent variable (#7365) docs: pass env vars to shell (#7361) docs: update sandbox topic (#7336) feat: add local inference provider with llama.cpp backend and HuggingFace model management (#6933) Docs: claude code uses stream-json (#7358) Improve link confirmation modal (#7333) fix(ci): deflake smoke tests for Google models (#7344) feat: add Cerebras provider support (#7339) fix: skip whitespace-only text blocks in Anthropic message (#7343) fix(goose-acp): heap allocations (#7322) Remove trailing space from links (#7156) fix: detect low balance and prompt for top up (#7166) feat(apps): add support for MCP apps to sample (#7039) Typescript SDK for ACP extension methods (#7319) ...
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.
A new TUI that serves as the first goose-acp client to use the streamable http transport, this PR the basis for phase II of this plan #6642
Demo
Goose.ACP.TUI.Demo.mov
Detail
GooseClientand types fromui/acpwhich we will use as the client SDK for interacting withgoose-acpover the HTTP transport. (But doesn't use it yet as everything the TUI does is covered by the standard TS ACP SDK. We should consider routing the standard things through GooseClient too, and I or @jamadeo can do that in a followup.