mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-24 14:25:00 +00:00
feat: ability to select audio input device
This commit is contained in:
parent
e4a1d6fe89
commit
e11faadf39
6 changed files with 317 additions and 281 deletions
|
@ -22,7 +22,7 @@ def default_env_file(git_root):
|
|||
|
||||
def get_parser(default_config_files, git_root):
|
||||
parser = configargparse.ArgumentParser(
|
||||
description="aider is AI pair programming in your terminal",
|
||||
description="Aider is AI pair programming in your terminal",
|
||||
add_config_file_help=True,
|
||||
default_config_files=default_config_files,
|
||||
config_file_parser_class=configargparse.YAMLConfigFileParser,
|
||||
|
@ -770,6 +770,12 @@ def get_parser(default_config_files, git_root):
|
|||
default="en",
|
||||
help="Specify the language for voice using ISO 639-1 code (default: auto)",
|
||||
)
|
||||
group.add_argument(
|
||||
"--voice-input-device",
|
||||
metavar="VOICE_INPUT_DEVICE",
|
||||
default=None,
|
||||
help="Specify the input device name for voice recording",
|
||||
)
|
||||
|
||||
return parser
|
||||
|
||||
|
|
|
@ -1085,7 +1085,7 @@ class Commands:
|
|||
self.io.tool_error("To use /voice you must provide an OpenAI API key.")
|
||||
return
|
||||
try:
|
||||
self.voice = voice.Voice(audio_format=self.args.voice_format)
|
||||
self.voice = voice.Voice(audio_format=self.args.voice_format, device_name=self.args.voice_input_device)
|
||||
except voice.SoundDeviceError:
|
||||
self.io.tool_error(
|
||||
"Unable to import `sounddevice` and/or `soundfile`, is portaudio installed?"
|
||||
|
|
|
@ -34,7 +34,7 @@ class Voice:
|
|||
|
||||
threshold = 0.15
|
||||
|
||||
def __init__(self, audio_format="wav"):
|
||||
def __init__(self, audio_format="wav", device_name=None):
|
||||
if sf is None:
|
||||
raise SoundDeviceError
|
||||
try:
|
||||
|
@ -42,6 +42,27 @@ class Voice:
|
|||
import sounddevice as sd
|
||||
|
||||
self.sd = sd
|
||||
|
||||
|
||||
devices = sd.query_devices()
|
||||
|
||||
if device_name:
|
||||
# Find the device with matching name
|
||||
device_id = None
|
||||
for i, device in enumerate(devices):
|
||||
if device_name in device["name"]:
|
||||
device_id = i
|
||||
break
|
||||
if device_id is None:
|
||||
available_inputs = [d["name"] for d in devices if d["max_input_channels"] > 0]
|
||||
raise ValueError(f"Device '{device_name}' not found. Available input devices: {available_inputs}")
|
||||
|
||||
print(f"Using input device: {device_name} (ID: {device_id})")
|
||||
|
||||
self.device_id = device_id
|
||||
else:
|
||||
self.device_id = None
|
||||
|
||||
except (OSError, ModuleNotFoundError):
|
||||
raise SoundDeviceError
|
||||
if audio_format not in ["wav", "mp3", "webm"]:
|
||||
|
@ -93,7 +114,7 @@ class Voice:
|
|||
temp_wav = tempfile.mktemp(suffix=".wav")
|
||||
|
||||
try:
|
||||
sample_rate = int(self.sd.query_devices(None, "input")["default_samplerate"])
|
||||
sample_rate = int(self.sd.query_devices(self.device_id, "input")["default_samplerate"])
|
||||
except (TypeError, ValueError):
|
||||
sample_rate = 16000 # fallback to 16kHz if unable to query device
|
||||
except self.sd.PortAudioError:
|
||||
|
@ -104,7 +125,7 @@ class Voice:
|
|||
self.start_time = time.time()
|
||||
|
||||
try:
|
||||
with self.sd.InputStream(samplerate=sample_rate, channels=1, callback=self.callback):
|
||||
with self.sd.InputStream(samplerate=sample_rate, channels=1, callback=self.callback, device=self.device_id):
|
||||
prompt(self.get_prompt, refresh_interval=0.1)
|
||||
except self.sd.PortAudioError as err:
|
||||
raise SoundDeviceError(f"Error accessing audio input device: {err}")
|
||||
|
|
|
@ -368,3 +368,6 @@
|
|||
|
||||
## Specify the language for voice using ISO 639-1 code (default: auto)
|
||||
#AIDER_VOICE_LANGUAGE=en
|
||||
|
||||
## Specify the voice input device name (default: system default)
|
||||
#AIDER_VOICE_INPUT_DEVICE="MacBook Pro Microphone"
|
||||
|
|
|
@ -410,7 +410,8 @@ cog.outl("```")
|
|||
|
||||
## Specify the language for voice using ISO 639-1 code (default: auto)
|
||||
#AIDER_VOICE_LANGUAGE=en
|
||||
|
||||
## Specify the voice input device name (default: system default)
|
||||
#AIDER_VOICE_INPUT_DEVICE="MacBook Pro Microphone"
|
||||
```
|
||||
<!--[[[end]]]-->
|
||||
|
||||
|
||||
|
|
|
@ -82,7 +82,7 @@ usage: aider [-h] [--openai-api-key] [--anthropic-api-key] [--model]
|
|||
## options:
|
||||
|
||||
### `--help`
|
||||
show this help message and exit
|
||||
show this help message and exit
|
||||
Aliases:
|
||||
- `-h`
|
||||
- `--help`
|
||||
|
@ -90,51 +90,51 @@ Aliases:
|
|||
## Main:
|
||||
|
||||
### `--openai-api-key OPENAI_API_KEY`
|
||||
Specify the OpenAI API key
|
||||
Environment variable: `OPENAI_API_KEY`
|
||||
Specify the OpenAI API key
|
||||
Environment variable: `OPENAI_API_KEY`
|
||||
|
||||
### `--anthropic-api-key ANTHROPIC_API_KEY`
|
||||
Specify the Anthropic API key
|
||||
Environment variable: `ANTHROPIC_API_KEY`
|
||||
Specify the Anthropic API key
|
||||
Environment variable: `ANTHROPIC_API_KEY`
|
||||
|
||||
### `--model MODEL`
|
||||
Specify the model to use for the main chat
|
||||
Environment variable: `AIDER_MODEL`
|
||||
Specify the model to use for the main chat
|
||||
Environment variable: `AIDER_MODEL`
|
||||
|
||||
### `--opus`
|
||||
Use claude-3-opus-20240229 model for the main chat
|
||||
Environment variable: `AIDER_OPUS`
|
||||
Use claude-3-opus-20240229 model for the main chat
|
||||
Environment variable: `AIDER_OPUS`
|
||||
|
||||
### `--sonnet`
|
||||
Use claude-3-5-sonnet-20241022 model for the main chat
|
||||
Environment variable: `AIDER_SONNET`
|
||||
Use claude-3-5-sonnet-20241022 model for the main chat
|
||||
Environment variable: `AIDER_SONNET`
|
||||
|
||||
### `--haiku`
|
||||
Use claude-3-5-haiku-20241022 model for the main chat
|
||||
Environment variable: `AIDER_HAIKU`
|
||||
Use claude-3-5-haiku-20241022 model for the main chat
|
||||
Environment variable: `AIDER_HAIKU`
|
||||
|
||||
### `--4`
|
||||
Use gpt-4-0613 model for the main chat
|
||||
Environment variable: `AIDER_4`
|
||||
Use gpt-4-0613 model for the main chat
|
||||
Environment variable: `AIDER_4`
|
||||
Aliases:
|
||||
- `--4`
|
||||
- `-4`
|
||||
|
||||
### `--4o`
|
||||
Use gpt-4o-2024-08-06 model for the main chat
|
||||
Environment variable: `AIDER_4O`
|
||||
Use gpt-4o-2024-08-06 model for the main chat
|
||||
Environment variable: `AIDER_4O`
|
||||
|
||||
### `--mini`
|
||||
Use gpt-4o-mini model for the main chat
|
||||
Environment variable: `AIDER_MINI`
|
||||
Use gpt-4o-mini model for the main chat
|
||||
Environment variable: `AIDER_MINI`
|
||||
|
||||
### `--4-turbo`
|
||||
Use gpt-4-1106-preview model for the main chat
|
||||
Environment variable: `AIDER_4_TURBO`
|
||||
Use gpt-4-1106-preview model for the main chat
|
||||
Environment variable: `AIDER_4_TURBO`
|
||||
|
||||
### `--35turbo`
|
||||
Use gpt-3.5-turbo model for the main chat
|
||||
Environment variable: `AIDER_35TURBO`
|
||||
Use gpt-3.5-turbo model for the main chat
|
||||
Environment variable: `AIDER_35TURBO`
|
||||
Aliases:
|
||||
- `--35turbo`
|
||||
- `--35-turbo`
|
||||
|
@ -142,520 +142,520 @@ Aliases:
|
|||
- `-3`
|
||||
|
||||
### `--deepseek`
|
||||
Use deepseek/deepseek-coder model for the main chat
|
||||
Environment variable: `AIDER_DEEPSEEK`
|
||||
Use deepseek/deepseek-coder model for the main chat
|
||||
Environment variable: `AIDER_DEEPSEEK`
|
||||
|
||||
### `--o1-mini`
|
||||
Use o1-mini model for the main chat
|
||||
Environment variable: `AIDER_O1_MINI`
|
||||
Use o1-mini model for the main chat
|
||||
Environment variable: `AIDER_O1_MINI`
|
||||
|
||||
### `--o1-preview`
|
||||
Use o1-preview model for the main chat
|
||||
Environment variable: `AIDER_O1_PREVIEW`
|
||||
Use o1-preview model for the main chat
|
||||
Environment variable: `AIDER_O1_PREVIEW`
|
||||
|
||||
## Model Settings:
|
||||
|
||||
### `--list-models MODEL`
|
||||
List known models which match the (partial) MODEL name
|
||||
Environment variable: `AIDER_LIST_MODELS`
|
||||
List known models which match the (partial) MODEL name
|
||||
Environment variable: `AIDER_LIST_MODELS`
|
||||
Aliases:
|
||||
- `--list-models MODEL`
|
||||
- `--models MODEL`
|
||||
|
||||
### `--openai-api-base OPENAI_API_BASE`
|
||||
Specify the api base url
|
||||
Environment variable: `OPENAI_API_BASE`
|
||||
Specify the api base url
|
||||
Environment variable: `OPENAI_API_BASE`
|
||||
|
||||
### `--openai-api-type OPENAI_API_TYPE`
|
||||
Specify the api_type
|
||||
Environment variable: `OPENAI_API_TYPE`
|
||||
Specify the api_type
|
||||
Environment variable: `OPENAI_API_TYPE`
|
||||
|
||||
### `--openai-api-version OPENAI_API_VERSION`
|
||||
Specify the api_version
|
||||
Environment variable: `OPENAI_API_VERSION`
|
||||
Specify the api_version
|
||||
Environment variable: `OPENAI_API_VERSION`
|
||||
|
||||
### `--openai-api-deployment-id OPENAI_API_DEPLOYMENT_ID`
|
||||
Specify the deployment_id
|
||||
Environment variable: `OPENAI_API_DEPLOYMENT_ID`
|
||||
Specify the deployment_id
|
||||
Environment variable: `OPENAI_API_DEPLOYMENT_ID`
|
||||
|
||||
### `--openai-organization-id OPENAI_ORGANIZATION_ID`
|
||||
Specify the OpenAI organization ID
|
||||
Environment variable: `OPENAI_ORGANIZATION_ID`
|
||||
Specify the OpenAI organization ID
|
||||
Environment variable: `OPENAI_ORGANIZATION_ID`
|
||||
|
||||
### `--model-settings-file MODEL_SETTINGS_FILE`
|
||||
Specify a file with aider model settings for unknown models
|
||||
Default: .aider.model.settings.yml
|
||||
Environment variable: `AIDER_MODEL_SETTINGS_FILE`
|
||||
Specify a file with aider model settings for unknown models
|
||||
Default: .aider.model.settings.yml
|
||||
Environment variable: `AIDER_MODEL_SETTINGS_FILE`
|
||||
|
||||
### `--model-metadata-file MODEL_METADATA_FILE`
|
||||
Specify a file with context window and costs for unknown models
|
||||
Default: .aider.model.metadata.json
|
||||
Environment variable: `AIDER_MODEL_METADATA_FILE`
|
||||
Specify a file with context window and costs for unknown models
|
||||
Default: .aider.model.metadata.json
|
||||
Environment variable: `AIDER_MODEL_METADATA_FILE`
|
||||
|
||||
### `--alias ALIAS:MODEL`
|
||||
Add a model alias (can be used multiple times)
|
||||
Environment variable: `AIDER_ALIAS`
|
||||
Add a model alias (can be used multiple times)
|
||||
Environment variable: `AIDER_ALIAS`
|
||||
|
||||
### `--verify-ssl`
|
||||
Verify the SSL cert when connecting to models (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_VERIFY_SSL`
|
||||
Verify the SSL cert when connecting to models (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_VERIFY_SSL`
|
||||
Aliases:
|
||||
- `--verify-ssl`
|
||||
- `--no-verify-ssl`
|
||||
|
||||
### `--edit-format EDIT_FORMAT`
|
||||
Specify what edit format the LLM should use (default depends on model)
|
||||
Environment variable: `AIDER_EDIT_FORMAT`
|
||||
Specify what edit format the LLM should use (default depends on model)
|
||||
Environment variable: `AIDER_EDIT_FORMAT`
|
||||
Aliases:
|
||||
- `--edit-format EDIT_FORMAT`
|
||||
- `--chat-mode EDIT_FORMAT`
|
||||
|
||||
### `--architect`
|
||||
Use architect edit format for the main chat
|
||||
Environment variable: `AIDER_ARCHITECT`
|
||||
Use architect edit format for the main chat
|
||||
Environment variable: `AIDER_ARCHITECT`
|
||||
|
||||
### `--weak-model WEAK_MODEL`
|
||||
Specify the model to use for commit messages and chat history summarization (default depends on --model)
|
||||
Environment variable: `AIDER_WEAK_MODEL`
|
||||
Specify the model to use for commit messages and chat history summarization (default depends on --model)
|
||||
Environment variable: `AIDER_WEAK_MODEL`
|
||||
|
||||
### `--editor-model EDITOR_MODEL`
|
||||
Specify the model to use for editor tasks (default depends on --model)
|
||||
Environment variable: `AIDER_EDITOR_MODEL`
|
||||
Specify the model to use for editor tasks (default depends on --model)
|
||||
Environment variable: `AIDER_EDITOR_MODEL`
|
||||
|
||||
### `--editor-edit-format EDITOR_EDIT_FORMAT`
|
||||
Specify the edit format for the editor model (default: depends on editor model)
|
||||
Environment variable: `AIDER_EDITOR_EDIT_FORMAT`
|
||||
Specify the edit format for the editor model (default: depends on editor model)
|
||||
Environment variable: `AIDER_EDITOR_EDIT_FORMAT`
|
||||
|
||||
### `--show-model-warnings`
|
||||
Only work with models that have meta-data available (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_SHOW_MODEL_WARNINGS`
|
||||
Only work with models that have meta-data available (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_SHOW_MODEL_WARNINGS`
|
||||
Aliases:
|
||||
- `--show-model-warnings`
|
||||
- `--no-show-model-warnings`
|
||||
|
||||
### `--max-chat-history-tokens VALUE`
|
||||
Soft limit on tokens for chat history, after which summarization begins. If unspecified, defaults to the model's max_chat_history_tokens.
|
||||
Environment variable: `AIDER_MAX_CHAT_HISTORY_TOKENS`
|
||||
Soft limit on tokens for chat history, after which summarization begins. If unspecified, defaults to the model's max_chat_history_tokens.
|
||||
Environment variable: `AIDER_MAX_CHAT_HISTORY_TOKENS`
|
||||
|
||||
### `--env-file ENV_FILE`
|
||||
Specify the .env file to load (default: .env in git root)
|
||||
Default: .env
|
||||
Environment variable: `AIDER_ENV_FILE`
|
||||
Specify the .env file to load (default: .env in git root)
|
||||
Default: .env
|
||||
Environment variable: `AIDER_ENV_FILE`
|
||||
|
||||
## Cache Settings:
|
||||
|
||||
### `--cache-prompts`
|
||||
Enable caching of prompts (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_CACHE_PROMPTS`
|
||||
Enable caching of prompts (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_CACHE_PROMPTS`
|
||||
Aliases:
|
||||
- `--cache-prompts`
|
||||
- `--no-cache-prompts`
|
||||
|
||||
### `--cache-keepalive-pings VALUE`
|
||||
Number of times to ping at 5min intervals to keep prompt cache warm (default: 0)
|
||||
Default: 0
|
||||
Environment variable: `AIDER_CACHE_KEEPALIVE_PINGS`
|
||||
Number of times to ping at 5min intervals to keep prompt cache warm (default: 0)
|
||||
Default: 0
|
||||
Environment variable: `AIDER_CACHE_KEEPALIVE_PINGS`
|
||||
|
||||
## Repomap Settings:
|
||||
|
||||
### `--map-tokens VALUE`
|
||||
Suggested number of tokens to use for repo map, use 0 to disable (default: 1024)
|
||||
Environment variable: `AIDER_MAP_TOKENS`
|
||||
Suggested number of tokens to use for repo map, use 0 to disable (default: 1024)
|
||||
Environment variable: `AIDER_MAP_TOKENS`
|
||||
|
||||
### `--map-refresh VALUE`
|
||||
Control how often the repo map is refreshed. Options: auto, always, files, manual (default: auto)
|
||||
Default: auto
|
||||
Environment variable: `AIDER_MAP_REFRESH`
|
||||
Control how often the repo map is refreshed. Options: auto, always, files, manual (default: auto)
|
||||
Default: auto
|
||||
Environment variable: `AIDER_MAP_REFRESH`
|
||||
|
||||
### `--map-multiplier-no-files VALUE`
|
||||
Multiplier for map tokens when no files are specified (default: 2)
|
||||
Default: 2
|
||||
Environment variable: `AIDER_MAP_MULTIPLIER_NO_FILES`
|
||||
Multiplier for map tokens when no files are specified (default: 2)
|
||||
Default: 2
|
||||
Environment variable: `AIDER_MAP_MULTIPLIER_NO_FILES`
|
||||
|
||||
## History Files:
|
||||
|
||||
### `--input-history-file INPUT_HISTORY_FILE`
|
||||
Specify the chat input history file (default: .aider.input.history)
|
||||
Default: .aider.input.history
|
||||
Environment variable: `AIDER_INPUT_HISTORY_FILE`
|
||||
Specify the chat input history file (default: .aider.input.history)
|
||||
Default: .aider.input.history
|
||||
Environment variable: `AIDER_INPUT_HISTORY_FILE`
|
||||
|
||||
### `--chat-history-file CHAT_HISTORY_FILE`
|
||||
Specify the chat history file (default: .aider.chat.history.md)
|
||||
Default: .aider.chat.history.md
|
||||
Environment variable: `AIDER_CHAT_HISTORY_FILE`
|
||||
Specify the chat history file (default: .aider.chat.history.md)
|
||||
Default: .aider.chat.history.md
|
||||
Environment variable: `AIDER_CHAT_HISTORY_FILE`
|
||||
|
||||
### `--restore-chat-history`
|
||||
Restore the previous chat history messages (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_RESTORE_CHAT_HISTORY`
|
||||
Restore the previous chat history messages (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_RESTORE_CHAT_HISTORY`
|
||||
Aliases:
|
||||
- `--restore-chat-history`
|
||||
- `--no-restore-chat-history`
|
||||
|
||||
### `--llm-history-file LLM_HISTORY_FILE`
|
||||
Log the conversation with the LLM to this file (for example, .aider.llm.history)
|
||||
Environment variable: `AIDER_LLM_HISTORY_FILE`
|
||||
Log the conversation with the LLM to this file (for example, .aider.llm.history)
|
||||
Environment variable: `AIDER_LLM_HISTORY_FILE`
|
||||
|
||||
## Output Settings:
|
||||
|
||||
### `--dark-mode`
|
||||
Use colors suitable for a dark terminal background (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_DARK_MODE`
|
||||
Use colors suitable for a dark terminal background (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_DARK_MODE`
|
||||
|
||||
### `--light-mode`
|
||||
Use colors suitable for a light terminal background (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_LIGHT_MODE`
|
||||
Use colors suitable for a light terminal background (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_LIGHT_MODE`
|
||||
|
||||
### `--pretty`
|
||||
Enable/disable pretty, colorized output (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_PRETTY`
|
||||
Enable/disable pretty, colorized output (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_PRETTY`
|
||||
Aliases:
|
||||
- `--pretty`
|
||||
- `--no-pretty`
|
||||
|
||||
### `--stream`
|
||||
Enable/disable streaming responses (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_STREAM`
|
||||
Enable/disable streaming responses (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_STREAM`
|
||||
Aliases:
|
||||
- `--stream`
|
||||
- `--no-stream`
|
||||
|
||||
### `--user-input-color VALUE`
|
||||
Set the color for user input (default: #00cc00)
|
||||
Default: #00cc00
|
||||
Environment variable: `AIDER_USER_INPUT_COLOR`
|
||||
Set the color for user input (default: #00cc00)
|
||||
Default: #00cc00
|
||||
Environment variable: `AIDER_USER_INPUT_COLOR`
|
||||
|
||||
### `--tool-output-color VALUE`
|
||||
Set the color for tool output (default: None)
|
||||
Environment variable: `AIDER_TOOL_OUTPUT_COLOR`
|
||||
Set the color for tool output (default: None)
|
||||
Environment variable: `AIDER_TOOL_OUTPUT_COLOR`
|
||||
|
||||
### `--tool-error-color VALUE`
|
||||
Set the color for tool error messages (default: #FF2222)
|
||||
Default: #FF2222
|
||||
Environment variable: `AIDER_TOOL_ERROR_COLOR`
|
||||
Set the color for tool error messages (default: #FF2222)
|
||||
Default: #FF2222
|
||||
Environment variable: `AIDER_TOOL_ERROR_COLOR`
|
||||
|
||||
### `--tool-warning-color VALUE`
|
||||
Set the color for tool warning messages (default: #FFA500)
|
||||
Default: #FFA500
|
||||
Environment variable: `AIDER_TOOL_WARNING_COLOR`
|
||||
Set the color for tool warning messages (default: #FFA500)
|
||||
Default: #FFA500
|
||||
Environment variable: `AIDER_TOOL_WARNING_COLOR`
|
||||
|
||||
### `--assistant-output-color VALUE`
|
||||
Set the color for assistant output (default: #0088ff)
|
||||
Default: #0088ff
|
||||
Environment variable: `AIDER_ASSISTANT_OUTPUT_COLOR`
|
||||
Set the color for assistant output (default: #0088ff)
|
||||
Default: #0088ff
|
||||
Environment variable: `AIDER_ASSISTANT_OUTPUT_COLOR`
|
||||
|
||||
### `--completion-menu-color COLOR`
|
||||
Set the color for the completion menu (default: terminal's default text color)
|
||||
Environment variable: `AIDER_COMPLETION_MENU_COLOR`
|
||||
Set the color for the completion menu (default: terminal's default text color)
|
||||
Environment variable: `AIDER_COMPLETION_MENU_COLOR`
|
||||
|
||||
### `--completion-menu-bg-color COLOR`
|
||||
Set the background color for the completion menu (default: terminal's default background color)
|
||||
Environment variable: `AIDER_COMPLETION_MENU_BG_COLOR`
|
||||
Set the background color for the completion menu (default: terminal's default background color)
|
||||
Environment variable: `AIDER_COMPLETION_MENU_BG_COLOR`
|
||||
|
||||
### `--completion-menu-current-color COLOR`
|
||||
Set the color for the current item in the completion menu (default: terminal's default background color)
|
||||
Environment variable: `AIDER_COMPLETION_MENU_CURRENT_COLOR`
|
||||
Set the color for the current item in the completion menu (default: terminal's default background color)
|
||||
Environment variable: `AIDER_COMPLETION_MENU_CURRENT_COLOR`
|
||||
|
||||
### `--completion-menu-current-bg-color COLOR`
|
||||
Set the background color for the current item in the completion menu (default: terminal's default text color)
|
||||
Environment variable: `AIDER_COMPLETION_MENU_CURRENT_BG_COLOR`
|
||||
Set the background color for the current item in the completion menu (default: terminal's default text color)
|
||||
Environment variable: `AIDER_COMPLETION_MENU_CURRENT_BG_COLOR`
|
||||
|
||||
### `--code-theme VALUE`
|
||||
Set the markdown code theme (default: default, other options include monokai, solarized-dark, solarized-light)
|
||||
Default: default
|
||||
Environment variable: `AIDER_CODE_THEME`
|
||||
Set the markdown code theme (default: default, other options include monokai, solarized-dark, solarized-light)
|
||||
Default: default
|
||||
Environment variable: `AIDER_CODE_THEME`
|
||||
|
||||
### `--show-diffs`
|
||||
Show diffs when committing changes (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_SHOW_DIFFS`
|
||||
Show diffs when committing changes (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_SHOW_DIFFS`
|
||||
|
||||
## Git Settings:
|
||||
|
||||
### `--git`
|
||||
Enable/disable looking for a git repo (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_GIT`
|
||||
Enable/disable looking for a git repo (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_GIT`
|
||||
Aliases:
|
||||
- `--git`
|
||||
- `--no-git`
|
||||
|
||||
### `--gitignore`
|
||||
Enable/disable adding .aider* to .gitignore (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_GITIGNORE`
|
||||
Enable/disable adding .aider* to .gitignore (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_GITIGNORE`
|
||||
Aliases:
|
||||
- `--gitignore`
|
||||
- `--no-gitignore`
|
||||
|
||||
### `--aiderignore AIDERIGNORE`
|
||||
Specify the aider ignore file (default: .aiderignore in git root)
|
||||
Default: .aiderignore
|
||||
Environment variable: `AIDER_AIDERIGNORE`
|
||||
Specify the aider ignore file (default: .aiderignore in git root)
|
||||
Default: .aiderignore
|
||||
Environment variable: `AIDER_AIDERIGNORE`
|
||||
|
||||
### `--subtree-only`
|
||||
Only consider files in the current subtree of the git repository
|
||||
Default: False
|
||||
Environment variable: `AIDER_SUBTREE_ONLY`
|
||||
Only consider files in the current subtree of the git repository
|
||||
Default: False
|
||||
Environment variable: `AIDER_SUBTREE_ONLY`
|
||||
|
||||
### `--auto-commits`
|
||||
Enable/disable auto commit of LLM changes (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_AUTO_COMMITS`
|
||||
Enable/disable auto commit of LLM changes (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_AUTO_COMMITS`
|
||||
Aliases:
|
||||
- `--auto-commits`
|
||||
- `--no-auto-commits`
|
||||
|
||||
### `--dirty-commits`
|
||||
Enable/disable commits when repo is found dirty (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_DIRTY_COMMITS`
|
||||
Enable/disable commits when repo is found dirty (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_DIRTY_COMMITS`
|
||||
Aliases:
|
||||
- `--dirty-commits`
|
||||
- `--no-dirty-commits`
|
||||
|
||||
### `--attribute-author`
|
||||
Attribute aider code changes in the git author name (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_ATTRIBUTE_AUTHOR`
|
||||
Attribute aider code changes in the git author name (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_ATTRIBUTE_AUTHOR`
|
||||
Aliases:
|
||||
- `--attribute-author`
|
||||
- `--no-attribute-author`
|
||||
|
||||
### `--attribute-committer`
|
||||
Attribute aider commits in the git committer name (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_ATTRIBUTE_COMMITTER`
|
||||
Attribute aider commits in the git committer name (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_ATTRIBUTE_COMMITTER`
|
||||
Aliases:
|
||||
- `--attribute-committer`
|
||||
- `--no-attribute-committer`
|
||||
|
||||
### `--attribute-commit-message-author`
|
||||
Prefix commit messages with 'aider: ' if aider authored the changes (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_ATTRIBUTE_COMMIT_MESSAGE_AUTHOR`
|
||||
Prefix commit messages with 'aider: ' if aider authored the changes (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_ATTRIBUTE_COMMIT_MESSAGE_AUTHOR`
|
||||
Aliases:
|
||||
- `--attribute-commit-message-author`
|
||||
- `--no-attribute-commit-message-author`
|
||||
|
||||
### `--attribute-commit-message-committer`
|
||||
Prefix all commit messages with 'aider: ' (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_ATTRIBUTE_COMMIT_MESSAGE_COMMITTER`
|
||||
Prefix all commit messages with 'aider: ' (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_ATTRIBUTE_COMMIT_MESSAGE_COMMITTER`
|
||||
Aliases:
|
||||
- `--attribute-commit-message-committer`
|
||||
- `--no-attribute-commit-message-committer`
|
||||
|
||||
### `--commit`
|
||||
Commit all pending changes with a suitable commit message, then exit
|
||||
Default: False
|
||||
Environment variable: `AIDER_COMMIT`
|
||||
Commit all pending changes with a suitable commit message, then exit
|
||||
Default: False
|
||||
Environment variable: `AIDER_COMMIT`
|
||||
|
||||
### `--commit-prompt PROMPT`
|
||||
Specify a custom prompt for generating commit messages
|
||||
Environment variable: `AIDER_COMMIT_PROMPT`
|
||||
Specify a custom prompt for generating commit messages
|
||||
Environment variable: `AIDER_COMMIT_PROMPT`
|
||||
|
||||
### `--dry-run`
|
||||
Perform a dry run without modifying files (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_DRY_RUN`
|
||||
Perform a dry run without modifying files (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_DRY_RUN`
|
||||
Aliases:
|
||||
- `--dry-run`
|
||||
- `--no-dry-run`
|
||||
|
||||
### `--skip-sanity-check-repo`
|
||||
Skip the sanity check for the git repository (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_SKIP_SANITY_CHECK_REPO`
|
||||
Skip the sanity check for the git repository (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_SKIP_SANITY_CHECK_REPO`
|
||||
|
||||
## Fixing and committing:
|
||||
|
||||
### `--lint`
|
||||
Lint and fix provided files, or dirty files if none provided
|
||||
Default: False
|
||||
Environment variable: `AIDER_LINT`
|
||||
Lint and fix provided files, or dirty files if none provided
|
||||
Default: False
|
||||
Environment variable: `AIDER_LINT`
|
||||
|
||||
### `--lint-cmd`
|
||||
Specify lint commands to run for different languages, eg: "python: flake8 --select=..." (can be used multiple times)
|
||||
Default: []
|
||||
Environment variable: `AIDER_LINT_CMD`
|
||||
Specify lint commands to run for different languages, eg: "python: flake8 --select=..." (can be used multiple times)
|
||||
Default: []
|
||||
Environment variable: `AIDER_LINT_CMD`
|
||||
|
||||
### `--auto-lint`
|
||||
Enable/disable automatic linting after changes (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_AUTO_LINT`
|
||||
Enable/disable automatic linting after changes (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_AUTO_LINT`
|
||||
Aliases:
|
||||
- `--auto-lint`
|
||||
- `--no-auto-lint`
|
||||
|
||||
### `--test-cmd VALUE`
|
||||
Specify command to run tests
|
||||
Default: []
|
||||
Environment variable: `AIDER_TEST_CMD`
|
||||
Specify command to run tests
|
||||
Default: []
|
||||
Environment variable: `AIDER_TEST_CMD`
|
||||
|
||||
### `--auto-test`
|
||||
Enable/disable automatic testing after changes (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_AUTO_TEST`
|
||||
Enable/disable automatic testing after changes (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_AUTO_TEST`
|
||||
Aliases:
|
||||
- `--auto-test`
|
||||
- `--no-auto-test`
|
||||
|
||||
### `--test`
|
||||
Run tests and fix problems found
|
||||
Default: False
|
||||
Environment variable: `AIDER_TEST`
|
||||
Run tests and fix problems found
|
||||
Default: False
|
||||
Environment variable: `AIDER_TEST`
|
||||
|
||||
## Analytics:
|
||||
|
||||
### `--analytics`
|
||||
Enable/disable analytics for current session (default: random)
|
||||
Environment variable: `AIDER_ANALYTICS`
|
||||
Enable/disable analytics for current session (default: random)
|
||||
Environment variable: `AIDER_ANALYTICS`
|
||||
Aliases:
|
||||
- `--analytics`
|
||||
- `--no-analytics`
|
||||
|
||||
### `--analytics-log ANALYTICS_LOG_FILE`
|
||||
Specify a file to log analytics events
|
||||
Environment variable: `AIDER_ANALYTICS_LOG`
|
||||
Specify a file to log analytics events
|
||||
Environment variable: `AIDER_ANALYTICS_LOG`
|
||||
|
||||
### `--analytics-disable`
|
||||
Permanently disable analytics
|
||||
Default: False
|
||||
Environment variable: `AIDER_ANALYTICS_DISABLE`
|
||||
Permanently disable analytics
|
||||
Default: False
|
||||
Environment variable: `AIDER_ANALYTICS_DISABLE`
|
||||
|
||||
## Other Settings:
|
||||
|
||||
### `--file FILE`
|
||||
specify a file to edit (can be used multiple times)
|
||||
Environment variable: `AIDER_FILE`
|
||||
specify a file to edit (can be used multiple times)
|
||||
Environment variable: `AIDER_FILE`
|
||||
|
||||
### `--read FILE`
|
||||
specify a read-only file (can be used multiple times)
|
||||
Environment variable: `AIDER_READ`
|
||||
specify a read-only file (can be used multiple times)
|
||||
Environment variable: `AIDER_READ`
|
||||
|
||||
### `--vim`
|
||||
Use VI editing mode in the terminal (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_VIM`
|
||||
Use VI editing mode in the terminal (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_VIM`
|
||||
|
||||
### `--chat-language CHAT_LANGUAGE`
|
||||
Specify the language to use in the chat (default: None, uses system settings)
|
||||
Environment variable: `AIDER_CHAT_LANGUAGE`
|
||||
Specify the language to use in the chat (default: None, uses system settings)
|
||||
Environment variable: `AIDER_CHAT_LANGUAGE`
|
||||
|
||||
### `--version`
|
||||
Show the version number and exit
|
||||
Show the version number and exit
|
||||
|
||||
### `--just-check-update`
|
||||
Check for updates and return status in the exit code
|
||||
Default: False
|
||||
Environment variable: `AIDER_JUST_CHECK_UPDATE`
|
||||
Check for updates and return status in the exit code
|
||||
Default: False
|
||||
Environment variable: `AIDER_JUST_CHECK_UPDATE`
|
||||
|
||||
### `--check-update`
|
||||
Check for new aider versions on launch
|
||||
Default: True
|
||||
Environment variable: `AIDER_CHECK_UPDATE`
|
||||
Check for new aider versions on launch
|
||||
Default: True
|
||||
Environment variable: `AIDER_CHECK_UPDATE`
|
||||
Aliases:
|
||||
- `--check-update`
|
||||
- `--no-check-update`
|
||||
|
||||
### `--show-release-notes`
|
||||
Show release notes on first run of new version (default: None, ask user)
|
||||
Environment variable: `AIDER_SHOW_RELEASE_NOTES`
|
||||
Show release notes on first run of new version (default: None, ask user)
|
||||
Environment variable: `AIDER_SHOW_RELEASE_NOTES`
|
||||
Aliases:
|
||||
- `--show-release-notes`
|
||||
- `--no-show-release-notes`
|
||||
|
||||
### `--install-main-branch`
|
||||
Install the latest version from the main branch
|
||||
Default: False
|
||||
Environment variable: `AIDER_INSTALL_MAIN_BRANCH`
|
||||
Install the latest version from the main branch
|
||||
Default: False
|
||||
Environment variable: `AIDER_INSTALL_MAIN_BRANCH`
|
||||
|
||||
### `--upgrade`
|
||||
Upgrade aider to the latest version from PyPI
|
||||
Default: False
|
||||
Environment variable: `AIDER_UPGRADE`
|
||||
Upgrade aider to the latest version from PyPI
|
||||
Default: False
|
||||
Environment variable: `AIDER_UPGRADE`
|
||||
Aliases:
|
||||
- `--upgrade`
|
||||
- `--update`
|
||||
|
||||
### `--apply FILE`
|
||||
Apply the changes from the given file instead of running the chat (debug)
|
||||
Environment variable: `AIDER_APPLY`
|
||||
Apply the changes from the given file instead of running the chat (debug)
|
||||
Environment variable: `AIDER_APPLY`
|
||||
|
||||
### `--apply-clipboard-edits`
|
||||
Apply clipboard contents as edits using the main model's editor format
|
||||
Default: False
|
||||
Environment variable: `AIDER_APPLY_CLIPBOARD_EDITS`
|
||||
Apply clipboard contents as edits using the main model's editor format
|
||||
Default: False
|
||||
Environment variable: `AIDER_APPLY_CLIPBOARD_EDITS`
|
||||
|
||||
### `--yes-always`
|
||||
Always say yes to every confirmation
|
||||
Environment variable: `AIDER_YES_ALWAYS`
|
||||
Always say yes to every confirmation
|
||||
Environment variable: `AIDER_YES_ALWAYS`
|
||||
|
||||
### `--verbose`
|
||||
Enable verbose output
|
||||
Default: False
|
||||
Environment variable: `AIDER_VERBOSE`
|
||||
Enable verbose output
|
||||
Default: False
|
||||
Environment variable: `AIDER_VERBOSE`
|
||||
Aliases:
|
||||
- `-v`
|
||||
- `--verbose`
|
||||
|
||||
### `--show-repo-map`
|
||||
Print the repo map and exit (debug)
|
||||
Default: False
|
||||
Environment variable: `AIDER_SHOW_REPO_MAP`
|
||||
Print the repo map and exit (debug)
|
||||
Default: False
|
||||
Environment variable: `AIDER_SHOW_REPO_MAP`
|
||||
|
||||
### `--show-prompts`
|
||||
Print the system prompts and exit (debug)
|
||||
Default: False
|
||||
Environment variable: `AIDER_SHOW_PROMPTS`
|
||||
Print the system prompts and exit (debug)
|
||||
Default: False
|
||||
Environment variable: `AIDER_SHOW_PROMPTS`
|
||||
|
||||
### `--exit`
|
||||
Do all startup activities then exit before accepting user input (debug)
|
||||
Default: False
|
||||
Environment variable: `AIDER_EXIT`
|
||||
Do all startup activities then exit before accepting user input (debug)
|
||||
Default: False
|
||||
Environment variable: `AIDER_EXIT`
|
||||
|
||||
### `--message COMMAND`
|
||||
Specify a single message to send the LLM, process reply then exit (disables chat mode)
|
||||
Environment variable: `AIDER_MESSAGE`
|
||||
Specify a single message to send the LLM, process reply then exit (disables chat mode)
|
||||
Environment variable: `AIDER_MESSAGE`
|
||||
Aliases:
|
||||
- `--message COMMAND`
|
||||
- `--msg COMMAND`
|
||||
- `-m COMMAND`
|
||||
|
||||
### `--message-file MESSAGE_FILE`
|
||||
Specify a file containing the message to send the LLM, process reply, then exit (disables chat mode)
|
||||
Environment variable: `AIDER_MESSAGE_FILE`
|
||||
Specify a file containing the message to send the LLM, process reply, then exit (disables chat mode)
|
||||
Environment variable: `AIDER_MESSAGE_FILE`
|
||||
Aliases:
|
||||
- `--message-file MESSAGE_FILE`
|
||||
- `-f MESSAGE_FILE`
|
||||
|
||||
### `--load LOAD_FILE`
|
||||
Load and execute /commands from a file on launch
|
||||
Environment variable: `AIDER_LOAD`
|
||||
Load and execute /commands from a file on launch
|
||||
Environment variable: `AIDER_LOAD`
|
||||
|
||||
### `--encoding VALUE`
|
||||
Specify the encoding for input and output (default: utf-8)
|
||||
Default: utf-8
|
||||
Environment variable: `AIDER_ENCODING`
|
||||
Specify the encoding for input and output (default: utf-8)
|
||||
Default: utf-8
|
||||
Environment variable: `AIDER_ENCODING`
|
||||
|
||||
### `--config CONFIG_FILE`
|
||||
Specify the config file (default: search for .aider.conf.yml in git root, cwd or home directory)
|
||||
Specify the config file (default: search for .aider.conf.yml in git root, cwd or home directory)
|
||||
Aliases:
|
||||
- `-c CONFIG_FILE`
|
||||
- `--config CONFIG_FILE`
|
||||
|
||||
### `--gui`
|
||||
Run aider in your browser (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_GUI`
|
||||
Run aider in your browser (default: False)
|
||||
Default: False
|
||||
Environment variable: `AIDER_GUI`
|
||||
Aliases:
|
||||
- `--gui`
|
||||
- `--no-gui`
|
||||
|
@ -663,42 +663,47 @@ Aliases:
|
|||
- `--no-browser`
|
||||
|
||||
### `--suggest-shell-commands`
|
||||
Enable/disable suggesting shell commands (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_SUGGEST_SHELL_COMMANDS`
|
||||
Enable/disable suggesting shell commands (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_SUGGEST_SHELL_COMMANDS`
|
||||
Aliases:
|
||||
- `--suggest-shell-commands`
|
||||
- `--no-suggest-shell-commands`
|
||||
|
||||
### `--fancy-input`
|
||||
Enable/disable fancy input with history and completion (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_FANCY_INPUT`
|
||||
Enable/disable fancy input with history and completion (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_FANCY_INPUT`
|
||||
Aliases:
|
||||
- `--fancy-input`
|
||||
- `--no-fancy-input`
|
||||
|
||||
### `--detect-urls`
|
||||
Enable/disable detection and offering to add URLs to chat (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_DETECT_URLS`
|
||||
Enable/disable detection and offering to add URLs to chat (default: True)
|
||||
Default: True
|
||||
Environment variable: `AIDER_DETECT_URLS`
|
||||
Aliases:
|
||||
- `--detect-urls`
|
||||
- `--no-detect-urls`
|
||||
|
||||
### `--editor VALUE`
|
||||
Specify which editor to use for the /editor command
|
||||
Environment variable: `AIDER_EDITOR`
|
||||
Specify which editor to use for the /editor command
|
||||
Environment variable: `AIDER_EDITOR`
|
||||
|
||||
## Voice Settings:
|
||||
|
||||
### `--voice-format VOICE_FORMAT`
|
||||
Audio format for voice recording (default: wav). webm and mp3 require ffmpeg
|
||||
Default: wav
|
||||
Environment variable: `AIDER_VOICE_FORMAT`
|
||||
Audio format for voice recording (default: wav). webm and mp3 require ffmpeg
|
||||
Default: wav
|
||||
Environment variable: `AIDER_VOICE_FORMAT`
|
||||
|
||||
### `--voice-language VOICE_LANGUAGE`
|
||||
Specify the language for voice using ISO 639-1 code (default: auto)
|
||||
Default: en
|
||||
Environment variable: `AIDER_VOICE_LANGUAGE`
|
||||
Specify the language for voice using ISO 639-1 code (default: auto)
|
||||
Default: en
|
||||
Environment variable: `AIDER_VOICE_LANGUAGE`
|
||||
|
||||
### `--voice-input-device VOICE_INPUT_DEVICE`
|
||||
Specify the voice input device name used for recording (default: system default)
|
||||
Default: system default
|
||||
Environment variable: `VOICE_INPUT_DEVICE`
|
||||
<!--[[[end]]]-->
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue