[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Realiserad--fish-ai":3,"tool-Realiserad--fish-ai":64},[4,23,32,40,48,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":22},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,2,"2026-04-05T10:45:23",[13,14,15,16,17,18,19,20,21],"图像","数据工具","视频","插件","Agent","其他","语言模型","开发框架","音频","ready",{"id":24,"name":25,"github_repo":26,"description_zh":27,"stars":28,"difficulty_score":29,"last_commit_at":30,"category_tags":31,"status":22},2181,"OpenHands","OpenHands\u002FOpenHands","OpenHands 是一个专注于 AI 驱动开发的开源平台，旨在让智能体（Agent）像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点，通过自动化流程显著提升开发速度。\n\n无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员，还是需要快速原型验证的技术团队，都能从中受益。OpenHands 提供了灵活多样的使用方式：既可以通过命令行（CLI）或本地图形界面在个人电脑上轻松上手，体验类似 Devin 的流畅交互；也能利用其强大的 Python SDK 自定义智能体逻辑，甚至在云端大规模部署上千个智能体并行工作。\n\n其核心技术亮点在于模块化的软件智能体 SDK，这不仅构成了平台的引擎，还支持高度可组合的开发模式。此外，OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩，证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能，支持与 Slack、Jira 等工具集成，并提供细粒度的权限管理，适合从个人开发者到大型企业的各类用户场景。",70612,3,"2026-04-05T11:12:22",[19,17,20,16],{"id":33,"name":34,"github_repo":35,"description_zh":36,"stars":37,"difficulty_score":10,"last_commit_at":38,"category_tags":39,"status":22},3074,"gpt4free","xtekky\u002Fgpt4free","gpt4free 是一个由社区驱动的开源项目，旨在聚合多种可访问的大型语言模型（LLM）和媒体生成接口，让用户能更灵活、便捷地使用前沿 AI 能力。它解决了直接调用各类模型时面临的接口分散、门槛高或成本昂贵等痛点，通过统一的标准将不同提供商的资源整合在一起。\n\n无论是希望快速集成 AI 功能的开发者、需要多模型对比测试的研究人员，还是想免费体验最新技术的普通用户，都能从中受益。gpt4free 提供了丰富的使用方式：既包含易于上手的 Python 和 JavaScript 客户端库，也支持部署本地图形界面（GUI），更提供了兼容 OpenAI 标准的 REST API，方便无缝替换现有应用后端。\n\n其技术亮点在于强大的多提供商支持架构，能够动态调度包括 Opus、Gemini、DeepSeek 等多种主流模型资源，并支持 Docker 一键部署及本地推理。项目秉持社区优先原则，在降低使用门槛的同时，也为贡献者提供了扩展新接口的便利框架，是探索和利用多样化 AI 资源的实用工具。",65970,"2026-04-04T01:02:03",[16,19,17],{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":10,"last_commit_at":46,"category_tags":47,"status":22},51,"gstack","garrytan\u002Fgstack","gstack 是 Y Combinator CEO Garry Tan 亲自开源的一套 AI 工程化配置，旨在将 Claude Code 升级为你的虚拟工程团队。面对单人开发难以兼顾产品战略、架构设计、代码审查及质量测试的挑战，gstack 提供了一套标准化解决方案，帮助开发者实现堪比二十人团队的高效产出。\n\n这套配置特别适合希望提升交付效率的创始人、技术负责人，以及初次尝试 Claude Code 的开发者。gstack 的核心亮点在于内置了 15 个具有明确职责的 AI 角色工具，涵盖 CEO、设计师、工程经理、QA 等职能。用户只需通过简单的斜杠命令（如 `\u002Freview` 进行代码审查、`\u002Fqa` 执行测试、`\u002Fplan-ceo-review` 规划功能），即可自动化处理从需求分析到部署上线的全链路任务。\n\n所有操作基于 Markdown 和斜杠命令，无需复杂配置，完全免费且遵循 MIT 协议。gstack 不仅是一套工具集，更是一种现代化的软件工厂实践，让单人开发者也能拥有严谨的工程流程。",64261,"2026-04-05T11:08:43",[17,16],{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":10,"last_commit_at":54,"category_tags":55,"status":22},193,"meilisearch","meilisearch\u002Fmeilisearch","Meilisearch 是一个开源的极速搜索服务，专为现代应用和网站打造，开箱即用。它能帮助开发者快速集成高质量的搜索功能，无需复杂的配置或额外的数据预处理。传统搜索方案往往需要大量调优才能实现准确结果，而 Meilisearch 内置了拼写容错、同义词识别、即时响应等实用特性，并支持 AI 驱动的混合搜索（结合关键词与语义理解），显著提升用户查找信息的体验。\n\nMeilisearch 特别适合 Web 开发者、产品团队或初创公司使用，尤其适用于需要快速上线搜索功能的场景，如电商网站、内容平台或 SaaS 应用。它提供简洁的 RESTful API 和多种语言 SDK，部署简单，资源占用低，本地开发或生产环境均可轻松运行。对于希望在不依赖大型云服务的前提下，为用户提供流畅、智能搜索体验的团队来说，Meilisearch 是一个高效且友好的选择。",56964,"2026-04-05T08:19:14",[13,17,14,20,16,18],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":22},4022,"awesome-claude-skills","ComposioHQ\u002Fawesome-claude-skills","awesome-claude-skills 是一个精心整理的开源资源库，旨在帮助用户挖掘和扩展 Claude AI 的潜力。它不仅仅是一份列表，更提供了实用的“技能（Skills）”模块，让 Claude 从单纯的文本生成助手，进化为能执行复杂工作流的智能代理。\n\n许多用户在使用 AI 时，常受限于其无法直接操作外部软件或处理特定格式文件的痛点。awesome-claude-skills 通过预设的工作流解决了这一问题：它不仅能教会 Claude 专业地处理 Word、PDF 等文档，进行代码开发与数据分析，还能借助 Composio 插件连接 Slack、邮箱及数百种常用应用，实现发送邮件、创建任务等自动化操作。这使得重复性任务变得标准化且可复用，极大提升了工作效率。\n\n无论是希望优化日常办公流程的普通用户、需要处理复杂文档的研究人员，还是寻求将 AI 深度集成到开发管线中的开发者，都能从中找到适合的解决方案。其独特的技术亮点在于“技能”的可定制性与强大的应用连接能力，让用户无需编写复杂代码，即可通过简单的配置让 Claude 具备跨平台执行真实任务的能力。如果你希望让 Claude",51312,"2026-04-05T19:04:23",[17,16],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":78,"owner_location":78,"owner_email":78,"owner_twitter":78,"owner_website":78,"owner_url":79,"languages":80,"stars":93,"forks":94,"last_commit_at":95,"license":96,"difficulty_score":10,"env_os":97,"env_gpu":98,"env_ram":98,"env_deps":99,"category_tags":107,"github_topics":108,"view_count":110,"oss_zip_url":78,"oss_zip_packed_at":78,"status":22,"created_at":111,"updated_at":112,"faqs":113,"releases":141},692,"Realiserad\u002Ffish-ai","fish-ai","Supercharge your command line with LLMs and get shell scripting assistance in Fish. 💪","fish-ai 是一款专为 Fish Shell 打造的智能辅助插件，旨在利用大语言模型增强命令行体验。它能有效解决查阅文档、记忆复杂参数以及修正拼写错误的痛点。当用户输入自然语言注释时，fish-ai 可自动生成对应的 Shell 命令；若命令执行失败，它也能像 thefuck 一样提供修复建议。此外，内置的模糊匹配功能支持智能补全，仅需两个键盘快捷键即可完成操作，全程无需鼠标。\n\nfish-ai 特别适合习惯使用 Fish Shell 的开发者、运维人员及系统管理员。其技术亮点在于高度可配置，支持接入 Anthropic、Azure OpenAI 甚至本地部署的私有模型，兼顾灵活性与数据隐私。作为开源项目，fish-ai 代码精简易读，通过 fisher 即可快速安装，且不会干扰 fzf.fish 等其他现有插件。如果你希望提升终端工作效率，fish-ai 是一个值得尝试的轻量级解决方案。","![Badge with time spent](https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FRealiserad%2Fd3ec7fdeecc35aeeb315b4efba493326%2Fraw%2Ffish-ai-git-estimate.json)\n![Popularity badge](https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FRealiserad%2Fd3ec7fdeecc35aeeb315b4efba493326%2Fraw%2Fpopularity.json)\n[![Donate XMR](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDonate_XMR-grey?style=for-the-badge&logo=monero)](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F07a2947f-6e5a-480f-990a-77204933411f)\n\n# About\n\n`fish-ai` adds AI functionality to [Fish](https:\u002F\u002Ffishshell.com).\nIt's awesome! I built it to make my life easier, and I hope it will make\nyours easier too. Here is the complete sales pitch:\n\n- It can turn a comment into a shell command and vice versa, which means\nless time spent\nreading manpages, googling and copy-pasting from Stack Overflow. Great\nwhen working with `git`, `kubectl`, `curl` and other tools with loads\nof parameters and switches.\n- Did you make a typo? It can also fix a broken command (similarly to\n[`thefuck`](https:\u002F\u002Fgithub.com\u002Fnvbn\u002Fthefuck)).\n- Not sure what to type next or just lazy? Let the LLM autocomplete\nyour commands with a built in fuzzy finder.\n- Everything is done using two (configurable) keyboard shortcuts, no mouse needed!\n- It can be hooked up to the LLM of your choice (even a self-hosted one!).\n- The whole thing is open source, hopefully somewhat easy to read and\naround 2000 lines of code, which means that you can audit the code\nyourself in an afternoon.\n- Install and update with ease using [`fisher`](https:\u002F\u002Fgithub.com\u002Fjorgebucaran\u002Ffisher).\n- Tested on both macOS and the most common Linux distributions.\n- Does not interfere with [`fzf.fish`](https:\u002F\u002Fgithub.com\u002FPatrickF1\u002Ffzf.fish),\n[`tide`](https:\u002F\u002Fgithub.com\u002FIlanCosman\u002Ftide) or any of the other plugins\nyou're already using!\n- Does not wrap your shell, install telemetry or force you to switch\nto a proprietary terminal emulator.\n\nThis plugin was originally based on [Tom Dörr's `fish.codex` repository](https:\u002F\u002Fgithub.com\u002Ftom-doerr\u002Fcodex.fish).\nWithout Tom, this repository would not exist!\n\nIf you like it, please add a ⭐.\n\nBug fixes are welcome! I consider this project largely feature complete.\nBefore opening a PR for a feature request, consider opening an issue where\nyou explain what you want to add and why, and we can talk about it first.\n\n## 🎥 Demo\n\n![Demo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRealiserad_fish-ai_readme_4a2c07f4cafd.png)\n\n## 👨‍🔧 How to install\n\n### Install `fish-ai`\n\nMake sure `git` and either [`uv`](https:\u002F\u002Fgithub.com\u002Fastral-sh\u002Fuv), or\n[a supported version of Python](https:\u002F\u002Fgithub.com\u002FRealiserad\u002Ffish-ai\u002Fblob\u002Fmain\u002F.github\u002Fworkflows\u002Fpython-tests.yaml)\nalong with `pip` and `venv` is installed. Then grab the plugin using\n[`fisher`](https:\u002F\u002Fgithub.com\u002Fjorgebucaran\u002Ffisher):\n\n```shell\nfisher install realiserad\u002Ffish-ai\n```\n\n### Create a configuration\n\nCreate a configuration file `$XDG_CONFIG_HOME\u002Ffish-ai.ini` (use\n`~\u002F.config\u002Ffish-ai.ini` if `$XDG_CONFIG_HOME` is not set) where\nyou specify which LLM `fish-ai` should talk to. If you're not sure,\nuse GitHub Models.\n\n#### Anthropic\n\nTo use [Anthropic](https:\u002F\u002Fwww.anthropic.com):\n\n```ini\n[anthropic]\nprovider = anthropic\napi_key = \u003Cyour API key>\nmodel = claude-sonnet-4-6\n```\n\n#### Azure OpenAI\n\nTo use [Azure OpenAI](https:\u002F\u002Fazure.microsoft.com\u002Fen-us\u002Fproducts\u002Fai-services\u002Fopenai-service):\n\n```ini\n[fish-ai]\nconfiguration = azure\n\n[azure]\nprovider = azure\nserver = https:\u002F\u002F\u003Cyour instance>.openai.azure.com\nmodel = \u003Cyour deployment name>\napi_key = \u003Cyour API key>\n```\n\n#### Bedrock\n\nTo use models on [AWS Bedrock](https:\u002F\u002Faws.amazon.com\u002Fbedrock\u002F) via the\n[OpenAI-compatible API](https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock\u002Flatest\u002Fuserguide\u002Fbedrock-mantle.html):\n\n```ini\n[fish-ai]\nconfiguration = bedrock\n\n[bedrock]\nprovider = bedrock\naws_region = us-east-1\n```\n\nIf no `api_key` is configured, a short-term token is automatically\ngenerated from your\n[AWS credentials](https:\u002F\u002Fdocs.aws.amazon.com\u002Fcli\u002Flatest\u002Fuserguide\u002Fcli-chap-authentication.html)\n(SSO, IAM roles, environment variables, etc.). You can also specify\nan `api_key` directly if you prefer to use a\n[Bedrock API key](https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock\u002Flatest\u002Fuserguide\u002Fapi-keys.html).\n\nThis uses the Bedrock Mantle gateway which supports all models available\non Bedrock. See the\n[supported regions](https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock\u002Flatest\u002Fuserguide\u002Fbedrock-mantle.html)\nfor available regions.\n\n#### Cohere\n\nTo use [Cohere](https:\u002F\u002Fcohere.com):\n\n```ini\n[cohere]\nprovider = cohere\napi_key = \u003Cyour API key>\nmodel = command-a-03-2025\n```\n\n#### DeepSeek\n\nTo use [DeepSeek](https:\u002F\u002Fwww.deepseek.com):\n\n```ini\n[deepseek]\nprovider = deepseek\napi_key = \u003Cyour API key>\nmodel = deepseek-chat\n```\n\n#### GitHub Models\n\nTo use [GitHub Models](https:\u002F\u002Fgithub.com\u002Fmarketplace\u002Fmodels):\n\n```ini\n[fish-ai]\nconfiguration = github\n\n[github]\nprovider = self-hosted\nserver = https:\u002F\u002Fmodels.github.ai\u002Finference\napi_key = \u003Cpaste GitHub PAT here>\nmodel = gpt-4o-mini\n```\n\nYou can create a personal access token (PAT) [here](https:\u002F\u002Fgithub.com\u002Fsettings\u002Ftokens).\nThe PAT does not require any permissions.\n\n#### Google\n\nTo use [Gemini](https:\u002F\u002Fai.google.com) from Google:\n\n```ini\n[google]\nprovider = google\napi_key = \u003Cyour API key>\nmodel = gemini-3.1-pro-preview\n```\n\n#### Groq\n\nTo use [Groq](https:\u002F\u002Fgroq.com):\n\n```ini\n[groq]\nprovider = groq\napi_key = \u003Cyour API key>\n```\n\n#### Mistral\n\nTo use [Mistral](https:\u002F\u002Fmistral.ai):\n\n```ini\n[fish-ai]\nconfiguration = mistral\n\n[mistral]\nprovider = mistral\napi_key = \u003Cyour API key>\n```\n\n#### OpenAI\n\nTo use [OpenAI](https:\u002F\u002Fplatform.openai.com):\n\n```ini\n[fish-ai]\nconfiguration = openai\n\n[openai]\nprovider = openai\nmodel = gpt-4o\napi_key = \u003Cyour API key>\norganization = \u003Cyour organization>\n```\n\n#### OpenRouter\n\nTo use [OpenRouter](https:\u002F\u002Fopenrouter.ai):\n\n```ini\n[fish-ai]\nconfiguration = openrouter\n\n[openrouter]\nprovider = self-hosted\nserver = https:\u002F\u002Fopenrouter.ai\u002Fapi\u002Fv1\nmodel = google\u002Fgemini-3-flash-preview\napi_key = \u003Cyour API key>\nextra_body = {\"reasoning\": {\"effort\": \"minimal\", \"exclude\": true}}\n```\n\n#### Self-hosted\n\nTo use a self-hosted LLM (behind an OpenAI-compatible API):\n\n```ini\n[fish-ai]\nconfiguration = self-hosted\n\n[self-hosted]\nprovider = self-hosted\nserver = https:\u002F\u002F\u003Cyour server>:\u003Cport>\u002Fv1\nmodel = \u003Cyour model>\napi_key = \u003Cyour API key>\n```\n\nIf you are self-hosting, my recommendation is to use\n[Ollama](https:\u002F\u002Fgithub.com\u002Follama\u002Follama) with\n[Llama 3.3 70B](https:\u002F\u002Follama.com\u002Flibrary\u002Fllama3.3). An out of the box\nconfiguration  running on `localhost` could then look something\nlike this:\n\n```ini\n[fish-ai]\nconfiguration = local-llama\n\n[local-llama]\nprovider = self-hosted\nmodel = llama3.3\nserver = http:\u002F\u002Flocalhost:11434\u002Fv1\n```\n\nAvailable models are listed [here](https:\u002F\u002Fopenrouter.ai\u002Fmodels).\n\n### Put the API key on your keyring\n\nInstead of putting the API key in the configuration file, you can let\n`fish-ai` load it from your keyring. To save a new API key or transfer\nan existing API key to your keyring, run `fish_ai_put_api_key`.\n\n## 🙉 How to use\n\n### Transform comments into commands and vice versa\n\nType a comment (anything starting with `#`), and press **Ctrl + P** to turn it\ninto shell command! Note that if your comment is very brief or vague, the LLM\nmay decide to improve the comment instead of providing a shell command. You\nthen need to press **Ctrl + P** again.\n\nYou can also run it in reverse. Type a command and press **Ctrl + P** to turn it\ninto a comment explaining what the command does.\n\n### Autocomplete commands\n\nBegin typing your command or comment and press **Ctrl + Space** to display a list\nof completions in [`fzf`](https:\u002F\u002Fgithub.com\u002Fjunegunn\u002Ffzf) (it is bundled\nwith the plugin, no need to install it separately).\n\nTo refine the results, type some instructions and press **Ctrl + P**\ninside `fzf`.\n\n### Suggest fixes\n\nIf a command fails, you can immediately press **Ctrl + Space** at the command prompt\nto let `fish-ai` suggest a fix!\n\n## 🤸 Additional options\n\nYou can tweak the behaviour of `fish-ai` by putting additional options in your\n`fish-ai.ini` configuration file.\n\n### Change the default key bindings\n\nBy default, `fish-ai` binds to **Ctrl + P** and **Ctrl + Space**. You\nmay want to change this if there is interference with any existing key\nbindings on your system.\n\nTo change the key bindings, set `keymap_1` (defaults to **Ctrl + P**)\nand `keymap_2` (defaults to **Ctrl + Space**) to the key binding escape\nsequence of the key binding you want to use.\n\nTo get the correct key binding escape sequence, use\n[`fish_key_reader`](https:\u002F\u002Ffishshell.com\u002Fdocs\u002Fcurrent\u002Fcmds\u002Ffish_key_reader.html).\n\nFor example, if you have the following output from `fish_key_reader`:\n\n```shell\n$ fish_key_reader\nPress a key:\nbind ctrl-p 'do something'\n$ fish_key_reader\nPress a key:\nbind ctrl-space 'do something'\n```\n\nThen put the following in your configuration file:\n\n```ini\n[fish-ai]\nkeymap_1 = 'ctrl-p'\nkeymap_2 = 'ctrl-space'\n```\n\nRestart the shell for the changes to take effect.\n\n### Explain in a different language\n\nTo explain shell commands in a different language, set the `language` option\nto the name of the language. For example:\n\n```ini\n[fish-ai]\nlanguage = Swedish\n```\n\nThis will only work well if the LLM you are using has been trained on a dataset\nwith the chosen language.\n\n### Number of completions\n\nTo change the number of completions suggested by the LLM when pressing\n**Ctrl + Space**, set the `completions` option. The default value is `5`.\n\nHere is an example of how you can increase the number of completions to `10`:\n\n```ini\n[fish-ai]\ncompletions = 10\n```\n\nTo change the number of refined completions suggested by the LLM when pressing\n**Ctrl + P** in `fzf`, set the `refined_completions` option. The default value\nis `3`.\n\n```ini\n[fish-ai]\nrefined_completions = 5\n```\n\n### Personalise completions using commandline history\n\nYou can personalise completions suggested by the LLM by sending\nan excerpt of your commandline history.\n\nTo enable it, specify the maximum number of commands from the history\nto send to the LLM using the `history_size` option. The default value\nis `0` (do not send any commandline history).\n\n```ini\n[fish-ai]\nhistory_size = 5\n```\n\nIf you enable this option, consider the use of [`sponge`](https:\u002F\u002Fgithub.com\u002Fmeaningful-ooo\u002Fsponge)\nto automatically remove broken commands from your commandline history.\n\n### Preview pipes\n\nTo send the output of a pipe to the LLM when completing a command, use the\n`preview_pipe` option.\n\n```ini\n[fish-ai]\npreview_pipe = True\n```\n\nThis will send the output of the longest consecutive pipe after the last\nunterminated parenthesis before the cursor. For example, if you autocomplete\n`az vm list | jq`, the output from `az vm list` will be sent to the LLM.\n\nThis behaviour is disabled by default, as it may slow down the completion\nprocess and lead to commands being executed twice.\n\n### Configure the progress indicator\n\nYou can change the progress indicator (the default is ⏳) shown when the\nplugin is waiting for a response from the LLM.\n\nTo change the default, set the `progress_indicator` option to zero or\nmore characters.\n\n```ini\n[fish-ai]\nprogress_indicator = wait...\n```\n\n### Use custom headers\n\nYou can send custom HTTP headers using the `headers` option. Specify one\nor more headers using comma-separated `Key: Value` pairs. For example:\n\n```ini\n[fish-ai]\nheaders = Header-1: value1, Header-2: value2\n```\n\n## 🎭 Switch between contexts\n\nYou can switch between different sections in the configuration using the\n`fish_ai_switch_context` command.\n\n## 🐾 Data privacy\n\nWhen using the plugin, `fish-ai` submits the name of your OS and the\ncommandline buffer to the LLM.\n\nWhen you codify or complete a command, it also sends the contents of any\nfiles you mention (as long as the file is readable), and when you explain\nor complete a command, the output from `\u003Ccommand> --help` is provided to\nthe LLM for reference.\n\n`fish-ai` can also send an excerpt of your commandline history\nwhen completing a command. This is disabled by default.\n\nFinally, to fix the previous command, the previous commandline buffer,\nalong with any terminal output and the corresponding exit code is sent\nto the LLM.\n\nIf you are concerned with data privacy, you should use a self-hosted\nLLM. When hosted locally, no data ever leaves your machine.\n\n### Redaction of sensitive information\n\nThe plugin attempts to redact sensitive information from the prompt\nbefore submitting it to the LLM. Sensitive information is replaced by\nthe `\u003CREDACTED>` placeholder.\n\nThe following information is redacted:\n\n- Passwords and API keys supplied as commandline arguments\n- PEM-encoded private keys stored in files\n- Bearer tokens, provided to e.g. cURL\n\nIf you trust the LLM provider (e.g. because you are hosting locally)\nyou can disable redaction using the `redact = False` option.\n","![Badge with time spent](https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FRealiserad%2Fd3ec7fdeecc35aeeb315b4efba493326%2Fraw%2Ffish-ai-git-estimate.json)\n![Popularity badge](https:\u002F\u002Fimg.shields.io\u002Fendpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FRealiserad%2Fd3ec7fdeecc35aeeb315b4efba493326%2Fraw%2Fpopularity.json)\n[![Donate XMR](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDonate_XMR-grey?style=for-the-badge&logo=monero)](https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F07a2947f-6e5a-480f-990a-77204933411f)\n\n# 关于\n\n`fish-ai` 为 [Fish](https:\u002F\u002Ffishshell.com) 添加了 AI 功能。\n它非常棒！我构建它是为了简化我的生活，也希望它能简化你的生活。\n以下是完整的功能介绍：\n\n- 它可以将注释转换为 Shell 命令，反之亦然，这意味着减少了阅读 manpages（手册页）、Google 搜索以及从 Stack Overflow 复制粘贴的时间。在处理 `git`、`kubectl`、`curl` 和其他拥有大量参数和开关的工具时非常有用。\n- 打错字了吗？它也可以修复错误的命令（类似于 [`thefuck`](https:\u002F\u002Fgithub.com\u002Fnvbn\u002Fthefuck)）。\n- 不确定接下来该输入什么或者只是懒得打字？让 LLM（大型语言模型）配合内置的模糊查找器自动补全你的命令。\n- 所有操作均通过两个（可配置的）键盘快捷键完成，无需鼠标！\n- 它可以连接到您选择的 LLM（甚至是自托管的！）。\n- 整个项目是开源的，希望能做到易于阅读，代码量约 2000 行，这意味着你可以在一个下午内自行审计代码。\n- 使用 [`fisher`](https:\u002F\u002Fgithub.com\u002Fjorgebucaran\u002Ffisher) 轻松安装和更新。\n- 已在 macOS 和最常见的 Linux 发行版上测试。\n- 不会干扰 [`fzf.fish`](https:\u002F\u002Fgithub.com\u002FPatrickF1\u002Ffzf.fish)、[`tide`](https:\u002F\u002Fgithub.com\u002FIlanCosman\u002Ftide) 或你正在使用的任何其他插件！\n- 不会包装你的 Shell，不会安装遥测，也不会强迫你切换到专有终端模拟器。\n\n此插件最初基于 [Tom Dörr 的 `fish.codex` 仓库](https:\u002F\u002Fgithub.com\u002Ftom-doerr\u002Fcodex.fish)。\n没有 Tom，这个仓库就不会存在！\n\n如果你喜欢它，请添加一颗 ⭐。\n\n欢迎提交 Bug 修复！我认为该项目已基本功能完备。\n在针对功能请求打开 PR 之前，建议先打开一个 Issue，说明你想添加什么以及为什么，我们可以先讨论一下。\n\n## 🎥 演示\n\n![Demo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRealiserad_fish-ai_readme_4a2c07f4cafd.png)\n\n## 👨‍🔧 如何安装\n\n### 安装 fish-ai\n\n确保已安装 `git` 以及 [`uv`](https:\u002F\u002Fgithub.com\u002Fastral-sh\u002Fuv)，或者支持版本的 Python 以及 `pip`（包管理器）和 `venv`（虚拟环境）。\n然后使用 [`fisher`](https:\u002F\u002Fgithub.com\u002Fjorgebucaran\u002Ffisher) 获取插件：\n\n```shell\nfisher install realiserad\u002Ffish-ai\n```\n\n### 创建配置\n\n创建一个配置文件 `$XDG_CONFIG_HOME\u002Ffish-ai.ini`（如果未设置 `$XDG_CONFIG_HOME`，则使用 `~\u002F.config\u002Ffish-ai.ini`），在其中指定 `fish-ai` 应该与哪个 LLM 通信。\n如果你不确定，请使用 GitHub Models。\n\n#### Anthropic\n\n要使用 [Anthropic](https:\u002F\u002Fwww.anthropic.com)：\n\n```ini\n[anthropic]\nprovider = anthropic\napi_key = \u003Cyour API key>\nmodel = claude-sonnet-4-6\n```\n\n#### Azure OpenAI\n\n要使用 [Azure OpenAI](https:\u002F\u002Fazure.microsoft.com\u002Fen-us\u002Fproducts\u002Fai-services\u002Fopenai-service)：\n\n```ini\n[fish-ai]\nconfiguration = azure\n\n[azure]\nprovider = azure\nserver = https:\u002F\u002F\u003Cyour instance>.openai.azure.com\nmodel = \u003Cyour deployment name>\napi_key = \u003Cyour API key>\n```\n\n#### Bedrock\n\n要通过 [OpenAI 兼容 API](https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock\u002Flatest\u002Fuserguide\u002Fbedrock-mantle.html) 使用 [AWS Bedrock](https:\u002F\u002Faws.amazon.com\u002Fbedrock\u002F) 上的模型：\n\n```ini\n[fish-ai]\nconfiguration = bedrock\n\n[bedrock]\nprovider = bedrock\naws_region = us-east-1\n```\n\n如果未配置 `api_key`，将自动从您的 [AWS 凭证](https:\u002F\u002Fdocs.aws.amazon.com\u002Fcli\u002Flatest\u002Fuserguide\u002Fcli-chap-authentication.html)（SSO（单点登录）、IAM（身份和访问管理）角色、环境变量等）生成短期令牌。\n如果您更喜欢使用 [Bedrock API 密钥](https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock\u002Flatest\u002Fuserguide\u002Fapi-keys.html)，也可以直接指定 `api_key`。\n\n这使用了支持 Bedrock 上所有可用模型的 Bedrock Mantle 网关。\n请参阅 [支持的区域](https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock\u002Flatest\u002Fuserguide\u002Fbedrock-mantle.html) 以查看可用区域。\n\n#### Cohere\n\n要使用 [Cohere](https:\u002F\u002Fcohere.com)：\n\n```ini\n[cohere]\nprovider = cohere\napi_key = \u003Cyour API key>\nmodel = command-a-03-2025\n```\n\n#### DeepSeek\n\n要使用 [DeepSeek](https:\u002F\u002Fwww.deepseek.com)：\n\n```ini\n[deepseek]\nprovider = deepseek\napi_key = \u003Cyour API key>\nmodel = deepseek-chat\n```\n\n#### GitHub Models\n\n要使用 [GitHub Models](https:\u002F\u002Fgithub.com\u002Fmarketplace\u002Fmodels)：\n\n```ini\n[fish-ai]\nconfiguration = github\n\n[github]\nprovider = self-hosted\nserver = https:\u002F\u002Fmodels.github.ai\u002Finference\napi_key = \u003Cpaste GitHub PAT here>\nmodel = gpt-4o-mini\n```\n\n你可以在此处创建个人访问令牌 (PAT)。\nPAT 不需要任何权限。\n\n#### Google\n\n要使用来自 Google 的 [Gemini](https:\u002F\u002Fai.google.com)：\n\n```ini\n[google]\nprovider = google\napi_key = \u003Cyour API key>\nmodel = gemini-3.1-pro-preview\n```\n\n#### Groq\n\n要使用 [Groq](https:\u002F\u002Fgroq.com)：\n\n```ini\n[groq]\nprovider = groq\napi_key = \u003Cyour API key>\n```\n\n#### Mistral\n\n要使用 [Mistral](https:\u002F\u002Fmistral.ai)：\n\n```ini\n[fish-ai]\nconfiguration = mistral\n\n[mistral]\nprovider = mistral\napi_key = \u003Cyour API key>\n```\n\n#### OpenAI\n\n要使用 [OpenAI](https:\u002F\u002Fplatform.openai.com)：\n\n```ini\n[fish-ai]\nconfiguration = openai\n\n[openai]\nprovider = openai\nmodel = gpt-4o\napi_key = \u003Cyour API key>\norganization = \u003Cyour organization>\n```\n\n#### OpenRouter\n\n要使用 [OpenRouter](https:\u002F\u002Fopenrouter.ai)：\n\n```ini\n[fish-ai]\nconfiguration = openrouter\n\n[openrouter]\nprovider = self-hosted\nserver = https:\u002F\u002Fopenrouter.ai\u002Fapi\u002Fv1\nmodel = google\u002Fgemini-3-flash-preview\napi_key = \u003Cyour API key>\nextra_body = {\"reasoning\": {\"effort\": \"minimal\", \"exclude\": true}}\n```\n\n#### 自托管\n\n要使用自托管的 LLM（位于 OpenAI 兼容 API 之后）：\n\n```ini\n[fish-ai]\nconfiguration = self-hosted\n\n[self-hosted]\nprovider = self-hosted\nserver = https:\u002F\u002F\u003Cyour server>:\u003Cport>\u002Fv1\nmodel = \u003Cyour model>\napi_key = \u003Cyour API key>\n```\n\n如果您选择自托管，我建议使用 [Ollama](https:\u002F\u002Fgithub.com\u002Follama\u002Follama) 搭配 [Llama 3.3 70B](https:\u002F\u002Follama.com\u002Flibrary\u002Fllama3.3)。\n运行在 `localhost` 上的开箱即用配置可能如下所示：\n\n```ini\n[fish-ai]\nconfiguration = local-llama\n\n[local-llama]\nprovider = self-hosted\nmodel = llama3.3\nserver = http:\u002F\u002Flocalhost:11434\u002Fv1\n```\n\n可用模型列于 [此处](https:\u002F\u002Fopenrouter.ai\u002Fmodels)。\n\n### 将 API key（API 密钥）放入你的 keyring（密钥环）\n\n不要将 API key 放在配置文件中，你可以让 `fish-ai` 从你的 keyring 中加载它。要保存新的 API key 或将现有的 API key 转移到你的 keyring，请运行 `fish_ai_put_api_key`。\n\n## 🙉 如何使用\n\n### 将注释转换为命令，反之亦然\n\n输入一个注释（任何以 `#` 开头的内容），然后按 **Ctrl + P** 将其转换为 shell 命令！注意，如果你的注释非常简短或模糊，LLM（大型语言模型）可能会决定改进注释而不是提供 shell 命令。这时你需要再次按 **Ctrl + P**。\n\n你也可以反向操作。输入一个命令并按 **Ctrl + P** 将其转换为解释该命令作用的注释。\n\n### 自动补全命令\n\n开始输入你的命令或注释，然后按 **Ctrl + Space** 在 [`fzf`](https:\u002F\u002Fgithub.com\u002Fjunegunn\u002Ffzf) 中显示补全列表（它随插件捆绑在一起，无需单独安装）。\n\n为了优化结果，在 `fzf` 内输入一些指令并按 **Ctrl + P**。\n\n### 建议修复方案\n\n如果命令失败，你可以在命令提示符处立即按 **Ctrl + Space**，让 `fish-ai` 建议修复方案！\n\n## 🤸 其他选项\n\n你可以通过在 `fish-ai.ini` 配置文件中添加额外选项来调整 `fish-ai` 的行为。\n\n### 更改默认键盘绑定\n\n默认情况下，`fish-ai` 绑定到 **Ctrl + P** 和 **Ctrl + Space**。如果你的系统上存在任何现有键盘绑定的干扰，你可能想要更改此设置。\n\n要更改键盘绑定，请将 `keymap_1`（默认为 **Ctrl + P**）和 `keymap_2`（默认为 **Ctrl + Space**）设置为你要使用的键盘绑定的转义序列。\n\n要获取正确的键盘绑定转义序列，请使用 [`fish_key_reader`](https:\u002F\u002Ffishshell.com\u002Fdocs\u002Fcurrent\u002Fcmds\u002Ffish_key_reader.html)。\n\n例如，如果你有来自 `fish_key_reader` 的以下输出：\n\n```shell\n$ fish_key_reader\nPress a key:\nbind ctrl-p 'do something'\n$ fish_key_reader\nPress a key:\nbind ctrl-space 'do something'\n```\n\n然后将以下内容放入你的配置文件中：\n\n```ini\n[fish-ai]\nkeymap_1 = 'ctrl-p'\nkeymap_2 = 'ctrl-space'\n```\n\n重启 shell 以使更改生效。\n\n### 用不同语言解释\n\n要用不同的语言解释 shell 命令，请将 `language` 选项设置为该语言的名称。例如：\n\n```ini\n[fish-ai]\nlanguage = Swedish\n```\n\n只有当你使用的 LLM 是在包含所选语言的数据集上训练时，这才能良好工作。\n\n### 补全数量\n\n要更改按下 **Ctrl + Space** 时 LLM 建议的补全数量，请设置 `completions` 选项。默认值为 `5`。\n\n以下是如何将补全数量增加到 `10` 的示例：\n\n```ini\n[fish-ai]\ncompletions = 10\n```\n\n要更改在 `fzf` 中按 **Ctrl + P** 时 LLM 建议的精修补全数量，请设置 `refined_completions` 选项。默认值为 `3`。\n\n```ini\n[fish-ai]\nrefined_completions = 5\n```\n\n### 使用命令行历史个性化补全\n\n你可以通过发送命令行历史的片段来个性化 LLM 建议的补全。\n\n要启用它，请使用 `history_size` 选项指定要从历史记录中发送给 LLM 的最大命令数。默认值为 `0`（不发送任何命令行历史）。\n\n```ini\n[fish-ai]\nhistory_size = 5\n```\n\n如果你启用此选项，请考虑使用 [`sponge`](https:\u002F\u002Fgithub.com\u002Fmeaningful-ooo\u002Fsponge) 自动从你的命令行历史中删除损坏的命令。\n\n### 预览管道\n\n要在补全命令时将管道的输出发送给 LLM，请使用 `preview_pipe` 选项。\n\n```ini\n[fish-ai]\npreview_pipe = True\n```\n\n这将发送光标前最后一个未闭合括号之后最长的连续管道的输出。例如，如果你自动补全 `az vm list | jq`，`az vm list` 的输出将被发送给 LLM。\n\n此行为默认禁用，因为它可能会减慢补全过程并导致命令被执行两次。\n\n### 配置进度指示器\n\n你可以更改插件等待 LLM 响应时显示的进度指示器（默认为 ⏳）。\n\n要更改默认值，请将 `progress_indicator` 选项设置为零个或多个字符。\n\n```ini\n[fish-ai]\nprogress_indicator = wait...\n```\n\n### 使用自定义标头\n\n你可以使用 `headers` 选项发送自定义 HTTP 标头。使用逗号分隔的 `Key: Value` 对指定一个或多个标头。例如：\n\n```ini\n[fish-ai]\nheaders = Header-1: value1, Header-2: value2\n```\n\n## 🎭 在不同上下文之间切换\n\n你可以使用 `fish_ai_switch_context` 命令在配置的不同部分之间切换。\n\n## 🐾 数据隐私\n\n使用插件时，`fish-ai` 会将你的操作系统名称和命令行缓冲区提交给 LLM。\n\n当你将命令代码化或补全命令时，它还会发送你提到的任何文件的内容（只要文件可读），当你解释或补全命令时，`\u003Ccommand> --help` 的输出会被提供给 LLM 作为参考。\n\n`fish-ai` 还可以在补全命令时发送你命令行历史的片段。默认情况下这是禁用的。\n\n最后，为了修复之前的命令，之前的命令行缓冲区，以及任何终端输出和相应的退出码都会被发送到 LLM。\n\n如果你关心数据隐私，你应该使用自托管的 LLM。当本地托管时，没有任何数据会离开你的机器。\n\n### 敏感信息脱敏\n\n插件尝试在向 LLM 提交之前从提示中删除敏感信息。敏感信息会被替换为 `\u003CREDACTED>` 占位符。\n\n以下信息会被删除：\n\n- 作为命令行参数提供的密码和 API 密钥\n- 存储在文件中的 PEM 编码私钥\n- 提供给例如 cURL 的 Bearer 令牌\n\n如果你信任 LLM 提供商（例如因为你正在本地托管），你可以使用 `redact = False` 选项禁用删除功能。","# fish-ai 快速上手指南\n\n`fish-ai` 是一款为 [Fish Shell](https:\u002F\u002Ffishshell.com) 打造的 AI 功能插件，支持将注释转换为命令、自动补全及修复错误命令。它通过键盘快捷键操作，无需鼠标，并支持多种大语言模型（LLM）。\n\n## 环境准备\n\n在开始之前，请确保您的系统已安装以下依赖：\n\n*   **Fish Shell**: 必须使用 Fish 作为默认 Shell。\n*   **Git**: 用于获取插件代码。\n*   **Python 环境**: 需安装 `uv` 或 Python 3.x 配合 `pip` 和 `venv`。\n*   **Fisher**: Fish 的插件管理工具。\n\n如果您尚未安装 `fisher`，请先运行：\n```shell\ncurl -sL https:\u002F\u002Fgit.io\u002Ffisher | source && fisher install jorgebucaran\u002Ffisher\n```\n\n## 安装步骤\n\n### 1. 安装插件\n使用 `fisher` 安装 `fish-ai`：\n```shell\nfisher install realiserad\u002Ffish-ai\n```\n\n### 2. 配置 API\n创建配置文件以指定使用的 LLM 服务。文件路径通常为 `~\u002F.config\u002Ffish-ai.ini`（若未设置 `$XDG_CONFIG_HOME`）。\n\n**示例：使用 GitHub Models**\n如果您不确定使用哪个模型，推荐使用 GitHub Models。请在配置文件中填入您的 Personal Access Token (PAT)：\n\n```ini\n[fish-ai]\nconfiguration = github\n\n[github]\nprovider = self-hosted\nserver = https:\u002F\u002Fmodels.github.ai\u002Finference\napi_key = \u003Cpaste GitHub PAT here>\nmodel = gpt-4o-mini\n```\n\n**注意**：您也可以使用 `fish_ai_put_api_key` 命令将密钥保存到系统钥匙环中，避免明文存储。\n\n## 基本使用\n\n安装并配置完成后，重启 Fish Shell 即可生效。主要功能通过两个快捷键触发：\n\n### 1. 注释与命令互转\n*   **注释转命令**：输入一行以 `#` 开头的注释，按 **Ctrl + P**。\n*   **命令转注释**：输入一条命令，按 **Ctrl + P** 生成解释该命令的注释。\n\n### 2. 智能补全与修复\n*   **命令补全**：输入部分命令或注释后，按 **Ctrl + Space** 调出补全列表（基于 `fzf`）。\n*   **错误修复**：当命令执行失败时，直接在提示符下按 **Ctrl + Space**，AI 将提供修复建议。\n\n---\n> **隐私提示**：使用该插件时，您的操作系统名称、命令行缓冲区内容、相关帮助输出及部分历史命令可能会发送至所选的 LLM 服务提供商。","深夜，后端工程师小李需要紧急修复一个部署在 Kubernetes 集群中的服务，面对复杂的参数配置感到十分头疼。\n\n### 没有 fish-ai 时\n- 需要反复查阅 kubectl 官方文档确认每个参数的正确拼写和具体用法。\n- 输入长命令时极易出现手误，导致报错后需逐字检查并重新输入。\n- 频繁切换浏览器搜索解决方案，严重打断当前的编码思路和专注度。\n- 难以记忆大量开关组合，往往依赖复制粘贴过往脚本或 Stack Overflow。\n\n### 使用 fish-ai 后\n- 直接在终端输入自然语言描述需求，fish-ai 即可生成准确的 kubectl 命令。\n- 发现拼写错误时能自动识别并提供修正方案，无需手动回溯排查原因。\n- 通过预设快捷键快速补全后续参数，保持终端操作的连贯性和流畅性。\n- 大幅减少对外部文档的依赖，将更多精力集中在核心业务逻辑的处理上。\n\nfish-ai 通过将 LLM 能力无缝融入命令行，显著降低了 Shell 脚本编写的门槛与时间成本。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRealiserad_fish-ai_6e8a2c83.png","Realiserad","Bastian Fredriksson","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FRealiserad_33f164db.jpg",null,"https:\u002F\u002Fgithub.com\u002FRealiserad",[81,85,89],{"name":82,"color":83,"percentage":84},"Python","#3572A5",62.5,{"name":86,"color":87,"percentage":88},"Shell","#89e051",33.8,{"name":90,"color":91,"percentage":92},"Dockerfile","#384d54",3.8,508,43,"2026-04-03T14:59:39","MIT","Linux, macOS","未说明",{"notes":100,"python":98,"dependencies":101},"1. 必须安装 Fish Shell 环境；2. 需配置外部 LLM API Key（支持 OpenAI、Anthropic、Azure、Bedrock 等多种服务商）；3. 支持本地自托管模型（如 Ollama），具体硬件需求取决于用户选择的模型；4. 隐私注意：插件会将 OS 名称、命令缓冲区、文件内容及命令行历史记录发送至 LLM；5. 使用 fisher 工具进行安装和更新；6. fzf 已随插件捆绑，无需单独安装。",[102,103,104,105,106],"git","fisher","pip","venv","fzf",[16],[109,103],"fish-plugin",4,"2026-03-27T02:49:30.150509","2026-04-06T05:35:42.513315",[114,119,123,128,132,137],{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},2893,"为什么 `ctrl+space` 快捷键在不同操作系统上行为不一致？","在 macOS 上该快捷键通常一致工作，但在 Linux\u002FVM（如 Debian\u002FUbuntu）中可能映射为 `nil`。建议根据操作系统进行分支处理，或通过环境变量覆盖以确保兼容性。","https:\u002F\u002Fgithub.com\u002FRealiserad\u002Ffish-ai\u002Fissues\u002F183",{"id":120,"question_zh":121,"answer_zh":122,"source_url":118},2894,"如何提升 AI 模型的响应质量和降低限流风险？","建议将配置中的模型从 `gpt-4o-mini` 切换为 `gpt-4o`。用户反馈显示 `gpt-4o` 具有更低的限流率，并能提供整体更好的响应效果。",{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},2895,"遇到空白行或 Python 版本不兼容警告时该怎么办？","插件现已增强对 Python 版本的检测。如果版本不匹配，插件会发出警告。请确保使用支持的 Python 版本（如 3.12），并检查是否安装了正确的依赖环境。","https:\u002F\u002Fgithub.com\u002FRealiserad\u002Ffish-ai\u002Fissues\u002F62",{"id":129,"question_zh":130,"answer_zh":131,"source_url":127},2896,"如何正确重装 fish-ai 以修复环境配置问题？","请按顺序执行以下命令：先卸载旧版本，设置环境变量指定 Python 版本，再重新安装。命令如下：\n```shell\nfisher remove (fisher list | grep fish-ai)\nset -g FISH_AI_PYTHON_VERSION 3.12\nfisher install realiserad\u002Ffish-ai\n```",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},2897,"fish-ai 是否原生支持 Vim 模式下的键位绑定？","开发者正在考虑移除当前的键位绑定检测逻辑，改为同时添加 Vi 模式和默认模式的绑定类型。这是目前解决 Vim 模式兼容性的最明显方案。","https:\u002F\u002Fgithub.com\u002FRealiserad\u002Ffish-ai\u002Fissues\u002F531",{"id":138,"question_zh":139,"answer_zh":140,"source_url":136},2898,"如何将终端的历史滚动记录集成到 AI 对话中？","目前尚无通用机制，但可参考特定终端的实现。例如在 Ghostty 中可通过内置函数提取滚动缓冲到文件；或在 Wezterm 中使用 API 插件。另一种方法是启动 `script` 命令以便始终访问滚动缓冲区。",[142,147,152,157,162,167,172,177,182,187,192,197,202,207,212,217,222,227,232,237],{"id":143,"version":144,"summary_zh":145,"released_at":146},102358,"v2.9.3","# What's new?\n\n## 🐛 Bug fixes\n\n- gracefully exit fzf with ctrl+c or esc (in commit [`#0f6362f`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F0f6362ff61e9326f39e5df7dcb701bf481bc6cb6))\n- preserve indentation in responses (in commit [`#161e5d0`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F161e5d0ac1120bccb6a105ce7ca4e17594368e7e))\n- truncated responses (in commit [`#1d5d194`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F1d5d194d5898784c6f8335424127f9503221eca2))\n\n## ⬆ Dependency updates\n\n- bump anthropic to version 0.77.0 (in commit [`#58cdb12`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F58cdb1295520a70e4fd1bce5d38b69241686c215))\n- bump openai to version 2.16.0 (in commit [`#f939afe`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Ff939afecd4008dbe7950f653c5e3f8e1460c046e))\n","2026-02-07T20:29:40",{"id":148,"version":149,"summary_zh":150,"released_at":151},102365,"v2.0.3","# What's new?\n\n## 🐛 Bug fixes\n\n- `ValueError` when running `fish_ai_switch_context` (in commit [`#85804d1`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F85804d1bce516a6ffe1ff1562e3ebb800bff7fa4))\n- remove erroneous call in `fish_ai_bug_report` (in commit [`#e37467d`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fe37467dcce365c1afec40e22abe01d8436a03b35))\n\n## ⬆ Dependency updates\n\n- bump openai to version 1.97.1 (in commit [`#fd38a92`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Ffd38a9208e1fbe8cdadb8598b06ee84233f4048f))\n- bump umbrelladocs\u002Faction-linkspector to version 1.3.7 (in commit [`#2e63b55`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F2e63b5575104aeae038ae89ff6a3c215d3e31498))\n- bump anthropic to version 0.58.2 (in commit [`#7b28001`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F7b280010d425c10badb5541ad041fc39c1ce158c))\n- bump google-genai to version 1.26.0 (in commit [`#286d40c`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F286d40c1e0b20b1c7eaa232d5a914b9cb9ca770c))\n","2025-07-23T16:48:27",{"id":153,"version":154,"summary_zh":155,"released_at":156},102366,"v2.0.1","# What's new?\n\n## 🐛 Bug fixes\n\n- bsd version of mv does not support the -u flag (in commit [`#ac3233b`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fac3233ba665402db2c7818387adf18c9d6447423))\n\n## ⬆ Dependency updates\n\n- bump groq to version 0.30.0 (in commit [`#aede5ad`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Faede5ad41006824b85393315418e369d81fa0f6e))\n- bump openai to version 1.95.1 (in commit [`#20c5c51`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F20c5c51db99aa83c2f15aacfa1d56092f1a77bd4))\n","2025-07-14T12:53:56",{"id":158,"version":159,"summary_zh":160,"released_at":161},102353,"v2.11.1","# What's new?\n\n## 🐛 Bug fixes\n\n- use gemini-3.1-pro-preview with the google provider by default (in commit [`#b945915`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fb945915675e5be150df826eaba26f02ed52394ba))\n\n## 🌟 New features and improvements\n\n- add AWS Bedrock provider support via OpenAI-compatible API (in commit [`#24b9f65`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F24b9f65a3d040122293fac841b5c134ea062336e))\n\n## ⬆ Dependency updates\n\n- bump openai to version 2.30.0 (in commit [`#48ee29c`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F48ee29cb7c68be544c6129e1d9568cab3d968fe8))\n- bump groq to version 1.1.2 (in commit [`#cd59cd8`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fcd59cd8a477460c35a0bee9e680d4da8098fa308))\n- bump anthropic to version group (in commit [`#87ef755`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F87ef755d00e0e31b119b54696f7412e17aed940b))\n- bump mistralai to version 2.1.3 (in commit [`#e6dd455`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fe6dd45565146f5d5927c74ce297b801053f2ed9c))\n- bump google-genai to version 1.68.0 (in commit [`#4938563`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F4938563d8345576846cf486985f4a88ce3a1b696))\n- bump binaryornot to version 0.6.0 (in commit [`#7dda4d7`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F7dda4d7bcbca6339de8656b8139ddd4793edf30b))\n","2026-04-03T15:05:15",{"id":163,"version":164,"summary_zh":165,"released_at":166},102354,"v2.10.6","# What's new?\n\n## 🐛 Bug fixes\n\n- vim key bindings on fish v4.3+ (in commit [`#e0a4649`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fe0a46492ee8e4c20ee1b0672c7de539694e83bfd))\n","2026-03-12T03:54:29",{"id":168,"version":169,"summary_zh":170,"released_at":171},102355,"v2.10.5","# What's new?\n\n## 🐛 Bug fixes\n\n- only install bindings in interactive shells (in commit [`#e1762f0`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fe1762f05d30573a4d097cd09948e6e8196e68843))\n- expand bearer token redaction to handle dotted\u002Fhyphenated tokens and flexible casing (in commit [`#ed421fa`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fed421fa4f397051301c60ed71f0db0df16ac47dd))\n- use `claude-sonnet-4-6` with anthropic by default (in commit [`#2b8621f`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F2b8621f92deec2f64d02e6857ec3297e98370f08))\n\n## ⬆ Dependency updates\n\n- bump anthropic to version 0.84.0 (in commit [`#e992d65`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fe992d650147d84ebd8caa750235c175edf898822))\n- bump google-genai to version 1.65.0 (in commit [`#c1bdc59`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fc1bdc59f8d126ec88eeaf71f2fdd67420eca1778))\n- bump openai to version 2.24.0 (in commit [`#6f74808`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F6f74808c4d0f2c052ef1a607d5ca4a9004fe80f0))\n- bump cohere to version 5.20.7 (in commit [`#7817bfb`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F7817bfb63ef8634f644efb23abe59ecba3373431))\n","2026-03-07T22:11:07",{"id":173,"version":174,"summary_zh":175,"released_at":176},102356,"v2.10.2","# What's new?\n\n## 🐛 Bug fixes\n\n- separate suggestions when reloading fzf (in commit [`#f6ee276`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Ff6ee276292b318051a749d6c3511bcd8562381c3))\n- syntax error in bug reporting script (in commit [`#3027b67`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F3027b678b1e61488d8a627c8387c03fd62d178f7))\n\n## ⬆ Dependency updates\n\n- bump cohere to version 5.20.5 (in commit [`#60ee669`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F60ee66971e5513443b4d678b97f8d7fb8d2322be))\n- bump google-genai to version 1.63.0 (in commit [`#97ff0aa`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F97ff0aab2dbe667ac2f164c72844cb24d62607fe))\n- bump openai to version 2.20.0 (in commit [`#75d0aab`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F75d0aabb77cfbde5b7ebe882c19648ba7f133ff0))\n- bump anthropic to version 0.79.0 (in commit [`#2c2c9ac`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F2c2c9ac1fc066a90625652f2a3c21e3d6b37751c))\n","2026-02-22T19:37:16",{"id":178,"version":179,"summary_zh":180,"released_at":181},102357,"v2.10.0","# What's new?\n\n## 🐛 Bug fixes\n\n- more robust check if the commandline is a \"comment\" (in commit [`#47fd24a`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F47fd24aa70ae3b7aaf17ec0f1e482fbcb7d2acb2))\n- improve the system prompt for explaining fish commands (in commit [`#9731941`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F973194120b298f043ad1cb0c874a51226e20d775))\n- instruct the llm to not use md formatting (in commit [`#e20b2bf`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fe20b2bff60802b4bfac6dc13d899728834ee384f))\n- properly output multi-line commands indented with `fish_indent`. (in commit [`#1eb127e`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F1eb127e819a968212bc6213b8732b4ef714106a7))\n\n## 🌟 New features and improvements\n\n- add the current commandline to the explanation as a sample (in commit [`#822d9a4`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F822d9a42be02cfb73b62db84011ae7b92f7e5268))\n\n## ⬆ Dependency updates\n\n- bump anthropic to version 0.77.1 (in commit [`#f8fedb7`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Ff8fedb7ea0ea7ef18b52f4a8f9013cb8d6a09615))\n- bump google-genai to version 1.61.0 (in commit [`#906ad4e`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F906ad4e3017b4b918fcf19a7992366195e5fed4f))\n","2026-02-13T00:57:11",{"id":183,"version":184,"summary_zh":185,"released_at":186},102359,"v2.9.0","# What's new?\n\n## 🐛 Bug fixes\n\n- preserve multi-line commands when autocompleting (in commit [`#2e346c3`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F2e346c33f441dad48d889fdd9549e5b2322e38fb))\n- capture output from pipelines more reliably (in commit [`#d96ee90`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fd96ee909eee70f6d2e17f7ef7bc4ec8aec35f210))\n- preserve newlines when reading commandline buffer (in commit [`#b16fc6b`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fb16fc6b840fe19c703fd0413a4ed862bce45b4c0))\n- use environment variables as parameters (in commit [`#ae11e03`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fae11e030da3418c04f42fcf30a4b6a1f6d5b694a))\n\n## 🌟 New features and improvements\n\n- make extra_body configurable when using the openai provider (in commit [`#f94e20e`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Ff94e20e518ae034893c7ba4f15de9171c1a0d595))\n- remove support for the `temperature` parameter (in commit [`#997a1a3`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F997a1a3932168b6eeeb47e628937981de2956fd0))\n\n## ⬆ Dependency updates\n\n- bump cohere to version 5.20.2 (in commit [`#906d5b7`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F906d5b722b8cb0f10431ce713cb8b24c371dd7d9))\n- bump google-genai to version 1.60.0 (in commit [`#b9290ae`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fb9290aef14d692763693bfdee5d7e871c562d51f))\n- bump anthropic to version 0.76.0 (in commit [`#e2d81c5`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fe2d81c5234ad76a63da5f1691bf690f967b775a8))\n- bump openai to version 2.15.0 (in commit [`#6723f50`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F6723f5091efe8f9988a1ebccd309fc759e8e8cb5))\n","2026-02-03T12:43:54",{"id":188,"version":189,"summary_zh":190,"released_at":191},102360,"v2.7.2","# What's new?\n\n## 🐛 Bug fixes\n\n- add httpx[socks] dependency (in commit [`#d172634`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fd172634d0d256f38cd1b9541f1c39bbf83a24970))\n- use correct thinking config for gemini (in commit [`#a08f34c`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fa08f34c5fac7865237b32f78b2f4c2804bfe1e4e))\n- make gemini 2.5 flash lite the default when google provider is used (in commit [`#42ab346`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F42ab346b83ddb5df600b1a665c7c9d2d65cf392b))\n- cleaner output during install (in commit [`#dc622dd`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fdc622dd4aac6a937069583eff31d883fe4e1ee0c))\n\n## 🌟 New features and improvements\n\n- think less when using gemini (in commit [`#d9273fb`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fd9273fb0a0b00f9eff80d520955da8dfe0be397d))\n- add custom headers support for all providers (in commit [`#c5981c4`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fc5981c4d006b0f14e178a045688a88bab84d5e99))\n\n## ⬆ Dependency updates\n\n- bump cohere to version 5.20.1 (in commit [`#3807f72`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F3807f726433e421efd6b53e05f207e650071694a))\n- bump openai to version 2.14.0 (in commit [`#99eaf10`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F99eaf104d9173b8aac4e8ac96d25599983e868a2))\n- bump groq to version 1.0.0 (in commit [`#2b011b7`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F2b011b7f198de0d936eab50ba38c012665c961d2))\n- bump google-genai to version 1.56.0 (in commit [`#098b29c`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F098b29c58ae19ffc76928381c656794b413c43fb))\n- bump anthropic to version 0.75.0 (in commit [`#ecba95d`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fecba95d5da9cd4ce1789bc5cddc1f1c46e2487b9))\n","2025-12-29T11:37:11",{"id":193,"version":194,"summary_zh":195,"released_at":196},102361,"v2.5.0","# What's new?\r\n\r\n## 🐛 Bug fixes\r\n\r\n- trigger commandline fix when any command in the pipe fails (in commit [`#4e81943`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F4e819430959b3128efbe9a6cbfcfc96b9873c320))\r\n\r\n## 🌟 New features and improvements\r\n\r\n- python 3.14 (in commit [`#8847e43`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F8847e43ba6c8524afcc5148bc182f9c4bed57744))\r\n\r\n## ⬆ Dependency updates\r\n\r\n- bump anthropic to version 0.74.1 (in commit [`#99ace8b`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F99ace8b4c2581223bcfaad10cfef09a591d8d5c6))\r\n- bump groq to version 0.36.0 (in commit [`#9dbc16a`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F9dbc16a2b433e83b86b8722e9d929630790461b1))\r\n- bump mikefarah\u002Fyq to version 4.49.2 (in commit [`#9b7be50`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F9b7be508aefb764ea15d52c565fa9ffd9c1f362d))\r\n- bump openai to version 2.8.1 (in commit [`#34a9d2d`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F34a9d2de5499c13ddf338169e9307f9847465770))\r\n- bump keyring to version 25.7.0 (in commit [`#d275da1`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fd275da171cc627964e82672cdf9c2579ddaa7e9d))\r\n- bump actions\u002Fcheckout to version 6 (in commit [`#911048f`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F911048f863a679cca6db70b1991f9e44503a682c))\r\n- bump softprops\u002Faction-gh-release to version 2.4.2 (in commit [`#9ec9557`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F9ec9557c7b3c9c3affe92c9d65e0064efd63b538))\r\n- bump google-genai to version 1.47.0 (in commit [`#0f6876e`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F0f6876ed026718ee0727ed1e4b6d3e7c9fa98641))\r\n- bump cohere to version 5.20.0 (in commit [`#23a5307`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F23a530777ecd4456d3490f1dd2f029a11e3e86c1))\r\n- bump umbrelladocs\u002Faction-linkspector to version 1.4.0 (in commit [`#958c172`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F958c172b5ecf5224a316b0c2fcd42a4eb3f24f09))\r\n- bump stefanzweifel\u002Fgit-auto-commit-action to version 7 (in commit [`#d28cedb`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fd28cedbf029245b1bde230f23a1f92b92ba38f21))\r\n- bump astral-sh\u002Fsetup-uv to version 7 (in commit [`#a108cca`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fa108cca5a56c4651d6ac28ca4ecabc15d91b6e69))\r\n- bump github\u002Fcodeql-action to version 4 (in commit [`#d6ee1bc`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fd6ee1bc86f58e9688dcd166c067682537a544f48))\r\n","2025-11-27T17:17:17",{"id":198,"version":199,"summary_zh":200,"released_at":201},102362,"v2.3.1","# What's new?\n\n## 🐛 Bug fixes\n\n- use fish key names for binds after fish 4.x (in commit [`#e6f22ab`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fe6f22abe19df88c7a907ee0372912aa2a638677c))\n\n## ⬆ Dependency updates\n\n- bump openai to version 1.108.2 (in commit [`#97e3ed3`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F97e3ed35032d1a4c1073927831caf62142dc24bf))\n- bump anthropic to version 0.68.0 (in commit [`#6ac60bb`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F6ac60bb5b57c59dd34dd23843933a978d2a32db9))\n- bump google-genai to version 1.38.0 (in commit [`#a5dcdfe`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fa5dcdfea5c400ca2a5b999483aa5272021f1706b))\n- bump cohere to version 5.18.0 (in commit [`#647d7b5`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F647d7b5aec476689028e730e355e9b1cb0310e3e))\n","2025-09-30T19:21:47",{"id":203,"version":204,"summary_zh":205,"released_at":206},102363,"v2.3.0","# What's new?\r\n\r\n## 🐛 Bug fixes\r\n\r\n- do not quote key bindings (in commit [`#0597c3b`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F0597c3b8aa1773de73f9ce7a574e81ed80b7664d))\r\n- don't show progress indication when doing nothing (in commit [`#4cbeb36`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F4cbeb36794ab39f8b252b0279d8cbea13de02405))\r\n\r\n## 🌟 New features and improvements\r\n\r\n- make keybindings configurable using the configuration file (in commit [`#3441a96`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F3441a96a12663bd9bcd70f57e535e12a8a8db50a))\r\n- option to disable redaction using config (in commit [`#9c5db2f`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F9c5db2fb7c78586e05f9dfd0fdce347164dfbf9d))\r\n- redact bearer tokens (in commit [`#78d294b`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F78d294b43635dcff65bf4ad519929b440e371b29))\r\n\r\n## ⬆ Dependency updates\r\n\r\n- bump openai to version 1.107.1 (in commit [`#acc592d`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Facc592d5f12ba59b613942eed69d6e5f4c2d8646))\r\n- bump google-genai to version 1.36.0 (in commit [`#7856cdf`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F7856cdfbaee0d3097e044abce7cd8524b52c0bc5))\r\n- bump anthropic to version 0.67.0 (in commit [`#cd61b39`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fcd61b3929a5a9322b5b75916a406aa3fa33794d2))\r\n- bump mikefarah\u002Fyq to version 4.47.2 (in commit [`#530626a`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F530626a18d9f9031bca2884133c831054ea2dad2))\r\n- bump softprops\u002Faction-gh-release to version 2.3.3 (in commit [`#859499a`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F859499af764553f4923780b93ae6c7c4e1671da6))\r\n- bump actions\u002Fsetup-python to version 6 (in commit [`#9be9091`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F9be9091bf86ab994a36ddcae5522f3aeb1ea595d))\r\n- bump actions\u002Fsetup-go to version 6 (in commit [`#ea01278`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fea01278c5b746a058157277f47721021c16e09a0))\r\n- bump groq to version 0.31.1 (in commit [`#1f6f245`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F1f6f24573f5bbaa9e6dc1b71eb4d9221b2382fa8))\r\n- bump actions\u002Fstale to version 10 (in commit [`#11e6bd5`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F11e6bd549c6fb14dfde21a72be487a5a6fe9dd44))\r\n- bump cohere to version 5.17.0 (in commit [`#33cf50b`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F33cf50b3b9379656ef1d3b0e987f6e1fc5209b0b))\r\n- bump actions\u002Fcheckout to version 5 (in commit [`#bf5ed11`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fbf5ed1184d5b8275d56e47a0c2d3ad538aac3a9b))\r\n","2025-09-17T22:51:55",{"id":208,"version":209,"summary_zh":210,"released_at":211},102364,"v2.1.0","# What's new?\n\n## 🌟 New features and improvements\n\n- remove any thinking tokens from the output (in commit [`#3103f84`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F3103f84ba56119bc629d2c66622177caf8ed8f4a))\n\n## ⚡ Performance improvements\n\n- only import re package if thinking tokens are present (in commit [`#c4c05ed`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fc4c05edd64fa4ff152be83d4af8b64b0ddf2319f))\n\n## ⬆ Dependency updates\n\n- bump mikefarah\u002Fyq to version 4.47.1 (in commit [`#fa68553`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Ffa68553e5d1f4e956c178c86b6abf26b7a8d4a0b))\n- bump anthropic to version 0.59.0 (in commit [`#d06545f`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fd06545f428cbf5713f825072e0c367120a2b69b6))\n- bump google-genai to version 1.27.0 (in commit [`#5ac6c82`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F5ac6c82616808c38431727ba081713e74896a767))\n","2025-07-28T21:52:59",{"id":213,"version":214,"summary_zh":215,"released_at":216},102367,"v2.0.0","# What's new?\r\n\r\n## 🐛 Bug fixes\r\n\r\n- groq support for qwen\u002Fqwen3-32b and preparing for deprecation of qwen-qwq-32b (in commit [`#cc0126d`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fcc0126d97db1c32a1bf96c599c6432da2b99ba3d))\r\n- undefined function when installing and use correct path to config file (in commit [`#41df9c7`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F41df9c7585fba88788d045574db4a50f3dce858c))\r\n- avoid printing an error message if fish-ai-ini does not exist on plugin update (in commit [`#0f5d6e2`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F0f5d6e2699a4b063c41a33125cf54dc584b2a3d8))\r\n\r\n## 🌟 New features and improvements\r\n\r\n- remove huggingface provider (in commit [`#5f5905c`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F5f5905cc884b618c6af76ba3237815e65f0c0b1a))\r\n- make progress indicator configurable (in commit [`#732547b`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F732547bafd6466ca25b08d4adf7e94f54576c637))\r\n- comply with the xdg base directory specification (in commit [`#d79d70a`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fd79d70a2b02c10bc906507fb77e763a8af48c2c1))\r\n\r\n## ⬆ Dependency updates\r\n\r\n- bump openai to version 1.95.0 (in commit [`#73492a7`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F73492a7bca799c29520717fb73dae6325cb575f7))\r\n- bump google-genai to version 1.25.0 (in commit [`#dd8b3f1`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fdd8b3f16d99e724839f558e0f6dc90817dd435c3))\r\n- bump cohere to version 5.16.1 (in commit [`#6f2e9d9`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F6f2e9d93ec0b68c162deac233525976f2059c254))\r\n- bump mikefarah\u002Fyq to version 4.46.1 (in commit [`#3bef49d`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F3bef49dfebc0bf648e289651c4e146faac3456c3))\r\n- bump anthropic to version 0.57.1 (in commit [`#023f5ee`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F023f5ee80f684d92cccb34f05b55deff20eae8d6))\r\n- bump umbrelladocs\u002Faction-linkspector to version 1.3.6 (in commit [`#9d1034c`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F9d1034ccbe4e62b0589da84d245ebe853bacae5f))\r\n- bump groq to version 0.29.0 (in commit [`#492fc71`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F492fc71823fa7198064b425409e951e2febec3d6))\r\n- bump hugchat to version 0.5.1 (in commit [`#d665a02`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fd665a02a6af08660b74846f767a7183349237bbd))\r\n- bump stefanzweifel\u002Fgit-auto-commit-action to version 6 (in commit [`#e82e907`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fe82e90725b10b87072c91492dbfcbf2fc85a32f8))\r\n- bump softprops\u002Faction-gh-release to version 2.3.2 (in commit [`#48aa4ab`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F48aa4abe7da74d38dd0d00a39ba2c832debbb336))\r\n- bump iterfzf to version 1.8.0.62.0 (in commit [`#a30add2`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fa30add28e3af70803c3d0b14587fe4855254e8d8))\r\n\r\n## 💥 Breaking changes\r\n\r\nThe `huggingface` provider is no longer supported. Migrate to a different provider. See commit [`#5f5905c`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F5f5905cc884b618c6af76ba3237815e65f0c0b1a) for more details.\r\n","2025-07-11T23:44:46",{"id":218,"version":219,"summary_zh":220,"released_at":221},102368,"v1.8.0","# What's new?\n\n## 🐛 Bug fixes\n\n- installation error on some systems by removing hugchat dependency (in commit [`#c5b8641`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fc5b8641e7dc83be3835839cd9ae6e496bf4e0986))\n- remove redaction of base64 encoded strings (in commit [`#3ea8c9d`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F3ea8c9d5beac1ead1a857de31deb971973f326d6))\n- suppress message warning about keybinding changes (in commit [`#114b791`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F114b7911fdead0b33597b6c01eb50dd34167c88f))\n\n## 🌟 New features and improvements\n\n- add support for gemini using `google-genai` (in commit [`#7e1be39`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F7e1be39f891375dcc8ecf956bd586ddeeec3a149))\n\n## ⬆ Dependency updates\n\n- bump mistralai from 1.0.2 to 1.7.0 (in commit [`#4de0584`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F4de0584518d5eadb1afa7540418bcf3245461455))\n- bump google-genai from 1.2.0 to 1.12.1 (in commit [`#5541850`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F5541850e9f3b7a86756beb0fa83949aa54362c7f))\n- bump astral-sh\u002Fsetup-uv from 5 to 6 (in commit [`#4844a4e`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F4844a4eda0313d541e7635e38caa82014ed78e22))\n- bump groq from 0.23.0 to 0.23.1 (in commit [`#3e0c9e3`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F3e0c9e3704f12a4a05640aae02a6a81be1d7c9c7))\n- bump openai from 1.75.0 to 1.76.0 (in commit [`#b64c33d`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fb64c33d8ebffc2794c0887e70f240dd764aba752))\n- bump groq from 0.22.0 to 0.23.0 (in commit [`#ee1b0d4`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fee1b0d41ad09dab2b9548e00ce7bf96af01396ea))\n- bump anthropic from 0.49.0 to 0.50.0 (in commit [`#53222f8`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F53222f885400a1e0603a43b344e522f192b475ec))\n- bump fish-shop\u002Finstall-fish-shell from 1 to 2 (in commit [`#4637d09`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F4637d09bcb8f6b33e72e23e61c49851b2babda6b))\n- bump softprops\u002Faction-gh-release from 2.2.1 to 2.2.2 (in commit [`#fb26364`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Ffb26364eb058ef5d5cd2d36c5d384617cfe6e39d))\n- bump openai from 1.74.0 to 1.75.0 (in commit [`#bd2efc6`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fbd2efc68de40153e89fe4b3689ddf189078175d7))\n- bump fedora from 41 to 42 in \u002Ftests\u002Ffedora (in commit [`#071569c`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F071569c7fe6e7283caf8159a2222715ad5504c78))\n- bump cohere from 5.14.2 to 5.15.0 (in commit [`#9be220b`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F9be220b2478465cfc19ca7788b7718c68bb71770))\n- bump openai from 1.73.0 to 1.74.0 (in commit [`#a237f06`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fa237f06623c5e69a4d0e7ee6d8208818d604af24))\n- bump openai from 1.72.0 to 1.73.0 (in commit [`#1a99fe5`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F1a99fe527ea17fbac5b4d2c13cbb2ba3d507d4dd))\n- bump openai from 1.71.0 to 1.72.0 (in commit [`#1b16c0f`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F1b16c0f944c50a4722bd94852cf8b8215c21de69))\n- bump openai from 1.70.0 to 1.71.0 (in commit [`#c05e1c8`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fc05e1c87dc2db174fd3a4a0eede1a7a0f1cd75de))\n- bump cohere from 5.14.0 to 5.14.2 (in commit [`#1c8977a`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F1c8977a7f3377e52563ef55421d36f41407ebfdb))\n- bump groq from 0.21.0 to 0.22.0 (in commit [`#d36945b`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fd36945b04757d13e0ea0231f90e65b6ecbfa2f5f))\n- bump groq from 0.20.0 to 0.21.0 (in commit [`#28bb634`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F28bb634ac2c25b05f626a5cd098c66e31d38f376))\n- bump openai from 1.69.0 to 1.70.0 (in commit [`#8499b2b`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F8499b2b1cf512008d0862ca02733ef8f8e2ef498))\n- bump hugchat from 0.4.18 to 0.4.19 (in commit [`#81f7076`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F81f70760e02bfaf729c02e265b6c132c076973f9))\n- bump openai from 1.68.2 to 1.69.0 (in commit [`#66a5407`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F66a54070250145956d79b6d1d5a4823e31a06b0a))\n- bump umbrelladocs\u002Faction-linkspector from 1.3.3 to 1.3.4 (in commit [`#dd19d91`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fdd19d91c5ca8b444ed4a90feef2afe944fd2ec47))\n- bump umbrelladocs\u002Faction-linkspector from 1.3.2 to 1.3.3 (in commit [`#4df268e`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F4df268ed57226565292226848957493afc30b4b8))\n- bump openai from 1.68.0 to 1.68.2 (in commit [`#df38398`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fdf38398f292c780fb3ff447995885c543f72146c))\n- bump openai from 1.67.0 to 1.68.0 (in commit [`#2d9e2e0`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F2d9e2e0a20fae37d3cca73ab3ecbd5982981fb31))\n","2025-04-28T20:01:34",{"id":223,"version":224,"summary_zh":225,"released_at":226},102369,"v1.7.0","# What's new?\n\n## 🌟 New features and improvements\n\n- codify suggestions when autocompleting a comment (in commit [`#fb34756`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Ffb347566ce8435e772021c105ed34011c068a878))\n- add support for groq and groq qwen-qwq-32b model (in commit [`#070cb2d`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F070cb2d50b46ee6eabea972c0babef3700ce6f0d))\n\n## ⬆ Dependency updates\n\n- bump umbrelladocs\u002Faction-linkspector from 1.2.5 to 1.3.2 (in commit [`#a51891a`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fa51891a227d6ec870b159937faba03811c30e49d))\n- bump openai from 1.66.5 to 1.67.0 (in commit [`#db4bf63`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fdb4bf637522013e2486d816e2b0347e10a68a6c2))\n- bump groq from 0.19.0 to 0.20.0 (in commit [`#5a1a09d`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F5a1a09db8d6ccb035311755a0310620d9615a692))\n- bump openai from 1.66.3 to 1.66.5 (in commit [`#58d1dad`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F58d1dadefb80abebea6559d8efa58053f2a73d66))\n","2025-03-20T23:59:42",{"id":228,"version":229,"summary_zh":230,"released_at":231},102370,"v1.5.0","# What's new?\n\n## 🐛 Bug fixes\n\n- warn if plaintext api keys are found (in commit [`#29b75bf`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F29b75bf73bb2dbf3c32bbbf2912cb37c1940c6dc))\n- allow huggingface to use `api_key` in the configuration for consistency (in commit [`#0a18858`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F0a18858bf6c923916b08015d4a476845a92f979f))\n- use ctrl-space on macos and -k nul on linux (in commit [`#308ff08`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F308ff088bfb8c3ddf05d41718df58c6746335622))\n\n## 🌟 New features and improvements\n\n- add support for saving `api_key` to secure credential storage using the keyring module (in commit [`#974d93c`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F974d93c71a4bc726ab04d11f418b2ebce88d4dee))\n\n## ⬆ Dependency updates\n\n- bump openai from 1.66.2 to 1.66.3 (in commit [`#4692218`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F4692218cae997d24504bb939f9b720de0d378f16))\n- bump iterfzf from 1.5.0.60.2 to 1.6.0.60.3 (in commit [`#04d8839`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F04d8839dd5f21fe64a70c3739eaca0854ad666e4))\n- bump openai from 1.65.4 to 1.66.2 (in commit [`#ffc8b86`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fffc8b865d82de3f389702b20a0b437bdeb326796))\n","2025-03-14T16:58:18",{"id":233,"version":234,"summary_zh":235,"released_at":236},102371,"v1.4.1","# What's new?\r\n\r\n## 🐛 Bug fixes\r\n\r\n- allow temperature parameter to be removed from client call (in commit [`#096a666`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F096a666914598ccd7e9a79ff56baf454410f3698))\r\n- specify `max_tokens` parameter for anthropic (in commit [`#ae71990`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fae71990d75353b4221d97fe29a66e0c6fdacb0e1))\r\n\r\n## 🌟 New features and improvements\r\n\r\n- environment variables in `fish-ai.ini` (in commit [`#e2bda54`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fe2bda54687c7fa1459de1c143abde854ae1ac030))\r\n- set up virtual environment using uv if available (in commit [`#af04d80`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Faf04d80becf8b161bb41349544819621cc141144))\r\n\r\n## ⚡ Performance improvements\r\n\r\n- optimize imports and module loading in `engine.py` (in commit [`#8656ef9`](https:\u002F\u002Fgithub.com\u002FRealiserad\u002Ffish-ai\u002Fcommit\u002F8656ef9d6d48adeb345894510d7e1bc3d16205e6))\r\n\r\n## ⬆ Dependency updates\r\n\r\n- bump openai from 1.65.3 to 1.65.4 (in commit [`#67e98bf`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F67e98bf7faa4aaa95c386d1d324d9051dc08b8df))\r\n- bump iterfzf from 1.4.0.60.2 to 1.5.0.60.2 (in commit [`#bf9dc91`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fbf9dc91b28902efca3a4fdaa8d40a908220f317c))\r\n- bump openai from 1.65.2 to 1.65.3 (in commit [`#29b0eb4`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F29b0eb4510ada2cf152a558ca97cf46d56c8fb06))\r\n- bump openai from 1.65.1 to 1.65.2 (in commit [`#5a951fd`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F5a951fdd4e33f544b03e95140f8f6f9403a03347))\r\n- bump iterfzf from 1.4.0.54.3 to 1.4.0.60.2 (in commit [`#c447464`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fc44746402932e5634049e001385a03e221daee55))\r\n- bump anthropic from 0.48.0 to 0.49.0 (in commit [`#f63ebee`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Ff63ebee47c6800f08f84e84cf681f1bc7fdb5513))\r\n- bump cohere from 5.13.12 to 5.14.0 (in commit [`#679ad3b`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F679ad3b2989aed7c36a5908b1d380f8c44ce4b16))\r\n","2025-03-10T02:03:25",{"id":238,"version":239,"summary_zh":240,"released_at":241},102372,"v1.2.1","# What's new?\n\n## 🐛 Bug fixes\n\n- specify `max_tokens` parameter for anthropic (in commit [`#dc2be11`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fdc2be11f7b417e519775e80d98db0ee1ff5288dc))\n\n## 🌟 New features and improvements\n\n- refine completions by typing instructions and pressing ctrl-p in fzf (in commit [`#831c363`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F831c363caed1efd09b586325f673e0d1178d359d))\n\n## ⬆ Dependency updates\n\n- bump openai from 1.64.0 to 1.65.1 (in commit [`#1573ca9`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002F1573ca93574b8a65f050c6623eb7b0f66d6b87cb))\n- bump anthropic from 0.47.2 to 0.48.0 (in commit [`#e71a161`](https:\u002F\u002Fgithub.com\u002Frealiserad\u002Ffish-ai\u002Fcommit\u002Fe71a16125d8989af62ba319a8910e7eb4a0acae2))\n","2025-03-05T17:26:24"]