ZIm/crates
Anthony Eid b349a8f34c
ai: Auto select user model when there's no default (#36722)
This PR identifies automatic configuration options that users can select
from the agent panel. If no default provider is set in their settings,
the PR defaults to the first recommended option. Additionally, it
updates the selected provider for a thread when a user changes the
default provider through the settings file, if the thread hasn't had any
queries yet.

Release Notes:

- agent: automatically select a language model provider if there's no
user set provider.

---------

Co-authored-by: Michael Sloan <michael@zed.dev>
2025-08-22 01:12:12 -04:00
..
acp_thread acp: Allow editing of thread titles in agent2 (#36706) 2025-08-21 20:24:13 +00:00
action_log Enforce style lints which do not have violations (#36580) 2025-08-20 14:07:37 +02:00
activity_indicator Enforce style lints which do not have violations (#36580) 2025-08-20 14:07:37 +02:00
agent ai: Auto select user model when there's no default (#36722) 2025-08-22 01:12:12 -04:00
agent2 ai: Auto select user model when there's no default (#36722) 2025-08-22 01:12:12 -04:00
agent_servers thread view: Add improvements to the UI (#36680) 2025-08-21 17:05:29 -03:00
agent_settings lints: A bunch of extra style lint fixes (#36568) 2025-08-20 12:05:58 +02:00
agent_ui ai: Auto select user model when there's no default (#36722) 2025-08-22 01:12:12 -04:00
ai_onboarding Fix clippy::len_zero lint style violations (#36589) 2025-08-20 14:35:59 +00:00
anthropic Add Claude Opus 4.1 (#35653) 2025-08-05 18:16:47 +00:00
askpass Fix a bunch of other low-hanging style lints (#36498) 2025-08-19 21:26:17 +02:00
assets Use IBM Plex Sans / Lilex (#36084) 2025-08-13 13:25:52 -06:00
assistant_context Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
assistant_slash_command lints: A bunch of extra style lint fixes (#36568) 2025-08-20 12:05:58 +02:00
assistant_slash_commands Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
assistant_tool Another batch of lint fixes (#36521) 2025-08-19 20:33:44 +00:00
assistant_tools Fix clippy::len_zero lint style violations (#36589) 2025-08-20 14:35:59 +00:00
audio Add Rodio audio pipeline as alternative to current LiveKit pipeline (#36607) 2025-08-21 15:56:16 +02:00
auto_update Fix unnecessary-mut-passed lint (#36490) 2025-08-19 14:20:01 +00:00
auto_update_helper lints: A bunch of extra style lint fixes (#36568) 2025-08-20 12:05:58 +02:00
auto_update_ui Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
aws_http_client bedrock: Fix remaining streaming delays (#33931) 2025-07-22 11:55:24 -04:00
bedrock Fix a bunch of other low-hanging style lints (#36498) 2025-08-19 21:26:17 +02:00
breadcrumbs Auto-fix clippy::collapsible_if violations (#36428) 2025-08-19 13:27:24 +00:00
buffer_diff Fix clippy::println_empty_string, clippy::while_let_on_iterator, clippy::while_let_on_iterator lint style violations (#36613) 2025-08-20 20:14:30 +02:00
call Fix a bunch of other low-hanging style lints (#36498) 2025-08-19 21:26:17 +02:00
channel Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
cli Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
client Add GPU info to Sentry crashes (#36624) 2025-08-21 19:59:42 -04:00
clock Add the ability to follow the agent as it makes edits (#29839) 2025-05-04 08:28:39 +00:00
cloud_api_client Use Tokio::spawn instead of getting an executor handle (#36701) 2025-08-21 17:19:57 +00:00
cloud_api_types Establish WebSocket connection to Cloud (#35734) 2025-08-07 01:28:41 +00:00
cloud_llm_client agent2: Add now, grep, and web search tools (#35974) 2025-08-11 15:34:34 +02:00
collab collab: Add Orb subscription status and period to billing_subscriptions table (#36682) 2025-08-21 13:59:18 +00:00
collab_ui collab_ui: Fix channel text bleeding through buttons on hover (#36710) 2025-08-21 18:50:06 +00:00
collections
command_palette Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
command_palette_hooks
component Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
context_server Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
copilot Enforce style lints which do not have violations (#36580) 2025-08-20 14:07:37 +02:00
crashes Add GPU info to Sentry crashes (#36624) 2025-08-21 19:59:42 -04:00
credentials_provider Fix a bunch of other low-hanging style lints (#36498) 2025-08-19 21:26:17 +02:00
dap lints: A bunch of extra style lint fixes (#36568) 2025-08-20 12:05:58 +02:00
dap_adapters Another batch of lint fixes (#36521) 2025-08-19 20:33:44 +00:00
db Silence a bucketload of logs (#36534) 2025-08-19 20:26:56 -06:00
debug_adapter_extension Allow remote loading for DAP-only extensions (#33981) 2025-07-06 14:52:16 +02:00
debugger_tools Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
debugger_ui remote: Fetch shell on ssh remote to use for preparing commands (#36690) 2025-08-21 19:08:26 +02:00
deepseek language_models: Emit UsageUpdate events for token usage in DeepSeek and OpenAI (#33242) 2025-06-25 09:42:30 +02:00
diagnostics Fix clippy::len_zero lint style violations (#36589) 2025-08-20 14:35:59 +00:00
docs_preprocessor docs: Add table of all actions (#36642) 2025-08-20 23:41:06 +00:00
edit_prediction Enforce style lints which do not have violations (#36580) 2025-08-20 14:07:37 +02:00
edit_prediction_button Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
editor Fix issue where renaming a file would not update imports in related files if they are not open (#36681) 2025-08-21 20:19:17 +05:30
eval Fix clippy::println_empty_string, clippy::while_let_on_iterator, clippy::while_let_on_iterator lint style violations (#36613) 2025-08-20 20:14:30 +02:00
explorer_command_injector Just Zed instead of Zed Editor (#34146) 2025-07-10 21:08:43 +02:00
extension Another batch of lint fixes (#36521) 2025-08-19 20:33:44 +00:00
extension_api lints: A bunch of extra style lint fixes (#36568) 2025-08-20 12:05:58 +02:00
extension_cli Remove /docs slash command (#36325) 2025-08-16 19:00:31 +00:00
extension_host Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
extensions_ui Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
feature_flags Rename acp flag (#36541) 2025-08-20 02:11:17 +00:00
feedback Add GPU info to Sentry crashes (#36624) 2025-08-21 19:59:42 -04:00
file_finder Fix clippy::manual_map lint violations (#36584) 2025-08-20 15:17:28 +02:00
file_icons Fix a bunch of other low-hanging style lints (#36498) 2025-08-19 21:26:17 +02:00
fs Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
fsevent Auto-fix clippy::collapsible_if violations (#36428) 2025-08-19 13:27:24 +00:00
fuzzy Prevent out of bounds access in recursive_score_match (#35630) 2025-08-06 10:53:20 +02:00
git Fix clippy::println_empty_string, clippy::while_let_on_iterator, clippy::while_let_on_iterator lint style violations (#36613) 2025-08-20 20:14:30 +02:00
git_hosting_providers Auto-fix clippy::collapsible_if violations (#36428) 2025-08-19 13:27:24 +00:00
git_ui ai: Auto select user model when there's no default (#36722) 2025-08-22 01:12:12 -04:00
go_to_line Enforce style lints which do not have violations (#36580) 2025-08-20 14:07:37 +02:00
google_ai Fix a bunch of other low-hanging style lints (#36498) 2025-08-19 21:26:17 +02:00
gpui Add GPU info to Sentry crashes (#36624) 2025-08-21 19:59:42 -04:00
gpui_macros clippy: println_empty_string & non_minimal_cfg (#36614) 2025-08-20 18:45:40 +00:00
gpui_tokio Use Tokio::spawn instead of getting an executor handle (#36701) 2025-08-21 17:19:57 +00:00
html_to_markdown Auto-fix clippy::collapsible_if violations (#36428) 2025-08-19 13:27:24 +00:00
http_client Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
http_client_tls
icons thread view: Refine the UI a bit (#36504) 2025-08-20 01:47:28 -03:00
image_viewer Option to auto-close deleted files with no unsaved edits (#31920) 2025-06-03 13:18:29 +02:00
inspector_ui Some clippy fixes (#36544) 2025-08-20 03:40:39 +00:00
install_cli Fix clippy::needless_borrow lint violations (#36444) 2025-08-18 21:54:35 +00:00
jj Another batch of lint fixes (#36521) 2025-08-19 20:33:44 +00:00
jj_ui editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928) 2025-06-18 16:01:28 +05:30
journal Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
language lsp: Add basic test for server tree toolchain use (#36692) 2025-08-21 17:52:17 +02:00
language_extension Fix clippy::needless_borrow lint violations (#36444) 2025-08-18 21:54:35 +00:00
language_model ai: Auto select user model when there's no default (#36722) 2025-08-22 01:12:12 -04:00
language_models ai: Auto select user model when there's no default (#36722) 2025-08-22 01:12:12 -04:00
language_selector Auto-fix clippy::collapsible_if violations (#36428) 2025-08-19 13:27:24 +00:00
language_tools Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
languages Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
livekit_api Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
livekit_client Add Rodio audio pipeline as alternative to current LiveKit pipeline (#36607) 2025-08-21 15:56:16 +02:00
lmstudio lmstudio: Propagate actual error message from server (#34538) 2025-07-25 09:36:43 -04:00
lsp Stop waiting for part of LSP responses on remote Collab clients' part (#36557) 2025-08-21 09:24:34 +03:00
markdown thread view: Add small refinements to tool call UI (#36723) 2025-08-21 20:51:36 -03:00
markdown_preview Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
media Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
menu gpui: Store action documentation (#33809) 2025-07-02 21:14:33 -04:00
migrator Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
mistral language_models: Add thinking to Mistral Provider (#32476) 2025-08-09 15:25:47 -04:00
multi_buffer Fix typo in Excerpt::contains (#36621) 2025-08-20 19:30:11 +00:00
nc Claude experiment (#34577) 2025-07-17 14:25:55 +00:00
net windows: Add support for SSH (#29145) 2025-07-08 14:34:57 +00:00
node_runtime Another batch of lint fixes (#36521) 2025-08-19 20:33:44 +00:00
notifications Auto-fix clippy::collapsible_if violations (#36428) 2025-08-19 13:27:24 +00:00
ollama ollama: Add support for gpt-oss (#35648) 2025-08-06 10:44:15 -04:00
onboarding Enforce style lints which do not have violations (#36580) 2025-08-20 14:07:37 +02:00
open_ai Fix a bunch of other low-hanging style lints (#36498) 2025-08-19 21:26:17 +02:00
open_router Fix a bunch of other low-hanging style lints (#36498) 2025-08-19 21:26:17 +02:00
outline Remove into SelectionEffects from .change_selections (#33554) 2025-06-27 14:31:31 -06:00
outline_panel Fix more improper uses of the buffer_id field of Anchor (#36636) 2025-08-21 09:24:34 -04:00
panel Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
paths lints: A bunch of extra style lint fixes (#36568) 2025-08-20 12:05:58 +02:00
picker Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
prettier Fix a bunch of other low-hanging style lints (#36498) 2025-08-19 21:26:17 +02:00
project remote: Fetch shell on ssh remote to use for preparing commands (#36690) 2025-08-21 19:08:26 +02:00
project_panel Fix clippy::manual_map lint violations (#36584) 2025-08-20 15:17:28 +02:00
project_symbols Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
prompt_store Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
proto Stop waiting for part of LSP responses on remote Collab clients' part (#36557) 2025-08-21 09:24:34 +03:00
recent_projects Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
refineable Auto-fix clippy::collapsible_if violations (#36428) 2025-08-19 13:27:24 +00:00
release_channel Use shortened SHA when displaying version to install (#31281) 2025-05-23 14:53:53 +00:00
remote remote: Fetch shell on ssh remote to use for preparing commands (#36690) 2025-08-21 19:08:26 +02:00
remote_server remote: Fix toolchain RPC messages not being handled because of the entity getting dropped (#36665) 2025-08-21 09:37:45 +00:00
repl Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
reqwest_client lints: A bunch of extra style lint fixes (#36568) 2025-08-20 12:05:58 +02:00
rich_text Auto-fix clippy::collapsible_if violations (#36428) 2025-08-19 13:27:24 +00:00
rope Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
rpc Fix overlooked Clippy lints (#36659) 2025-08-21 06:48:04 +00:00
rules_library Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
schema_generator
search Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
semantic_index Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
semantic_version Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
session Auto-fix clippy::collapsible_if violations (#36428) 2025-08-19 13:27:24 +00:00
settings Add Rodio audio pipeline as alternative to current LiveKit pipeline (#36607) 2025-08-21 15:56:16 +02:00
settings_profile_selector Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
settings_ui keymap_ui: Improve conflict resolution for semantically equal contexts (#36204) 2025-08-22 00:18:25 +00:00
snippet Fix a bunch of other low-hanging style lints (#36498) 2025-08-19 21:26:17 +02:00
snippet_provider Fix a bunch of other low-hanging style lints (#36498) 2025-08-19 21:26:17 +02:00
snippets_ui Auto-fix clippy::collapsible_if violations (#36428) 2025-08-19 13:27:24 +00:00
sqlez Auto-fix clippy::collapsible_if violations (#36428) 2025-08-19 13:27:24 +00:00
sqlez_macros
story Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
storybook Another batch of lint fixes (#36521) 2025-08-19 20:33:44 +00:00
streaming_diff Fix clippy::needless_borrow lint violations (#36444) 2025-08-18 21:54:35 +00:00
sum_tree Fix a bunch of other low-hanging style lints (#36498) 2025-08-19 21:26:17 +02:00
supermaven Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
supermaven_api Fix a bunch of other low-hanging style lints (#36498) 2025-08-19 21:26:17 +02:00
svg_preview Another batch of lint fixes (#36521) 2025-08-19 20:33:44 +00:00
system_specs Add GPU info to Sentry crashes (#36624) 2025-08-21 19:59:42 -04:00
tab_switcher Make tab switcher show preview of selected tab (#36718) 2025-08-22 00:21:36 +02:00
task remote: Fetch shell on ssh remote to use for preparing commands (#36690) 2025-08-21 19:08:26 +02:00
tasks_ui Fix clippy::len_zero lint style violations (#36589) 2025-08-20 14:35:59 +00:00
telemetry Fix a bunch of other low-hanging style lints (#36498) 2025-08-19 21:26:17 +02:00
telemetry_events Remove old telemetry events and transformation layer (#36263) 2025-08-15 15:37:52 -04:00
terminal Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
terminal_view Move APCA contrast from terminal_view to ui utils (#36731) 2025-08-22 10:17:37 +05:30
text Fix a bunch of other low-hanging style lints (#36498) 2025-08-19 21:26:17 +02:00
theme Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
theme_extension
theme_importer Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
theme_selector Redesign and clean up all icons across Zed (#35856) 2025-08-08 15:34:36 -03:00
time_format agent: Add date separators to Thread History (#29961) 2025-05-06 10:18:48 +00:00
title_bar Enforce style lints which do not have violations (#36580) 2025-08-20 14:07:37 +02:00
toolchain_selector remote: Fix toolchain RPC messages not being handled because of the entity getting dropped (#36665) 2025-08-21 09:37:45 +00:00
ui Move APCA contrast from terminal_view to ui utils (#36731) 2025-08-22 10:17:37 +05:30
ui_input Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
ui_macros Update syn crate from 1.0.109 to 2.0.101 (#31301) 2025-05-23 19:31:25 +00:00
ui_prompt ui_prompt: Fix prompt dialog is hard to see on large screen (#35348) 2025-07-30 23:03:53 +05:30
util remote: Fetch shell on ssh remote to use for preparing commands (#36690) 2025-08-21 19:08:26 +02:00
util_macros Remove separator! macro and make path! handle relative paths (#32527) 2025-06-13 06:32:29 +00:00
vercel openai: Don't send prompt_cache_key for OpenAI-compatible models (#36231) 2025-08-15 13:54:24 +03:00
vim vim: Fix cursor jumping past empty lines with inlay hints in visual mode (#35757) 2025-08-21 21:20:22 -06:00
vim_mode_setting vim: Fix escape key switching back to default mode instead of normal mode (#31843) 2025-06-18 21:26:12 +00:00
watch Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
web_search Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
web_search_providers Another batch of lint fixes (#36521) 2025-08-19 20:33:44 +00:00
workspace Add GPU info to Sentry crashes (#36624) 2025-08-21 19:59:42 -04:00
worktree Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
x_ai lints: A bunch of extra style lint fixes (#36568) 2025-08-20 12:05:58 +02:00
zed Add GPU info to Sentry crashes (#36624) 2025-08-21 19:59:42 -04:00
zed_actions Allow editing Agent2 messages (#36155) 2025-08-14 13:39:33 +00:00
zeta Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
zeta_cli Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
zlog Fix clippy::redundant_clone lint violations (#36558) 2025-08-20 12:20:13 +02:00
zlog_settings VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00