mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-04-26 13:04:49 -07:00
feat: Introduce an AI-driven interactive shell mode with new
`read-shell` and `write-to-shell` tools and a configurable mode setting.
This commit is contained in:
@@ -1009,6 +1009,7 @@ export async function loadCliConfig(
|
||||
enableInteractiveShell: settings.tools?.shell?.enableInteractiveShell,
|
||||
shellBackgroundCompletionBehavior: settings.tools?.shell
|
||||
?.backgroundCompletionBehavior as string | undefined,
|
||||
interactiveShellMode: settings.tools?.shell?.interactiveShellMode,
|
||||
shellToolInactivityTimeout: settings.tools?.shell?.inactivityTimeout,
|
||||
enableShellOutputEfficiency:
|
||||
settings.tools?.shell?.enableShellOutputEfficiency ?? true,
|
||||
|
||||
@@ -1512,6 +1512,26 @@ const SETTINGS_SCHEMA = {
|
||||
{ label: 'Notify', value: 'notify' },
|
||||
],
|
||||
},
|
||||
interactiveShellMode: {
|
||||
type: 'enum',
|
||||
label: 'Interactive Shell Mode',
|
||||
category: 'Tools',
|
||||
requiresRestart: true,
|
||||
default: undefined as 'human' | 'ai' | 'off' | undefined,
|
||||
description: oneLine`
|
||||
Controls who can interact with backgrounded shell processes.
|
||||
"human": user can Tab-focus and type into shells (default).
|
||||
"ai": model gets write_to_shell/read_shell tools for TUI interaction.
|
||||
"off": no interactive shell.
|
||||
When set, overrides enableInteractiveShell.
|
||||
`,
|
||||
showInDialog: true,
|
||||
options: [
|
||||
{ value: 'human', label: 'Human (Tab to focus)' },
|
||||
{ value: 'ai', label: 'AI (model-driven tools)' },
|
||||
{ value: 'off', label: 'Off' },
|
||||
],
|
||||
},
|
||||
pager: {
|
||||
type: 'string',
|
||||
label: 'Pager',
|
||||
|
||||
Reference in New Issue
Block a user