diff --git a/aider/args.py b/aider/args.py index bbf101dca..bfd8280cb 100644 --- a/aider/args.py +++ b/aider/args.py @@ -28,7 +28,7 @@ def get_parser(default_config_files, git_root): config_file_parser_class=configargparse.YAMLConfigFileParser, auto_env_var_prefix="AIDER_", ) - group = parser.add_argument_group("Main") + group = parser.add_argument_group("Main model") group.add_argument( "files", metavar="FILE", nargs="*", help="files to edit with an LLM (optional)" ) @@ -135,7 +135,7 @@ def get_parser(default_config_files, git_root): group = parser.add_argument_group("API Keys and settings") group.add_argument( "--openai-api-key", - help="(deprecated, use --set-env OPENAI_API_KEY=)", + help="Specify the OpenAI API key", ) group.add_argument( "--anthropic-api-key", @@ -143,7 +143,7 @@ def get_parser(default_config_files, git_root): ) group.add_argument( "--openai-api-base", - help="(deprecated, use --set-env OPENAI_API_BASE=)", + help="Specify the api base url", ) group.add_argument( "--openai-api-type", @@ -165,17 +165,20 @@ def get_parser(default_config_files, git_root): "--set-env", action="append", metavar="ENV_VAR_NAME=value", - help="Set an environment variable (can be used multiple times)", + help="Set an environment variable (to control API settings, can be used multiple times)", default=[], ) group.add_argument( "--api-key", action="append", metavar="PROVIDER=KEY", - help="Set an API key for a provider (eg: --api-key anthropic=sk-123)", + help=( + "Set an API key for a provider (eg: --api-key provider= sets" + " PROVIDER_API_KEY=)" + ), default=[], ) - group = parser.add_argument_group("Model Settings") + group = parser.add_argument_group("Model settings") group.add_argument( "--list-models", "--models", @@ -262,17 +265,9 @@ def get_parser(default_config_files, git_root): " If unspecified, defaults to the model's max_chat_history_tokens." ), ) - # This is a duplicate of the argument in the preparser and is a no-op by this time of - # argument parsing, but it's here so that the help is displayed as expected. - group.add_argument( - "--env-file", - metavar="ENV_FILE", - default=default_env_file(git_root), - help="Specify the .env file to load (default: .env in git root)", - ) ########## - group = parser.add_argument_group("Cache Settings") + group = parser.add_argument_group("Cache settings") group.add_argument( "--cache-prompts", action=argparse.BooleanOptionalAction, @@ -287,7 +282,7 @@ def get_parser(default_config_files, git_root): ) ########## - group = parser.add_argument_group("Repomap Settings") + group = parser.add_argument_group("Repomap settings") group.add_argument( "--map-tokens", type=int, @@ -344,7 +339,7 @@ def get_parser(default_config_files, git_root): ) ########## - group = parser.add_argument_group("Output Settings") + group = parser.add_argument_group("Output settings") group.add_argument( "--dark-mode", action="store_true", @@ -443,7 +438,7 @@ def get_parser(default_config_files, git_root): ) ########## - group = parser.add_argument_group("Git Settings") + group = parser.add_argument_group("Git settings") group.add_argument( "--git", action=argparse.BooleanOptionalAction, @@ -536,12 +531,6 @@ def get_parser(default_config_files, git_root): default=False, help="Enable/disable watching files for ai coding comments (default: False)", ) - group.add_argument( - "--copy-paste", - action=argparse.BooleanOptionalAction, - default=False, - help="Enable automatic copy/paste of chat between aider and web UI (default: False)", - ) group = parser.add_argument_group("Fixing and committing") group.add_argument( "--lint", @@ -602,37 +591,8 @@ def get_parser(default_config_files, git_root): default=False, ) - group = parser.add_argument_group("Other Settings") - group.add_argument( - "--file", - action="append", - metavar="FILE", - help="specify a file to edit (can be used multiple times)", - ) - group.add_argument( - "--read", - action="append", - metavar="FILE", - help="specify a read-only file (can be used multiple times)", - ) - group.add_argument( - "--vim", - action="store_true", - help="Use VI editing mode in the terminal (default: False)", - default=False, - ) - group.add_argument( - "--chat-language", - metavar="CHAT_LANGUAGE", - default=None, - help="Specify the language to use in the chat (default: None, uses system settings)", - ) - group.add_argument( - "--version", - action="version", - version=f"%(prog)s {__version__}", - help="Show the version number and exit", - ) + ######### + group = parser.add_argument_group("Upgrading") group.add_argument( "--just-check-update", action="store_true", @@ -665,47 +625,14 @@ def get_parser(default_config_files, git_root): default=False, ) group.add_argument( - "--apply", - metavar="FILE", - help="Apply the changes from the given file instead of running the chat (debug)", - ) - group.add_argument( - "--apply-clipboard-edits", - action="store_true", - help="Apply clipboard contents as edits using the main model's editor format", - default=False, - ) - group.add_argument( - "--yes-always", - action="store_true", - help="Always say yes to every confirmation", - default=None, - ) - group.add_argument( - "-v", - "--verbose", - action="store_true", - help="Enable verbose output", - default=False, - ) - group.add_argument( - "--show-repo-map", - action="store_true", - help="Print the repo map and exit (debug)", - default=False, - ) - group.add_argument( - "--show-prompts", - action="store_true", - help="Print the system prompts and exit (debug)", - default=False, - ) - group.add_argument( - "--exit", - action="store_true", - help="Do all startup activities then exit before accepting user input (debug)", - default=False, + "--version", + action="version", + version=f"%(prog)s {__version__}", + help="Show the version number and exit", ) + + ########## + group = parser.add_argument_group("Modes") group.add_argument( "--message", "--msg", @@ -724,6 +651,110 @@ def get_parser(default_config_files, git_root): " (disables chat mode)" ), ) + group.add_argument( + "--gui", + "--browser", + action=argparse.BooleanOptionalAction, + help="Run aider in your browser (default: False)", + default=False, + ) + group.add_argument( + "--copy-paste", + action=argparse.BooleanOptionalAction, + default=False, + help="Enable automatic copy/paste of chat between aider and web UI (default: False)", + ) + group.add_argument( + "--apply", + metavar="FILE", + help="Apply the changes from the given file instead of running the chat (debug)", + ) + group.add_argument( + "--apply-clipboard-edits", + action="store_true", + help="Apply clipboard contents as edits using the main model's editor format", + default=False, + ) + group.add_argument( + "--exit", + action="store_true", + help="Do all startup activities then exit before accepting user input (debug)", + default=False, + ) + group.add_argument( + "--show-repo-map", + action="store_true", + help="Print the repo map and exit (debug)", + default=False, + ) + group.add_argument( + "--show-prompts", + action="store_true", + help="Print the system prompts and exit (debug)", + default=False, + ) + + ########## + group = parser.add_argument_group("Voice settings") + group.add_argument( + "--voice-format", + metavar="VOICE_FORMAT", + default="wav", + choices=["wav", "mp3", "webm"], + help="Audio format for voice recording (default: wav). webm and mp3 require ffmpeg", + ) + group.add_argument( + "--voice-language", + metavar="VOICE_LANGUAGE", + 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", + ) + + ###### + group = parser.add_argument_group("Other settings") + group.add_argument( + "--file", + action="append", + metavar="FILE", + help="specify a file to edit (can be used multiple times)", + ) + group.add_argument( + "--read", + action="append", + metavar="FILE", + help="specify a read-only file (can be used multiple times)", + ) + group.add_argument( + "--vim", + action="store_true", + help="Use VI editing mode in the terminal (default: False)", + default=False, + ) + group.add_argument( + "--chat-language", + metavar="CHAT_LANGUAGE", + default=None, + help="Specify the language to use in the chat (default: None, uses system settings)", + ) + group.add_argument( + "--yes-always", + action="store_true", + help="Always say yes to every confirmation", + default=None, + ) + group.add_argument( + "-v", + "--verbose", + action="store_true", + help="Enable verbose output", + default=False, + ) group.add_argument( "--load", metavar="LOAD_FILE", @@ -744,12 +775,13 @@ def get_parser(default_config_files, git_root): " or home directory)" ), ) + # This is a duplicate of the argument in the preparser and is a no-op by this time of + # argument parsing, but it's here so that the help is displayed as expected. group.add_argument( - "--gui", - "--browser", - action=argparse.BooleanOptionalAction, - help="Run aider in your browser (default: False)", - default=False, + "--env-file", + metavar="ENV_FILE", + default=default_env_file(git_root), + help="Specify the .env file to load (default: .env in git root)", ) group.add_argument( "--suggest-shell-commands", @@ -774,28 +806,6 @@ def get_parser(default_config_files, git_root): help="Specify which editor to use for the /editor command", ) - ########## - group = parser.add_argument_group("Voice Settings") - group.add_argument( - "--voice-format", - metavar="VOICE_FORMAT", - default="wav", - choices=["wav", "mp3", "webm"], - help="Audio format for voice recording (default: wav). webm and mp3 require ffmpeg", - ) - group.add_argument( - "--voice-language", - metavar="VOICE_LANGUAGE", - 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 diff --git a/aider/main.py b/aider/main.py index c0c894ce7..d14b1b6cd 100644 --- a/aider/main.py +++ b/aider/main.py @@ -558,18 +558,15 @@ def main(argv=None, input=None, output=None, force_git_root=None, return_coder=F os.environ["OPENAI_API_BASE"] = args.openai_api_base if args.openai_api_version: io.tool_warning( - "--openai-api-version will be deprecated soon, use --set-env OPENAI_API_VERSION=" + "--openai-api-version is deprecated, use --set-env OPENAI_API_VERSION=" ) os.environ["OPENAI_API_VERSION"] = args.openai_api_version if args.openai_api_type: - io.tool_warning( - "--openai-api-type will be deprecated soon, use --set-env OPENAI_API_TYPE=" - ) + io.tool_warning("--openai-api-type is deprecated, use --set-env OPENAI_API_TYPE=") os.environ["OPENAI_API_TYPE"] = args.openai_api_type if args.openai_organization_id: io.tool_warning( - "--openai-organization-id will be deprecated soon, use --set-env" - " OPENAI_ORGANIZATION=" + "--openai-organization-id is deprecated, use --set-env OPENAI_ORGANIZATION=" ) os.environ["OPENAI_ORGANIZATION"] = args.openai_organization_id diff --git a/aider/website/_includes/special-keys.md b/aider/website/_includes/special-keys.md index dc7342916..7a1087da3 100644 --- a/aider/website/_includes/special-keys.md +++ b/aider/website/_includes/special-keys.md @@ -1,12 +1,44 @@ Aider has special support for providing OpenAI and Anthropic API keys -via -[command line switches](/docs/config/options.html) -and -[yaml config file](/docs/config/aider_conf.html). -*All other LLM providers* must -have their keys and settings -specified in environment variables. -This can be done in your shell, -or by using a -[.env file](/docs/config/dotenv.html). +via dedicated +[command line switches](/docs/config/options.html#api-keys-and-settings) +`--openai-api-key` and `--anthropic-api-key`. + +You can also set those API keys via special entries in the +[yaml config file](/docs/config/aider_conf.html), like this: + +```yaml +openai-api-key: +anthropic-api-key: +``` + +All other LLM providers can use one of the following methods to set their +keys: + +### API keys on the command line +Use `--api-key provider=` which has the effect of setting the environment variable `PROVIDER_API_KEY=`. So `--api-key gemini=xxx` would set `GEMINI_API_KEY=xxx`. + +### API keys in a .env file + +The [.env file](/docs/config/dotenv.html) +is a great place to set API keys and other provider API environment variables: + +```bash +GEMINI_API_KEY=foo +OPENROUTER_API_KEY=bar +DEEPSEEK_API_KEY=baz +``` + +### API keys in .aider.conf.yml + +Or you can set API keys in the +[`.aider.conf.yml` file](/docs/config/aider_conf.html) +via the `api-key` entry: + +``` +api-key: +- gemini=foo # Sets env var GEMINI_API_KEY=foo +- openrouter=bar # Sets env var OPENROUTER_API_KEY=bar +- deepseek=baz # Sets env var DEEPSEEK_API_KEY=baz +``` + diff --git a/aider/website/assets/sample-analytics.jsonl b/aider/website/assets/sample-analytics.jsonl index 2299f5baa..37454a57f 100644 --- a/aider/website/assets/sample-analytics.jsonl +++ b/aider/website/assets/sample-analytics.jsonl @@ -1,49 +1,3 @@ -{"event": "exit", "properties": {"reason": "Completed --message", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410683} -{"event": "exit", "properties": {"reason": "Control-C", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733410989} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733411054} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733411054} -{"event": "exit", "properties": {"reason": "Completed lint/test/commit", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733411057} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733411262} -{"event": "gui session", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733411262} -{"event": "exit", "properties": {"reason": "GUI session ended", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733411262} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413023} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413024} -{"event": "cli session", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413024} -{"event": "command_chat-mode", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413030} -{"event": "exit", "properties": {"reason": "Control-C", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413075} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413076} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413076} -{"event": "cli session", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413076} -{"event": "command_help", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413080} -{"event": "command_chat-mode", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413087} -{"event": "command_help", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413089} -{"event": "command_chat-mode", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413097} -{"event": "command_help", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413098} -{"event": "exit", "properties": {"reason": "Control-C", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413213} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413216} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413216} -{"event": "cli session", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413216} -{"event": "command_chat-mode", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413220} -{"event": "exit", "properties": {"reason": "Control-C", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413241} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413243} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413243} -{"event": "cli session", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413243} -{"event": "command_chat-mode", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413245} -{"event": "command_tokens", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413305} -{"event": "exit", "properties": {"reason": "Control-C", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413343} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413344} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413344} -{"event": "cli session", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413344} -{"event": "command_chat-mode", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413351} -{"event": "exit", "properties": {"reason": "Control-C", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413516} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413539} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413540} -{"event": "cli session", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413540} -{"event": "command_reset", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413552} -{"event": "command_chat-mode", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413555} -{"event": "exit", "properties": {"reason": "Control-C", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413602} -{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413604} -{"event": "repo", "properties": {"num_files": 402, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413604} {"event": "cli session", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413604} {"event": "command_chat-mode", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413607} {"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.66.1.dev+import"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733413666} @@ -998,3 +952,49 @@ {"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597693} {"event": "repo", "properties": {"num_files": 404, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597693} {"event": "command_run", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597694} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597709} +{"event": "repo", "properties": {"num_files": 404, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597709} +{"event": "exit", "properties": {"reason": "Completed lint/test/commit", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597718} +{"event": "command_drop", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597817} +{"event": "command_drop", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597821} +{"event": "command_ask", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597833} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597833} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "ask", "prompt_tokens": 12124, "completion_tokens": 194, "total_tokens": 12318, "cost": 0.039282000000000004, "total_cost": 0.828561, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597839} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597859} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 14457, "completion_tokens": 289, "total_tokens": 14746, "cost": 0.047706, "total_cost": 0.876267, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597867} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597892} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 9872, "completion_tokens": 291, "total_tokens": 10163, "cost": 0.033981, "total_cost": 0.9102480000000001, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597899} +{"event": "command_ask", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597973} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597973} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "ask", "prompt_tokens": 8133, "completion_tokens": 107, "total_tokens": 8240, "cost": 0.026004, "total_cost": 0.9362520000000001, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597978} +{"event": "command_ask", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597991} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597991} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "ask", "prompt_tokens": 8127, "completion_tokens": 70, "total_tokens": 8197, "cost": 0.025431, "total_cost": 0.9616830000000001, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733597995} +{"event": "command_add", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598011} +{"event": "command_ask", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598016} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598016} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "ask", "prompt_tokens": 9528, "completion_tokens": 216, "total_tokens": 9744, "cost": 0.031824000000000005, "total_cost": 0.993507, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598023} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598028} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 11880, "completion_tokens": 209, "total_tokens": 12089, "cost": 0.038775, "total_cost": 1.032282, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598034} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598036} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 11359, "completion_tokens": 79, "total_tokens": 11438, "cost": 0.035262, "total_cost": 1.0675439999999998, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598045} +{"event": "command_ask", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598116} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598116} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "ask", "prompt_tokens": 9454, "completion_tokens": 317, "total_tokens": 9771, "cost": 0.033117, "total_cost": 1.100661, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598126} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598294} +{"event": "repo", "properties": {"num_files": 404, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598294} +{"event": "command_run", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598294} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598301} +{"event": "repo", "properties": {"num_files": 404, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598301} +{"event": "command_run", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598301} +{"event": "launched", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598541} +{"event": "gui session", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598541} +{"event": "exit", "properties": {"reason": "GUI session ended", "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733598541} +{"event": "command_drop", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733599306} +{"event": "command_add", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733599309} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733599350} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 18301, "completion_tokens": 392, "total_tokens": 18693, "cost": 0.060783000000000004, "total_cost": 1.161444, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733599359} +{"event": "command_clear", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733599370} +{"event": "message_send_starting", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733599372} +{"event": "message_send", "properties": {"main_model": "claude-3-5-sonnet-20241022", "weak_model": "claude-3-5-sonnet-20241022", "editor_model": "claude-3-5-sonnet-20241022", "edit_format": "diff", "prompt_tokens": 16742, "completion_tokens": 381, "total_tokens": 17123, "cost": 0.055941, "total_cost": 1.217385, "python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733599381} +{"event": "command_drop", "properties": {"python_version": "3.12.6", "os_platform": "Darwin", "os_release": "23.6.0", "machine": "x86_64", "aider_version": "0.67.1.dev37+gf2d2ab51.d20241206"}, "user_id": "c42c4e6b-f054-44d7-ae1f-6726cc41da88", "time": 1733600357} diff --git a/aider/website/assets/sample.aider.conf.yml b/aider/website/assets/sample.aider.conf.yml index b53cb3298..355518338 100644 --- a/aider/website/assets/sample.aider.conf.yml +++ b/aider/website/assets/sample.aider.conf.yml @@ -14,14 +14,8 @@ ## show this help message and exit #help: xxx -####### -# Main: - -## Specify the OpenAI API key -#openai-api-key: xxx - -## Specify the Anthropic API key -#anthropic-api-key: xxx +############# +# Main model: ## Specify the model to use for the main chat #model: xxx @@ -59,27 +53,52 @@ ## Use o1-preview model for the main chat #o1-preview: false +######################## +# API Keys and settings: + +## Specify the OpenAI API key +#openai-api-key: xxx + +## Specify the Anthropic API key +#anthropic-api-key: xxx + +## Specify the api base url +#openai-api-base: xxx + +## (deprecated, use --set-env OPENAI_API_TYPE=) +#openai-api-type: xxx + +## (deprecated, use --set-env OPENAI_API_VERSION=) +#openai-api-version: xxx + +## (deprecated, use --set-env OPENAI_API_DEPLOYMENT_ID=) +#openai-api-deployment-id: xxx + +## (deprecated, use --set-env OPENAI_ORGANIZATION=) +#openai-organization-id: xxx + +## Set an environment variable (to control API settings, can be used multiple times) +#set-env: xxx +## Specify multiple values like this: +#set-env: +# - xxx +# - yyy +# - zzz + +## Set an API key for a provider (eg: --api-key provider= sets PROVIDER_API_KEY=) +#api-key: xxx +## Specify multiple values like this: +#api-key: +# - xxx +# - yyy +# - zzz + ################# # Model Settings: ## List known models which match the (partial) MODEL name #list-models: xxx -## Specify the api base url -#openai-api-base: xxx - -## Specify the api_type -#openai-api-type: xxx - -## Specify the api_version -#openai-api-version: xxx - -## Specify the deployment_id -#openai-api-deployment-id: xxx - -## Specify the OpenAI organization ID -#openai-organization-id: xxx - ## Specify a file with aider model settings for unknown models #model-settings-file: .aider.model.settings.yml @@ -121,9 +140,6 @@ ## Soft limit on tokens for chat history, after which summarization begins. If unspecified, defaults to the model's max_chat_history_tokens. #max-chat-history-tokens: xxx -## Specify the .env file to load (default: .env in git root) -#env-file: .env - ################# # Cache Settings: @@ -256,9 +272,6 @@ ## Enable/disable watching files for ai coding comments (default: False) #watch-files: false -## Enable automatic copy/paste of chat between aider and web UI (default: False) -#copy-paste: false - ######################## # Fixing and committing: @@ -297,6 +310,69 @@ ## Permanently disable analytics #analytics-disable: false +############ +# Upgrading: + +## Check for updates and return status in the exit code +#just-check-update: false + +## Check for new aider versions on launch +#check-update: true + +## Show release notes on first run of new version (default: None, ask user) +#show-release-notes: xxx + +## Install the latest version from the main branch +#install-main-branch: false + +## Upgrade aider to the latest version from PyPI +#upgrade: false + +## Show the version number and exit +#version: xxx + +######## +# Modes: + +## Specify a single message to send the LLM, process reply then exit (disables chat mode) +#message: xxx + +## Specify a file containing the message to send the LLM, process reply, then exit (disables chat mode) +#message-file: xxx + +## Run aider in your browser (default: False) +#gui: false + +## Enable automatic copy/paste of chat between aider and web UI (default: False) +#copy-paste: false + +## Apply the changes from the given file instead of running the chat (debug) +#apply: xxx + +## Apply clipboard contents as edits using the main model's editor format +#apply-clipboard-edits: false + +## Do all startup activities then exit before accepting user input (debug) +#exit: false + +## Print the repo map and exit (debug) +#show-repo-map: false + +## Print the system prompts and exit (debug) +#show-prompts: false + +################# +# Voice Settings: + +## Audio format for voice recording (default: wav). webm and mp3 require ffmpeg +#voice-format: wav + +## Specify the language for voice using ISO 639-1 code (default: auto) +#voice-language: en + +## Specify the input device name for voice recording +#voice-input-device: xxx + ################# # Other Settings: @@ -322,51 +398,12 @@ ## Specify the language to use in the chat (default: None, uses system settings) #chat-language: xxx -## Show the version number and exit -#version: xxx - -## Check for updates and return status in the exit code -#just-check-update: false - -## Check for new aider versions on launch -#check-update: true - -## Show release notes on first run of new version (default: None, ask user) -#show-release-notes: xxx - -## Install the latest version from the main branch -#install-main-branch: false - -## Upgrade aider to the latest version from PyPI -#upgrade: false - -## Apply the changes from the given file instead of running the chat (debug) -#apply: xxx - -## Apply clipboard contents as edits using the main model's editor format -#apply-clipboard-edits: false - ## Always say yes to every confirmation #yes-always: false ## Enable verbose output #verbose: false -## Print the repo map and exit (debug) -#show-repo-map: false - -## Print the system prompts and exit (debug) -#show-prompts: false - -## Do all startup activities then exit before accepting user input (debug) -#exit: false - -## Specify a single message to send the LLM, process reply then exit (disables chat mode) -#message: xxx - -## Specify a file containing the message to send the LLM, process reply, then exit (disables chat mode) -#message-file: xxx - ## Load and execute /commands from a file on launch #load: xxx @@ -376,8 +413,8 @@ ## Specify the config file (default: search for .aider.conf.yml in git root, cwd or home directory) #config: xxx -## Run aider in your browser (default: False) -#gui: false +## Specify the .env file to load (default: .env in git root) +#env-file: .env ## Enable/disable suggesting shell commands (default: True) #suggest-shell-commands: true @@ -390,31 +427,3 @@ ## Specify which editor to use for the /editor command #editor: xxx - -## Set an environment variable (can be used multiple times) -#set-env: xxx -## Specify multiple values like this: -#set-env: -# - xxx -# - yyy -# - zzz - -## Set an API key for a provider (eg: --api-key anthropic=sk-123) -#api-key: xxx -## Specify multiple values like this: -#api-key: -# - xxx -# - yyy -# - zzz - -################# -# Voice Settings: - -## Audio format for voice recording (default: wav). webm and mp3 require ffmpeg -#voice-format: wav - -## Specify the language for voice using ISO 639-1 code (default: auto) -#voice-language: en - -## Specify the input device name for voice recording -#voice-input-device: xxx diff --git a/aider/website/assets/sample.env b/aider/website/assets/sample.env index 0283c83e0..980f82274 100644 --- a/aider/website/assets/sample.env +++ b/aider/website/assets/sample.env @@ -18,14 +18,8 @@ ##... -####### -# Main: - -## Specify the OpenAI API key -#AIDER_OPENAI_API_KEY= - -## Specify the Anthropic API key -#AIDER_ANTHROPIC_API_KEY= +############# +# Main model: ## Specify the model to use for the main chat #AIDER_MODEL= @@ -63,27 +57,42 @@ ## Use o1-preview model for the main chat #AIDER_O1_PREVIEW= +######################## +# API Keys and settings: + +## Specify the OpenAI API key +#AIDER_OPENAI_API_KEY= + +## Specify the Anthropic API key +#AIDER_ANTHROPIC_API_KEY= + +## Specify the api base url +#AIDER_OPENAI_API_BASE= + +## (deprecated, use --set-env OPENAI_API_TYPE=) +#AIDER_OPENAI_API_TYPE= + +## (deprecated, use --set-env OPENAI_API_VERSION=) +#AIDER_OPENAI_API_VERSION= + +## (deprecated, use --set-env OPENAI_API_DEPLOYMENT_ID=) +#AIDER_OPENAI_API_DEPLOYMENT_ID= + +## (deprecated, use --set-env OPENAI_ORGANIZATION=) +#AIDER_OPENAI_ORGANIZATION_ID= + +## Set an environment variable (to control API settings, can be used multiple times) +#AIDER_SET_ENV= + +## Set an API key for a provider (eg: --api-key provider= sets PROVIDER_API_KEY=) +#AIDER_API_KEY= + ################# # Model Settings: ## List known models which match the (partial) MODEL name #AIDER_LIST_MODELS= -## Specify the api base url -#AIDER_OPENAI_API_BASE= - -## Specify the api_type -#AIDER_OPENAI_API_TYPE= - -## Specify the api_version -#AIDER_OPENAI_API_VERSION= - -## Specify the deployment_id -#AIDER_OPENAI_API_DEPLOYMENT_ID= - -## Specify the OpenAI organization ID -#AIDER_OPENAI_ORGANIZATION_ID= - ## Specify a file with aider model settings for unknown models #AIDER_MODEL_SETTINGS_FILE=.aider.model.settings.yml @@ -120,9 +129,6 @@ ## Soft limit on tokens for chat history, after which summarization begins. If unspecified, defaults to the model's max_chat_history_tokens. #AIDER_MAX_CHAT_HISTORY_TOKENS= -## Specify the .env file to load (default: .env in git root) -#AIDER_ENV_FILE=.env - ################# # Cache Settings: @@ -255,9 +261,6 @@ ## Enable/disable watching files for ai coding comments (default: False) #AIDER_WATCH_FILES=false -## Enable automatic copy/paste of chat between aider and web UI (default: False) -#AIDER_COPY_PASTE=false - ######################## # Fixing and committing: @@ -291,20 +294,8 @@ ## Permanently disable analytics #AIDER_ANALYTICS_DISABLE=false -################# -# Other Settings: - -## specify a file to edit (can be used multiple times) -#AIDER_FILE= - -## specify a read-only file (can be used multiple times) -#AIDER_READ= - -## Use VI editing mode in the terminal (default: False) -#AIDER_VIM=false - -## Specify the language to use in the chat (default: None, uses system settings) -#AIDER_CHAT_LANGUAGE= +############ +# Upgrading: ## Check for updates and return status in the exit code #AIDER_JUST_CHECK_UPDATE=false @@ -321,26 +312,8 @@ ## Upgrade aider to the latest version from PyPI #AIDER_UPGRADE=false -## Apply the changes from the given file instead of running the chat (debug) -#AIDER_APPLY= - -## Apply clipboard contents as edits using the main model's editor format -#AIDER_APPLY_CLIPBOARD_EDITS=false - -## Always say yes to every confirmation -#AIDER_YES_ALWAYS= - -## Enable verbose output -#AIDER_VERBOSE=false - -## Print the repo map and exit (debug) -#AIDER_SHOW_REPO_MAP=false - -## Print the system prompts and exit (debug) -#AIDER_SHOW_PROMPTS=false - -## Do all startup activities then exit before accepting user input (debug) -#AIDER_EXIT=false +######## +# Modes: ## Specify a single message to send the LLM, process reply then exit (disables chat mode) #AIDER_MESSAGE= @@ -348,32 +321,26 @@ ## Specify a file containing the message to send the LLM, process reply, then exit (disables chat mode) #AIDER_MESSAGE_FILE= -## Load and execute /commands from a file on launch -#AIDER_LOAD= - -## Specify the encoding for input and output (default: utf-8) -#AIDER_ENCODING=utf-8 - ## Run aider in your browser (default: False) #AIDER_GUI=false -## Enable/disable suggesting shell commands (default: True) -#AIDER_SUGGEST_SHELL_COMMANDS=true +## Enable automatic copy/paste of chat between aider and web UI (default: False) +#AIDER_COPY_PASTE=false -## Enable/disable fancy input with history and completion (default: True) -#AIDER_FANCY_INPUT=true +## Apply the changes from the given file instead of running the chat (debug) +#AIDER_APPLY= -## Enable/disable detection and offering to add URLs to chat (default: True) -#AIDER_DETECT_URLS=true +## Apply clipboard contents as edits using the main model's editor format +#AIDER_APPLY_CLIPBOARD_EDITS=false -## Specify which editor to use for the /editor command -#AIDER_EDITOR= +## Do all startup activities then exit before accepting user input (debug) +#AIDER_EXIT=false -## Set an environment variable (can be used multiple times) -#AIDER_SET_ENV= +## Print the repo map and exit (debug) +#AIDER_SHOW_REPO_MAP=false -## Set an API key for a provider (eg: --api-key anthropic=sk-123) -#AIDER_API_KEY= +## Print the system prompts and exit (debug) +#AIDER_SHOW_PROMPTS=false ################# # Voice Settings: @@ -386,3 +353,45 @@ ## Specify the input device name for voice recording #AIDER_VOICE_INPUT_DEVICE= + +################# +# Other Settings: + +## specify a file to edit (can be used multiple times) +#AIDER_FILE= + +## specify a read-only file (can be used multiple times) +#AIDER_READ= + +## Use VI editing mode in the terminal (default: False) +#AIDER_VIM=false + +## Specify the language to use in the chat (default: None, uses system settings) +#AIDER_CHAT_LANGUAGE= + +## Always say yes to every confirmation +#AIDER_YES_ALWAYS= + +## Enable verbose output +#AIDER_VERBOSE=false + +## Load and execute /commands from a file on launch +#AIDER_LOAD= + +## Specify the encoding for input and output (default: utf-8) +#AIDER_ENCODING=utf-8 + +## Specify the .env file to load (default: .env in git root) +#AIDER_ENV_FILE=.env + +## Enable/disable suggesting shell commands (default: True) +#AIDER_SUGGEST_SHELL_COMMANDS=true + +## Enable/disable fancy input with history and completion (default: True) +#AIDER_FANCY_INPUT=true + +## Enable/disable detection and offering to add URLs to chat (default: True) +#AIDER_DETECT_URLS=true + +## Specify which editor to use for the /editor command +#AIDER_EDITOR= diff --git a/aider/website/docs/config/aider_conf.md b/aider/website/docs/config/aider_conf.md index 2782a4847..e72d36ce2 100644 --- a/aider/website/docs/config/aider_conf.md +++ b/aider/website/docs/config/aider_conf.md @@ -70,14 +70,8 @@ cog.outl("```") ## show this help message and exit #help: xxx -####### -# Main: - -## Specify the OpenAI API key -#openai-api-key: xxx - -## Specify the Anthropic API key -#anthropic-api-key: xxx +############# +# Main model: ## Specify the model to use for the main chat #model: xxx @@ -115,27 +109,52 @@ cog.outl("```") ## Use o1-preview model for the main chat #o1-preview: false +######################## +# API Keys and settings: + +## Specify the OpenAI API key +#openai-api-key: xxx + +## Specify the Anthropic API key +#anthropic-api-key: xxx + +## Specify the api base url +#openai-api-base: xxx + +## (deprecated, use --set-env OPENAI_API_TYPE=) +#openai-api-type: xxx + +## (deprecated, use --set-env OPENAI_API_VERSION=) +#openai-api-version: xxx + +## (deprecated, use --set-env OPENAI_API_DEPLOYMENT_ID=) +#openai-api-deployment-id: xxx + +## (deprecated, use --set-env OPENAI_ORGANIZATION=) +#openai-organization-id: xxx + +## Set an environment variable (to control API settings, can be used multiple times) +#set-env: xxx +## Specify multiple values like this: +#set-env: +# - xxx +# - yyy +# - zzz + +## Set an API key for a provider (eg: --api-key provider= sets PROVIDER_API_KEY=) +#api-key: xxx +## Specify multiple values like this: +#api-key: +# - xxx +# - yyy +# - zzz + ################# # Model Settings: ## List known models which match the (partial) MODEL name #list-models: xxx -## Specify the api base url -#openai-api-base: xxx - -## Specify the api_type -#openai-api-type: xxx - -## Specify the api_version -#openai-api-version: xxx - -## Specify the deployment_id -#openai-api-deployment-id: xxx - -## Specify the OpenAI organization ID -#openai-organization-id: xxx - ## Specify a file with aider model settings for unknown models #model-settings-file: .aider.model.settings.yml @@ -177,9 +196,6 @@ cog.outl("```") ## Soft limit on tokens for chat history, after which summarization begins. If unspecified, defaults to the model's max_chat_history_tokens. #max-chat-history-tokens: xxx -## Specify the .env file to load (default: .env in git root) -#env-file: .env - ################# # Cache Settings: @@ -312,9 +328,6 @@ cog.outl("```") ## Enable/disable watching files for ai coding comments (default: False) #watch-files: false -## Enable automatic copy/paste of chat between aider and web UI (default: False) -#copy-paste: false - ######################## # Fixing and committing: @@ -353,6 +366,69 @@ cog.outl("```") ## Permanently disable analytics #analytics-disable: false +############ +# Upgrading: + +## Check for updates and return status in the exit code +#just-check-update: false + +## Check for new aider versions on launch +#check-update: true + +## Show release notes on first run of new version (default: None, ask user) +#show-release-notes: xxx + +## Install the latest version from the main branch +#install-main-branch: false + +## Upgrade aider to the latest version from PyPI +#upgrade: false + +## Show the version number and exit +#version: xxx + +######## +# Modes: + +## Specify a single message to send the LLM, process reply then exit (disables chat mode) +#message: xxx + +## Specify a file containing the message to send the LLM, process reply, then exit (disables chat mode) +#message-file: xxx + +## Run aider in your browser (default: False) +#gui: false + +## Enable automatic copy/paste of chat between aider and web UI (default: False) +#copy-paste: false + +## Apply the changes from the given file instead of running the chat (debug) +#apply: xxx + +## Apply clipboard contents as edits using the main model's editor format +#apply-clipboard-edits: false + +## Do all startup activities then exit before accepting user input (debug) +#exit: false + +## Print the repo map and exit (debug) +#show-repo-map: false + +## Print the system prompts and exit (debug) +#show-prompts: false + +################# +# Voice Settings: + +## Audio format for voice recording (default: wav). webm and mp3 require ffmpeg +#voice-format: wav + +## Specify the language for voice using ISO 639-1 code (default: auto) +#voice-language: en + +## Specify the input device name for voice recording +#voice-input-device: xxx + ################# # Other Settings: @@ -378,51 +454,12 @@ cog.outl("```") ## Specify the language to use in the chat (default: None, uses system settings) #chat-language: xxx -## Show the version number and exit -#version: xxx - -## Check for updates and return status in the exit code -#just-check-update: false - -## Check for new aider versions on launch -#check-update: true - -## Show release notes on first run of new version (default: None, ask user) -#show-release-notes: xxx - -## Install the latest version from the main branch -#install-main-branch: false - -## Upgrade aider to the latest version from PyPI -#upgrade: false - -## Apply the changes from the given file instead of running the chat (debug) -#apply: xxx - -## Apply clipboard contents as edits using the main model's editor format -#apply-clipboard-edits: false - ## Always say yes to every confirmation #yes-always: false ## Enable verbose output #verbose: false -## Print the repo map and exit (debug) -#show-repo-map: false - -## Print the system prompts and exit (debug) -#show-prompts: false - -## Do all startup activities then exit before accepting user input (debug) -#exit: false - -## Specify a single message to send the LLM, process reply then exit (disables chat mode) -#message: xxx - -## Specify a file containing the message to send the LLM, process reply, then exit (disables chat mode) -#message-file: xxx - ## Load and execute /commands from a file on launch #load: xxx @@ -432,8 +469,8 @@ cog.outl("```") ## Specify the config file (default: search for .aider.conf.yml in git root, cwd or home directory) #config: xxx -## Run aider in your browser (default: False) -#gui: false +## Specify the .env file to load (default: .env in git root) +#env-file: .env ## Enable/disable suggesting shell commands (default: True) #suggest-shell-commands: true @@ -446,33 +483,5 @@ cog.outl("```") ## Specify which editor to use for the /editor command #editor: xxx - -## Set an environment variable (can be used multiple times) -#set-env: xxx -## Specify multiple values like this: -#set-env: -# - xxx -# - yyy -# - zzz - -## Set an API key for a provider (eg: --api-key anthropic=sk-123) -#api-key: xxx -## Specify multiple values like this: -#api-key: -# - xxx -# - yyy -# - zzz - -################# -# Voice Settings: - -## Audio format for voice recording (default: wav). webm and mp3 require ffmpeg -#voice-format: wav - -## Specify the language for voice using ISO 639-1 code (default: auto) -#voice-language: en - -## Specify the input device name for voice recording -#voice-input-device: xxx ``` diff --git a/aider/website/docs/config/dotenv.md b/aider/website/docs/config/dotenv.md index 9ad82b4d6..fa43ff41d 100644 --- a/aider/website/docs/config/dotenv.md +++ b/aider/website/docs/config/dotenv.md @@ -1,6 +1,6 @@ --- parent: Configuration -nav_order: 900 +nav_order: 20 description: Using a .env file to store LLM API keys for aider. --- @@ -60,14 +60,8 @@ cog.outl("```") ##... -####### -# Main: - -## Specify the OpenAI API key -#AIDER_OPENAI_API_KEY= - -## Specify the Anthropic API key -#AIDER_ANTHROPIC_API_KEY= +############# +# Main model: ## Specify the model to use for the main chat #AIDER_MODEL= @@ -105,27 +99,42 @@ cog.outl("```") ## Use o1-preview model for the main chat #AIDER_O1_PREVIEW= +######################## +# API Keys and settings: + +## Specify the OpenAI API key +#AIDER_OPENAI_API_KEY= + +## Specify the Anthropic API key +#AIDER_ANTHROPIC_API_KEY= + +## Specify the api base url +#AIDER_OPENAI_API_BASE= + +## (deprecated, use --set-env OPENAI_API_TYPE=) +#AIDER_OPENAI_API_TYPE= + +## (deprecated, use --set-env OPENAI_API_VERSION=) +#AIDER_OPENAI_API_VERSION= + +## (deprecated, use --set-env OPENAI_API_DEPLOYMENT_ID=) +#AIDER_OPENAI_API_DEPLOYMENT_ID= + +## (deprecated, use --set-env OPENAI_ORGANIZATION=) +#AIDER_OPENAI_ORGANIZATION_ID= + +## Set an environment variable (to control API settings, can be used multiple times) +#AIDER_SET_ENV= + +## Set an API key for a provider (eg: --api-key provider= sets PROVIDER_API_KEY=) +#AIDER_API_KEY= + ################# # Model Settings: ## List known models which match the (partial) MODEL name #AIDER_LIST_MODELS= -## Specify the api base url -#AIDER_OPENAI_API_BASE= - -## Specify the api_type -#AIDER_OPENAI_API_TYPE= - -## Specify the api_version -#AIDER_OPENAI_API_VERSION= - -## Specify the deployment_id -#AIDER_OPENAI_API_DEPLOYMENT_ID= - -## Specify the OpenAI organization ID -#AIDER_OPENAI_ORGANIZATION_ID= - ## Specify a file with aider model settings for unknown models #AIDER_MODEL_SETTINGS_FILE=.aider.model.settings.yml @@ -162,9 +171,6 @@ cog.outl("```") ## Soft limit on tokens for chat history, after which summarization begins. If unspecified, defaults to the model's max_chat_history_tokens. #AIDER_MAX_CHAT_HISTORY_TOKENS= -## Specify the .env file to load (default: .env in git root) -#AIDER_ENV_FILE=.env - ################# # Cache Settings: @@ -297,9 +303,6 @@ cog.outl("```") ## Enable/disable watching files for ai coding comments (default: False) #AIDER_WATCH_FILES=false -## Enable automatic copy/paste of chat between aider and web UI (default: False) -#AIDER_COPY_PASTE=false - ######################## # Fixing and committing: @@ -333,20 +336,8 @@ cog.outl("```") ## Permanently disable analytics #AIDER_ANALYTICS_DISABLE=false -################# -# Other Settings: - -## specify a file to edit (can be used multiple times) -#AIDER_FILE= - -## specify a read-only file (can be used multiple times) -#AIDER_READ= - -## Use VI editing mode in the terminal (default: False) -#AIDER_VIM=false - -## Specify the language to use in the chat (default: None, uses system settings) -#AIDER_CHAT_LANGUAGE= +############ +# Upgrading: ## Check for updates and return status in the exit code #AIDER_JUST_CHECK_UPDATE=false @@ -363,26 +354,8 @@ cog.outl("```") ## Upgrade aider to the latest version from PyPI #AIDER_UPGRADE=false -## Apply the changes from the given file instead of running the chat (debug) -#AIDER_APPLY= - -## Apply clipboard contents as edits using the main model's editor format -#AIDER_APPLY_CLIPBOARD_EDITS=false - -## Always say yes to every confirmation -#AIDER_YES_ALWAYS= - -## Enable verbose output -#AIDER_VERBOSE=false - -## Print the repo map and exit (debug) -#AIDER_SHOW_REPO_MAP=false - -## Print the system prompts and exit (debug) -#AIDER_SHOW_PROMPTS=false - -## Do all startup activities then exit before accepting user input (debug) -#AIDER_EXIT=false +######## +# Modes: ## Specify a single message to send the LLM, process reply then exit (disables chat mode) #AIDER_MESSAGE= @@ -390,32 +363,26 @@ cog.outl("```") ## Specify a file containing the message to send the LLM, process reply, then exit (disables chat mode) #AIDER_MESSAGE_FILE= -## Load and execute /commands from a file on launch -#AIDER_LOAD= - -## Specify the encoding for input and output (default: utf-8) -#AIDER_ENCODING=utf-8 - ## Run aider in your browser (default: False) #AIDER_GUI=false -## Enable/disable suggesting shell commands (default: True) -#AIDER_SUGGEST_SHELL_COMMANDS=true +## Enable automatic copy/paste of chat between aider and web UI (default: False) +#AIDER_COPY_PASTE=false -## Enable/disable fancy input with history and completion (default: True) -#AIDER_FANCY_INPUT=true +## Apply the changes from the given file instead of running the chat (debug) +#AIDER_APPLY= -## Enable/disable detection and offering to add URLs to chat (default: True) -#AIDER_DETECT_URLS=true +## Apply clipboard contents as edits using the main model's editor format +#AIDER_APPLY_CLIPBOARD_EDITS=false -## Specify which editor to use for the /editor command -#AIDER_EDITOR= +## Do all startup activities then exit before accepting user input (debug) +#AIDER_EXIT=false -## Set an environment variable (can be used multiple times) -#AIDER_SET_ENV= +## Print the repo map and exit (debug) +#AIDER_SHOW_REPO_MAP=false -## Set an API key for a provider (eg: --api-key anthropic=sk-123) -#AIDER_API_KEY= +## Print the system prompts and exit (debug) +#AIDER_SHOW_PROMPTS=false ################# # Voice Settings: @@ -428,5 +395,47 @@ cog.outl("```") ## Specify the input device name for voice recording #AIDER_VOICE_INPUT_DEVICE= + +################# +# Other Settings: + +## specify a file to edit (can be used multiple times) +#AIDER_FILE= + +## specify a read-only file (can be used multiple times) +#AIDER_READ= + +## Use VI editing mode in the terminal (default: False) +#AIDER_VIM=false + +## Specify the language to use in the chat (default: None, uses system settings) +#AIDER_CHAT_LANGUAGE= + +## Always say yes to every confirmation +#AIDER_YES_ALWAYS= + +## Enable verbose output +#AIDER_VERBOSE=false + +## Load and execute /commands from a file on launch +#AIDER_LOAD= + +## Specify the encoding for input and output (default: utf-8) +#AIDER_ENCODING=utf-8 + +## Specify the .env file to load (default: .env in git root) +#AIDER_ENV_FILE=.env + +## Enable/disable suggesting shell commands (default: True) +#AIDER_SUGGEST_SHELL_COMMANDS=true + +## Enable/disable fancy input with history and completion (default: True) +#AIDER_FANCY_INPUT=true + +## Enable/disable detection and offering to add URLs to chat (default: True) +#AIDER_DETECT_URLS=true + +## Specify which editor to use for the /editor command +#AIDER_EDITOR= ``` diff --git a/aider/website/docs/config/editor.md b/aider/website/docs/config/editor.md index b09985c4e..aff3e376c 100644 --- a/aider/website/docs/config/editor.md +++ b/aider/website/docs/config/editor.md @@ -1,6 +1,6 @@ --- parent: Configuration -nav_order: 15 +nav_order: 100 description: How to configure a custom editor for aider's /editor command --- diff --git a/aider/website/docs/config/options.md b/aider/website/docs/config/options.md index 135808cec..813b977ed 100644 --- a/aider/website/docs/config/options.md +++ b/aider/website/docs/config/options.md @@ -25,18 +25,19 @@ from aider.args import get_md_help cog.out(get_md_help()) ]]]--> ``` -usage: aider [-h] [--openai-api-key] [--anthropic-api-key] [--model] - [--opus] [--sonnet] [--haiku] [--4] [--4o] [--mini] - [--4-turbo] [--35turbo] [--deepseek] [--o1-mini] - [--o1-preview] [--list-models] [--openai-api-base] +usage: aider [-h] [--model] [--opus] [--sonnet] [--haiku] [--4] + [--4o] [--mini] [--4-turbo] [--35turbo] [--deepseek] + [--o1-mini] [--o1-preview] [--openai-api-key] + [--anthropic-api-key] [--openai-api-base] [--openai-api-type] [--openai-api-version] [--openai-api-deployment-id] [--openai-organization-id] + [--set-env] [--api-key] [--list-models] [--model-settings-file] [--model-metadata-file] [--alias] [--verify-ssl | --no-verify-ssl] [--timeout] [--edit-format] [--architect] [--weak-model] [--editor-model] [--editor-edit-format] [--show-model-warnings | --no-show-model-warnings] - [--max-chat-history-tokens] [--env-file] + [--max-chat-history-tokens] [--cache-prompts | --no-cache-prompts] [--cache-keepalive-pings] [--map-tokens] [--map-refresh] [--map-multiplier-no-files] @@ -60,25 +61,25 @@ usage: aider [-h] [--openai-api-key] [--anthropic-api-key] [--model] [--attribute-commit-message-committer | --no-attribute-commit-message-committer] [--commit] [--commit-prompt] [--dry-run | --no-dry-run] [--skip-sanity-check-repo] - [--watch-files | --no-watch-files] - [--copy-paste | --no-copy-paste] [--lint] [--lint-cmd] - [--auto-lint | --no-auto-lint] [--test-cmd] - [--auto-test | --no-auto-test] [--test] + [--watch-files | --no-watch-files] [--lint] + [--lint-cmd] [--auto-lint | --no-auto-lint] + [--test-cmd] [--auto-test | --no-auto-test] [--test] [--analytics | --no-analytics] [--analytics-log] - [--analytics-disable] [--file] [--read] [--vim] - [--chat-language] [--version] [--just-check-update] + [--analytics-disable] [--just-check-update] [--check-update | --no-check-update] [--show-release-notes | --no-show-release-notes] - [--install-main-branch] [--upgrade] [--apply] - [--apply-clipboard-edits] [--yes-always] [-v] - [--show-repo-map] [--show-prompts] [--exit] [--message] - [--message-file] [--load] [--encoding] [-c] + [--install-main-branch] [--upgrade] [--version] + [--message] [--message-file] [--gui | --no-gui | --browser | --no-browser] + [--copy-paste | --no-copy-paste] [--apply] + [--apply-clipboard-edits] [--exit] [--show-repo-map] + [--show-prompts] [--voice-format] [--voice-language] + [--voice-input-device] [--file] [--read] [--vim] + [--chat-language] [--yes-always] [-v] [--load] + [--encoding] [-c] [--env-file] [--suggest-shell-commands | --no-suggest-shell-commands] [--fancy-input | --no-fancy-input] [--detect-urls | --no-detect-urls] [--editor] - [--set-env] [--api-key] [--voice-format] - [--voice-language] [--voice-input-device] ``` @@ -90,15 +91,7 @@ Aliases: - `-h` - `--help` -## Main: - -### `--openai-api-key VALUE` -Specify the OpenAI API key -Environment variable: `AIDER_OPENAI_API_KEY` - -### `--anthropic-api-key VALUE` -Specify the Anthropic API key -Environment variable: `AIDER_ANTHROPIC_API_KEY` +## Main model: ### `--model MODEL` Specify the model to use for the main chat @@ -156,6 +149,46 @@ Environment variable: `AIDER_O1_MINI` Use o1-preview model for the main chat Environment variable: `AIDER_O1_PREVIEW` +## API Keys and settings: + +### `--openai-api-key VALUE` +Specify the OpenAI API key +Environment variable: `AIDER_OPENAI_API_KEY` + +### `--anthropic-api-key VALUE` +Specify the Anthropic API key +Environment variable: `AIDER_ANTHROPIC_API_KEY` + +### `--openai-api-base VALUE` +Specify the api base url +Environment variable: `AIDER_OPENAI_API_BASE` + +### `--openai-api-type VALUE` +(deprecated, use --set-env OPENAI_API_TYPE=) +Environment variable: `AIDER_OPENAI_API_TYPE` + +### `--openai-api-version VALUE` +(deprecated, use --set-env OPENAI_API_VERSION=) +Environment variable: `AIDER_OPENAI_API_VERSION` + +### `--openai-api-deployment-id VALUE` +(deprecated, use --set-env OPENAI_API_DEPLOYMENT_ID=) +Environment variable: `AIDER_OPENAI_API_DEPLOYMENT_ID` + +### `--openai-organization-id VALUE` +(deprecated, use --set-env OPENAI_ORGANIZATION=) +Environment variable: `AIDER_OPENAI_ORGANIZATION_ID` + +### `--set-env ENV_VAR_NAME=value` +Set an environment variable (to control API settings, can be used multiple times) +Default: [] +Environment variable: `AIDER_SET_ENV` + +### `--api-key PROVIDER=KEY` +Set an API key for a provider (eg: --api-key provider= sets PROVIDER_API_KEY=) +Default: [] +Environment variable: `AIDER_API_KEY` + ## Model Settings: ### `--list-models MODEL` @@ -165,26 +198,6 @@ Aliases: - `--list-models MODEL` - `--models MODEL` -### `--openai-api-base VALUE` -Specify the api base url -Environment variable: `AIDER_OPENAI_API_BASE` - -### `--openai-api-type VALUE` -Specify the api_type -Environment variable: `AIDER_OPENAI_API_TYPE` - -### `--openai-api-version VALUE` -Specify the api_version -Environment variable: `AIDER_OPENAI_API_VERSION` - -### `--openai-api-deployment-id VALUE` -Specify the deployment_id -Environment variable: `AIDER_OPENAI_API_DEPLOYMENT_ID` - -### `--openai-organization-id VALUE` -Specify the OpenAI organization ID -Environment variable: `AIDER_OPENAI_ORGANIZATION_ID` - ### `--model-settings-file MODEL_SETTINGS_FILE` Specify a file with aider model settings for unknown models Default: .aider.model.settings.yml @@ -246,11 +259,6 @@ Aliases: 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` - ## Cache Settings: ### `--cache-prompts` @@ -490,14 +498,6 @@ Aliases: - `--watch-files` - `--no-watch-files` -### `--copy-paste` -Enable automatic copy/paste of chat between aider and web UI (default: False) -Default: False -Environment variable: `AIDER_COPY_PASTE` -Aliases: - - `--copy-paste` - - `--no-copy-paste` - ## Fixing and committing: ### `--lint` @@ -554,27 +554,7 @@ 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` - -### `--read FILE` -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` - -### `--chat-language 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 +## Upgrading: ### `--just-check-update` Check for updates and return status in the exit code @@ -609,41 +589,10 @@ Aliases: - `--upgrade` - `--update` -### `--apply FILE` -Apply the changes from the given file instead of running the chat (debug) -Environment variable: `AIDER_APPLY` +### `--version` +Show the version number and exit -### `--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` - -### `--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` - -### `--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` +## Modes: ### `--message COMMAND` Specify a single message to send the LLM, process reply then exit (disables chat mode) @@ -660,6 +609,95 @@ Aliases: - `--message-file MESSAGE_FILE` - `-f MESSAGE_FILE` +### `--gui` +Run aider in your browser (default: False) +Default: False +Environment variable: `AIDER_GUI` +Aliases: + - `--gui` + - `--no-gui` + - `--browser` + - `--no-browser` + +### `--copy-paste` +Enable automatic copy/paste of chat between aider and web UI (default: False) +Default: False +Environment variable: `AIDER_COPY_PASTE` +Aliases: + - `--copy-paste` + - `--no-copy-paste` + +### `--apply FILE` +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` + +### `--exit` +Do all startup activities then exit before accepting user input (debug) +Default: False +Environment variable: `AIDER_EXIT` + +### `--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` + +## 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` + +### `--voice-language 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 input device name for voice recording +Environment variable: `AIDER_VOICE_INPUT_DEVICE` + +## Other Settings: + +### `--file 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` + +### `--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` + +### `--yes-always` +Always say yes to every confirmation +Environment variable: `AIDER_YES_ALWAYS` + +### `--verbose` +Enable verbose output +Default: False +Environment variable: `AIDER_VERBOSE` +Aliases: + - `-v` + - `--verbose` + ### `--load LOAD_FILE` Load and execute /commands from a file on launch Environment variable: `AIDER_LOAD` @@ -675,15 +713,10 @@ Aliases: - `-c CONFIG_FILE` - `--config CONFIG_FILE` -### `--gui` -Run aider in your browser (default: False) -Default: False -Environment variable: `AIDER_GUI` -Aliases: - - `--gui` - - `--no-gui` - - `--browser` - - `--no-browser` +### `--env-file ENV_FILE` +Specify the .env file to load (default: .env in git root) +Default: .env +Environment variable: `AIDER_ENV_FILE` ### `--suggest-shell-commands` Enable/disable suggesting shell commands (default: True) @@ -712,30 +745,4 @@ Aliases: ### `--editor VALUE` Specify which editor to use for the /editor command Environment variable: `AIDER_EDITOR` - -### `--set-env ENV_VAR_NAME=value` -Set an environment variable (can be used multiple times) -Default: [] -Environment variable: `AIDER_SET_ENV` - -### `--api-key PROVIDER=KEY` -Set an API key for a provider (eg: --api-key anthropic=sk-123) -Default: [] -Environment variable: `AIDER_API_KEY` - -## 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` - -### `--voice-language 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 input device name for voice recording -Environment variable: `AIDER_VOICE_INPUT_DEVICE`