-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Ask Tool using Dialog TUI #5563
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
|
Looks super cool. There should be a way to have the ask tool disabled (if we want to run opencode in a non-interactive way). |
|
Agree with @DamianB-BitFlipper but i think that should be the same thing as with all the other tool in the config via : "deny" ? Looks super cool would love to see it land in OC |
|
I like this one too. I merged it into my fork today, plus the suggested modifications to make it configurable via config. I opted to enable it by default for the built-in plan mode and disable it by default for everything else to align with what people might expect coming from claude code. What Changed (to address PR concerns)
|
|
One more issue: The current ask UI was rendering all questions + all options inline in a plain Fixes implemented
|
|
Hi @dbpolito , I really like this one, do you think we can somehow turn this into a plugin? I think the general consensus would be to keep the OpenCode codebase more focused and to extend the additional toolings via community plugins. This also ensures that you have control over the development of the feature and the direction you would like to take. Now you would most likely get hit by a feature here and there that is still not doable via plugins. This is where you would aim to extend the OpenCode core functionality to allow plugins to do what you want. Think of Core OpenCode as the infrastructure and plugins as the extended tooling. Think bigger what if you can ask the question to a human who is away from his OpenCode session? Or in a headless OpenCode? What if that same structured question can be later rendered by a slack bot, etc. Just my experience from maintaining one of the plugins (till it might probably graduate to a core feature when it matures well enough) @rekram1-node can correct me if anything I said isn't accurate. |
This merges the askquestion tool from upstream which: - Allows AI to pause and solicit structured feedback via TUI wizard - Supports single-select, multi-select, and confirm dialog types - Fixes race conditions from the previous Ask Tool implementation (PR sst#5563) - Uses exponential backoff polling for state synchronization Merged fork features preserved: - Layout density system for small terminals - Spinner style customization - Bash output full-screen viewer - Search in messages (Ctrl+/) - Sidebar resize - All other fork-specific enhancements Also updated fork-features.json and README.md to reference PR sst#5958 instead of sst#5563.
This introduces a ask tool and a iterative way to answer that using Dialog TUI, we currently support 4 question types:
I tried to use the components we already have to make it simpler.
We probably want to make this dialog bigger, improve some UX but i kept it as simple so we can hear input from community.