[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-efugier--smartcat":3,"tool-efugier--smartcat":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,52],"视频",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[14,35],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":75,"owner_location":76,"owner_email":77,"owner_twitter":75,"owner_website":78,"owner_url":79,"languages":80,"stars":85,"forks":86,"last_commit_at":87,"license":88,"difficulty_score":32,"env_os":89,"env_gpu":90,"env_ram":91,"env_deps":92,"category_tags":98,"github_topics":100,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":110,"updated_at":111,"faqs":112,"releases":143},4327,"efugier\u002Fsmartcat","smartcat","Putting a brain behind `cat`🐈‍⬛ Integrating language models in the Unix commands ecosystem through text streams.","smartcat 是一款专为终端高手打造的命令行工具，旨在将大语言模型（LLM）无缝融入传统的 Unix 命令生态中。它的核心理念是为经典的 `cat` 命令装上“大脑”，让用户能够通过标准的文本流管道，在终端内直接调用 AI 能力处理数据、代码或文档，而无需离开熟悉的命令行环境。\n\n该工具主要解决了传统 CLI 工作流与现代化 AI 服务之间的割裂问题。以往用户需要在终端和网页聊天界面之间频繁切换，而 smartcat 允许通过管道直接将命令输出作为提示词发送给模型，并将结果返回到后续命令中，实现了真正的自动化与流程整合。它特别适合开发者、运维工程师及重度依赖终端的技术人员使用。\n\nsmartcat 的独特亮点在于其极简主义设计与高度的可配置性。它遵循 Unix 哲学，支持自定义提示词模板、多轮对话上下文以及通配符文件引用，能显著减少重复操作的开销。同时，它兼容多种主流 API（如 OpenAI、Anthropic、Mistral）及本地部署方案（如 Ollama），让用户在享受云端模型强大能力的同时，也能选择免费且隐私安全的本地运行模式，真正实现对工作流的全面掌控。","\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fefugier\u002Fsmartcat\u002Fdiscussions\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcommmunity-discussion-blue?style=flat-square\" alt=\"community discussion\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fefugier\u002Fsmartcat\u002Factions\u002Fworkflows\u002Fci.yml\">\n      \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fefugier\u002Fsmartcat\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg?branch=main\" alt=\"Github Actions CI Build Status\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fcrates.io\u002Fcrates\u002Fsmartcat\">\n      \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fcrates\u002Fv\u002Fsmartcat.svg?style=flat-square\" alt=\"crates.io\">\n  \u003C\u002Fa>\n  \u003Cbr>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fefugier_smartcat_readme_82a85319c6b5.png\" width=\"200\">\n\u003C\u002Fp>\n\n# smartcat (sc)\n\nPuts a brain behind `cat`! CLI interface to bring language models into the Unix ecosystem and allow terminal power users to make the most out of LLMs while maintaining full control.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fefugier_smartcat_readme_aa5c4a180f77.gif\" \u002F>\n\u003C\u002Fp>\n\nWhat makes it special:\n\n- Made for power users; tailor the config to reduce overhead on your most frequent tasks\n- Minimalist, built according to the Unix philosophy with terminal and editor integration in mind\n- Good I\u002FO handling to insert user input in prompts and use the result in CLI-based workflows\n- Built-in partial prompt to make the model play nice as a CLI tool\n- Full configurability on which API, LLM version, and temperature you use\n- Write and save your own prompt templates for faster recurring tasks (simplify, optimize, tests, etc.)\n- Conversation support\n- Glob expressions to include context files\n\nCurrently supports the following APIs:\n\n- Local runs with **[Ollama](https:\u002F\u002Fgithub.com\u002Follama\u002Follama\u002Fblob\u002Fmain\u002Fdocs\u002FREADME.md)** or any server compliant with its format; see the [Ollama setup](#ollama-setup) section for the free and easiest way to get started!  \n_(Answers might be slow depending on your setup; you may want to try the third-party APIs for an optimal workflow.)_\n- **[Anthropic](https:\u002F\u002Fdocs.anthropic.com\u002Fclaude\u002Fdocs\u002Fmodels-overview)**, **[Azure OpenAi](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fai-services\u002Fopenai\u002Freference)**, **[Groq](https:\u002F\u002Fconsole.groq.com\u002Fdocs\u002Fmodels)**, **[Mistral AI](https:\u002F\u002Fdocs.mistral.ai\u002Fgetting-started\u002Fmodels\u002F)**, **[OpenAI](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fmodels\u002Foverview)**\n\n# Table of Contents\n\n- [Installation](#installation)\n- [Recommended models](#recommended-models)\n- [Usage](#usage)\n- [A few examples to get started 🐈‍⬛](#a-few-examples-to-get-started-)\n  - [Integrating with editors](#integrating-with-editors)\n    - [Example workflows](#example-workflows)\n- [Configuration](#configuration) ← please read this carefully\n    - [Ollama setup](#ollama-setup) ← easiest way to get running for free\n- [How to help?](.\u002FCONTRIBUTING.md)\n\n## Installation\n\nOn the first run (`sc`), it will ask you to generate default configuration files and provide guidance on finalizing the installation (see the [Configuration](#Configuration) section).\n\nThe minimum configuration requirement is a `default` prompt that calls a setup API (either remote with an API key or local with Ollama).\n\nNow on how to get it.\n\n### With Cargo\n\nWith an up-to-date Rust and Cargo setup (you might consider running `rustup update`):\n\n```\ncargo install smartcat\n```\n\nRun this command again to update `smartcat`.\n\n### Arch Linux\n\nIf you are on Arch Linux, you can install the package from the [extra repository](https:\u002F\u002Farchlinux.org\u002Fpackages\u002Fextra\u002Fx86_64\u002Fsmartcat\u002F):\n\n```\npacman -S smartcat\n```\n\n### By downloading the binary\n\nChoose the one compiled for your platform on the [release page](https:\u002F\u002Fgithub.com\u002Fefugier\u002Fsmartcat\u002Freleases).\n\n## Recommended Models\n\nCurrently the best results are achieved with APIs from Anthropic, Mistral or Openai. It costs about $2-3 a month for typical use with the best models.\n\n## Usage\n\n```text\nUsage: sc [OPTIONS] [INPUT_OR_TEMPLATE_REF] [INPUT_IF_TEMPLATE_REF]\n\nArguments:\n  [INPUT_OR_TEMPLATE_REF]  ref to a prompt template from config or straight input (will use `default` prompt template if input)\n  [INPUT_IF_TEMPLATE_REF]  if the first arg matches a config template, the second will be used as input\n\nOptions:\n  -e, --extend-conversation        whether to extend the previous conversation or start a new one\n  -r, --repeat-input               whether to repeat the input before the output, useful to extend instead of replacing\n      --api \u003CAPI>                  overrides which api to hit [possible values: ollama, anthropic, groq, mistral, openai]\n  -m, --model \u003CMODEL>              overrides which model (of the api) to use\n  -t, --temperature \u003CTEMPERATURE>  higher temperature  means answer further from the average\n  -l, --char-limit \u003CCHAR_LIMIT>    max number of chars to include, ask for user approval if more, 0 = no limit\n  -c, --context \u003CCONTEXT>...       glob patterns or list of files to use the content as context\n                                   make sure it's the last arg.\n  -h, --help                       Print help\n  -V, --version                    Print version\n```\n\nYou can use it to accomplish tasks in the CLI but also in your editors (if they are good Unix citizens, i.e., work with shell commands and text streams) to complete, refactor, write tests... anything!\n\n**The key to making this work seamlessly is a good default prompt that tells the model to behave like a CLI tool** and not write any unwanted text like markdown formatting or explanations.\n\n## A few examples to get started 🐈‍⬛\n\n```\nsc \"say hi\"  # just ask (uses default prompt template)\n\nsc test                         # use templated prompts\nsc test \"and parametrize them\"  # extend them on the fly\n\nsc \"explain how to use this program\" -c **\u002F*.md main.py  # use files as context\n\ngit diff | sc \"summarize the changes\"  # pipe data in\n\ncat en.md | sc \"translate in french\" >> fr.md   # write data out\nsc -e \"use a more informal tone\" -t 2 >> fr.md  # extend the conversation and raise the temprature\n```\n\n### Integrating with editors\n\nThe key for good integration in editors is a good default prompt (or set of prompts) combined with the `-p` flag for specifying the task at hand.\nThe `-r` flag can be used to decide whether to replace or extend the selection.\n\n#### Vim\n\nStart by selecting some text, then press `:`. You can then pipe the selection content to `smartcat`.\n\n```\n:'\u003C,'>!sc \"replace the versions with wildcards\"\n```\n\n```\n:'\u003C,'>!sc \"fix this function\"\n```\n\nwill **overwrite** the current selection with the same text transformed by the language model.\n\n```\n:'\u003C,'>!sc -r test\n```\n\nwill **repeat** the input, effectively appending at the end of the current selection the result of the language model.\n\nAdd the following remap to your vimrc for easy access:\n\n```vimrc\nnnoremap \u003Cleader>sc :'\u003C,'>!sc\n```\n\n#### Helix and Kakoune\n\nSame concept, different shortcut, simply press the pipe key to redirect the selection to `smartcat`.\n\n```\npipe:sc test -r\n```\nWith some remapping you may have your most reccurrent action attached to few keystrokes e.g. `\u003Cleader>wt`!\n\n#### Example Workflows\n\n**For quick questions:**\n\n```\nsc \"my quick question\"\n```\n\nwhich will likely be **your fastest path to answer**: a shortcut to open your terminal (if you're not in it already), `sc` and you're set. No tab finding, no logins, no redirects etc.\n\n**To help with coding:**\n\nselect a struct\n\n```\n:'\u003C,'>!sc \"implement the traits FromStr and ToString for this struct\"\n```\n\nselect the generated impl block\n\n```\n:'\u003C,'>!sc -e \"can you make it more concise?\"\n```\n\nput the cursor at the bottom of the file and give example usage as input\n\n```\n:'\u003C,'>!sc -e \"now write tests for it knowing it's used like this\" -c src\u002Fmain.rs\n```\n\n...\n\n**To have a full conversation with a llm from a markdown file:**\n\n```\nvim problem_solving.md\n\n> write your question as comment in the markdown file then select your question\n> and send it to smartcat using the aforementioned trick, use `-r` to repeat the input.\n\nIf you wan to continue the conversation, write your new question as a comment and repeat\nthe previous step with `-e -r`.\n\n> This allows you to keep track of your questions and make a nice reusable document.\n```\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fefugier_smartcat_readme_f496bdb87021.gif\" \u002F>\n\u003C\u002Fp>\n\n\n# Configuration\n\n- By default, lives at `$HOME\u002F.config\u002Fsmartcat` or `%USERPROFILE%\\.config\\smartcat` on Windows\n- The directory can be set using the `SMARTCAT_CONFIG_PATH` environment variable\n- Use `#[\u003Cinput>]` as the placeholder for input when writing prompts; if none is provided, it will be automatically added at the end of the last user message\n- The default model is a local `phi3` run with Ollama, but it's recommended to try the latest models and see which one works best for you\n- The prompt named `default` will be used by default\n- You can adjust the temperature and set a default for each prompt depending on its use case\n\nThree files are used:\n\n- `.api_configs.toml` stores your credentials; you need at least one provider with API key or a local Ollama setup\n- `prompts.toml` stores your prompt templates; you need at least the `default` prompt\n- `conversation.toml` stores the latest chat if you need to continue it; it's auto-managed, but you can make backups if desired\n\n`.api_configs.toml`\n\n```toml\n[ollama]  # local API, no key required\nurl = \"http:\u002F\u002Flocalhost:11434\u002Fapi\u002Fchat\"\ndefault_model = \"phi3\"\ntimeout_seconds = 180  # default timeout if not specified\n\n[openai]  # each supported api has their own config section with api and url\napi_key = \"\u003Cyour_api_key>\"\ndefault_model = \"gpt-4-turbo-preview\"\nurl = \"https:\u002F\u002Fapi.openai.com\u002Fv1\u002Fchat\u002Fcompletions\"\n\n[mistral]\n# you can use a command to grab the key, requires a working `sh` command\napi_key_command = \"pass mistral\u002Fapi_key\"\ndefault_model = \"mistral-medium\"\nurl = \"https:\u002F\u002Fapi.mistral.ai\u002Fv1\u002Fchat\u002Fcompletions\"\n\n[groq]\napi_key_command = \"echo $MY_GROQ_API_KEY\"\ndefault_model = \"llama3-70b-8192\"\nurl = \"https:\u002F\u002Fapi.groq.com\u002Fopenai\u002Fv1\u002Fchat\u002Fcompletions\"\n\n[anthropic]\napi_key = \"\u003Cyet_another_api_key>\"\nurl = \"https:\u002F\u002Fapi.anthropic.com\u002Fv1\u002Fmessages\"\ndefault_model = \"claude-3-opus-20240229\"\nversion = \"2023-06-01\"  # anthropic API version, see https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fapi\u002Fversioning\n\n[cerebras]\napi_key = \"\u003Cyour_api_key>\"\ndefault_model = \"llama3.1-70b\"\nurl = \"https:\u002F\u002Fapi.cerebras.ai\u002Fv1\u002Fchat\u002Fcompletions\"\n```\n\n`prompts.toml`\n\n```toml\n[default]  # a prompt is a section\napi = \"ollama\"  # must refer to an entry in the `.api_configs.toml` file\nmodel = \"phi3\"  # each prompt may define its own model\n\n[[default.messages]]  # then you can list messages\nrole = \"system\"\ncontent = \"\"\"\\\nYou are an expert programmer and a shell master. You value code efficiency and clarity above all things. \\\nWhat you write will be piped in and out of cli programs so you do not explain anything unless explicitely asked to. \\\nNever write ``` around your answer, provide only the result of the task you are given. Preserve input formatting.\\\n\"\"\"\n\n[empty]  # always nice to have an empty prompt available\napi = \"openai\"\n# not mentioning the model will use the default from the api config\nmessages = []\n\n[test]\napi = \"anthropic\"\ntemperature = 0.0\n\n[[test.messages]]\nrole = \"system\"\ncontent = \"\"\"\\\nYou are an expert programmer and a shell master. You value code efficiency and clarity above all things. \\\nWhat you write will be piped in and out of cli programs so you do not explain anything unless explicitely asked to. \\\nNever write ``` around your answer, provide only the result of the task you are given. Preserve input formatting.\\\n\"\"\"\n\n[[test.messages]]\nrole = \"user\"\n# the following placeholder string #[\u003Cinput>] will be replaced by the input\n# each message seeks it and replaces it\ncontent ='''Write tests using pytest for the following code. Parametrize it if appropriate.\n\n#[\u003Cinput>]\n'''\n```\n\nsee [the config setup file](.\u002Fsrc\u002Fconfig\u002Fmod.rs) for more details.\n\n## Ollama setup\n\n1. [Install Ollama](https:\u002F\u002Fgithub.com\u002Follama\u002Follama#ollama)\n2. Pull the model you plan on using `ollama pull phi3`\n3. Test the model `ollama run phi3 \"say hi\"`\n4. Make sure the serving is available `curl http:\u002F\u002Flocalhost:11434` which should say \"Ollama is running\", else you might need to run `ollama serve`\n5. `smartcat` will now be able to reach your local ollama, enjoy!\n\n⚠️ Answers might be slow depending on your setup, you may want to try the third party APIs for an optimal workflow. Timeout is configurable and set to 30s by default.\n\n## How to help?\n\nSee [CONTRIBUTING.md](.\u002FCONTRIBUTING.md).\n","\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fefugier\u002Fsmartcat\u002Fdiscussions\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcommmunity-discussion-blue?style=flat-square\" alt=\"社区讨论\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fefugier\u002Fsmartcat\u002Factions\u002Fworkflows\u002Fci.yml\">\n      \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fefugier\u002Fsmartcat\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg?branch=main\" alt=\"Github Actions CI 构建状态\">\n  \u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fcrates.io\u002Fcrates\u002Fsmartcat\">\n      \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fcrates\u002Fv\u002Fsmartcat.svg?style=flat-square\" alt=\"crates.io\">\n  \u003C\u002Fa>\n  \u003Cbr>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fefugier_smartcat_readme_82a85319c6b5.png\" width=\"200\">\n\u003C\u002Fp>\n\n# smartcat (sc)\n\n为 `cat` 赋予智慧！一个 CLI 界面，将语言模型引入 Unix 生态系统，让终端高手在完全掌控的同时，最大化利用大语言模型的能力。\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fefugier_smartcat_readme_aa5c4a180f77.gif\" \u002F>\n\u003C\u002Fp>\n\n它的独特之处在于：\n\n- 专为高级用户设计；自定义配置以减少高频任务的开销\n- 极简主义风格，遵循 Unix 哲学构建，注重与终端和编辑器的集成\n- 优秀的输入输出处理能力，可将用户输入插入提示中，并将结果用于基于 CLI 的工作流\n- 内置部分提示功能，使模型更适合作为 CLI 工具使用\n- 完全可配置使用的 API、LLM 版本和温度参数\n- 可编写并保存自己的提示模板，以加快重复性任务（简化、优化、测试等）\n- 支持对话模式\n- 使用 glob 表达式引入上下文文件\n\n目前支持以下 API：\n\n- 本地运行：通过 **[Ollama](https:\u002F\u002Fgithub.com\u002Follama\u002Follama\u002Fblob\u002Fmain\u002Fdocs\u002FREADME.md)** 或任何兼容其格式的服务器；请参阅 [Ollama 设置](#ollama-setup) 部分，了解免费且最简单的入门方式！  \n_(根据您的配置，回答可能会较慢；您可能希望尝试第三方 API 以获得最佳工作流程。)_\n- **[Anthropic](https:\u002F\u002Fdocs.anthropic.com\u002Fclaude\u002Fdocs\u002Fmodels-overview)**、**[Azure OpenAI](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fai-services\u002Fopenai\u002Freference)**、**[Groq](https:\u002F\u002Fconsole.groq.com\u002Fdocs\u002Fmodels)**、**[Mistral AI](https:\u002F\u002Fdocs.mistral.ai\u002Fgetting-started\u002Fmodels\u002F)**、**[OpenAI](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fmodels\u002Foverview)**\n\n# 目录\n\n- [安装](#installation)\n- [推荐模型](#recommended-models)\n- [使用方法](#usage)\n- [几个入门示例 🐈‍⬛](#a-few-examples-to-get-started-)\n  - [与编辑器集成](#integrating-with-editors)\n    - [示例工作流](#example-workflows)\n- [配置](#configuration) ← 请仔细阅读\n    - [Ollama 设置](#ollama-setup) ← 免费且最简单的运行方式\n- [如何贡献？](.\u002FCONTRIBUTING.md)\n\n## 安装\n\n首次运行 (`sc`) 时，它会提示您生成默认配置文件，并指导您完成安装（请参阅 [配置](#Configuration) 部分）。\n\n最低配置要求是设置一个调用已配置 API 的 `default` 提示模板（可以是带有 API 密钥的远程 API，也可以是使用 Ollama 的本地运行）。\n\n接下来介绍如何获取它。\n\n### 使用 Cargo\n\n确保您已安装最新版本的 Rust 和 Cargo（您可以运行 `rustup update`）：\n\n```\ncargo install smartcat\n```\n\n再次运行此命令即可更新 `smartcat`。\n\n### Arch Linux\n\n如果您使用的是 Arch Linux，可以从 [extra 仓库](https:\u002F\u002Farchlinux.org\u002Fpackages\u002Fextra\u002Fx86_64\u002Fsmartcat\u002F) 安装该软件包：\n\n```\npacman -S smartcat\n```\n\n### 下载二进制文件\n\n请从 [发布页面](https:\u002F\u002Fgithub.com\u002Fefugier\u002Fsmartcat\u002Freleases) 选择适合您平台的编译版本。\n\n## 推荐模型\n\n目前，Anthropic、Mistral 或 OpenAI 的 API 效果最佳。使用这些顶级模型进行常规操作，每月费用约为 2–3 美元。\n\n## 使用方法\n\n```text\n用法：sc [选项] [输入或模板引用] [模板引用时的输入]\n\n参数：\n  [输入或模板引用]  指向配置中的提示模板或直接输入（若未指定，则使用 `default` 提示模板）\n  [模板引用时的输入]  如果第一个参数匹配配置中的模板，则第二个参数将作为输入\n\n选项：\n  -e, --extend-conversation        是否延续之前的对话或开始新对话\n  -r, --repeat-input               是否在输出前重复输入，适用于扩展而非替换场景\n      --api \u003CAPI>                  覆盖要调用的 API [可选值：ollama、anthropic、groq、mistral、openai]\n  -m, --model \u003CMODEL>              覆盖要使用的模型（针对所选 API）\n  -t, --temperature \u003CTEMPERATURE>  温度越高，回答越偏离平均值\n  -l, --char-limit \u003CCHAR_LIMIT>    最多包含的字符数；超过时需用户确认，0 表示无限制\n  -c, --context \u003CCONTEXT>...       用于提供上下文的 glob 模式或文件列表\n                                   必须放在最后。\n  -h, --help                       显示帮助信息\n  -V, --version                    显示版本号\n```\n\n您可以将其用于 CLI 中的任务，也可以在编辑器中使用（前提是编辑器能够良好地与 Shell 命令和文本流交互），以完成代码补全、重构、编写测试等任何操作！\n\n**要让其无缝运行的关键，在于设置一个良好的默认提示模板，告诉模型应像 CLI 工具一样工作**，而不是输出不必要的内容，如 Markdown 格式或解释说明。\n\n## 几个入门示例 🐈‍⬛\n\n```\nsc \"say hi\"  # 直接提问（使用默认提示模板）\n\nsc test                         # 使用模板化提示\nsc test \"and parametrize them\"  # 动态扩展模板\n\nsc \"explain how to use this program\" -c **\u002F*.md main.py  # 使用文件作为上下文\n\ngit diff | sc \"summarize the changes\"  # 通过管道传递数据\n\ncat en.md | sc \"translate in french\" >> fr.md   # 将数据写入文件\nsc -e \"use a more informal tone\" -t 2 >> fr.md  # 延续对话并提高温度\n```\n\n### 与编辑器集成\n\n在编辑器中实现良好集成的关键在于设置一个合适的默认提示（或一组提示），并结合 `-p` 标志来指定当前任务。此外，可以使用 `-r` 标志来决定是替换还是扩展选中的内容。\n\n#### Vim\n\n首先选择一些文本，然后按下 `:` 键。接着可以将选中文本通过管道传递给 `smartcat`。\n\n```\n:'\u003C,'>!sc \"用通配符替换版本号\"\n```\n\n```\n:'\u003C,'>!sc \"修复这个函数\"\n```\n\n这会**覆盖**当前选中的内容，用语言模型转换后的相同文本替换它。\n\n```\n:'\u003C,'>!sc -r test\n```\n\n则会**重复**输入内容，相当于在当前选中文本的末尾追加语言模型的输出结果。\n\n为了方便使用，可以在你的 `vimrc` 文件中添加以下映射：\n\n```vimrc\nnnoremap \u003Cleader>sc :'\u003C,'>!sc\n```\n\n#### Helix 和 Kakoune\n\n概念相同，但快捷键不同。只需按下管道键即可将选中文本重定向到 `smartcat`。\n\n```\npipe:sc test -r\n```\n\n通过一些自定义映射，你可以将最常用的命令绑定到几个按键上，例如 `\u003Cleader>wt`！\n\n#### 示例工作流\n\n**用于快速提问：**\n\n```\nsc \"我的快速问题\"\n```\n\n这很可能是你**最快得到答案的方式**：只需打开终端（如果你还没有在终端中），运行 `sc` 即可。无需寻找标签页、登录或跳转等操作。\n\n**帮助编写代码：**\n\n选择一个结构体：\n\n```\n:'\u003C,'>!sc \"为这个结构体实现 FromStr 和 ToString 特性\"\n```\n\n选择生成的实现块：\n\n```\n:'\u003C,'>!sc -e \"能否让它更简洁一些？\"\n```\n\n将光标放在文件底部，并提供示例用法作为输入：\n\n```\n:'\u003C,'>!sc -e \"现在根据它的使用方式为其编写测试\" -c src\u002Fmain.rs\n```\n\n……\n\n**从 Markdown 文件中与 LLM 进行完整对话：**\n\n```\nvim problem_solving.md\n\n> 在 Markdown 文件中以注释形式写下你的问题，然后选中该问题，\n> 使用上述技巧将其发送到 smartcat，使用 `-r` 选项重复输入。\n>\n> 如果你想继续对话，可以再写一条新问题作为注释，然后重复之前的步骤，使用 `-e -r`。\n>\n> 这样可以记录下所有问题，形成一份便于复用的文档。\n```\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fefugier_smartcat_readme_f496bdb87021.gif\" \u002F>\n\u003C\u002Fp>\n\n\n# 配置\n\n- 默认情况下，配置文件位于 `$HOME\u002F.config\u002Fsmartcat` 或 Windows 上的 `%USERPROFILE%\\.config\\smartcat`。\n- 可以通过 `SMARTCAT_CONFIG_PATH` 环境变量来设置配置目录。\n- 编写提示时，请使用 `#[\u003Cinput>]` 作为输入占位符；如果没有提供输入，系统会自动将其添加到用户最后一条消息的末尾。\n- 默认模型是使用 Ollama 运行的本地 `phi3` 模型，但建议尝试最新的模型，找到最适合你的那一款。\n- 默认会使用名为 `default` 的提示。\n- 你可以根据每个提示的具体用途调整温度参数，并为每个提示设置默认值。\n\n配置文件包含三个文件：\n\n- `.api_configs.toml` 存储你的 API 凭证；至少需要一个支持 API 密钥的服务提供商，或者本地的 Ollama 部署。\n- `prompts.toml` 存储你的提示模板；至少需要一个名为 `default` 的提示。\n- `conversation.toml` 用于存储最近的对话记录，以便后续继续；该文件会自动管理，但你也可以根据需要进行备份。\n\n`.api_configs.toml`\n\n```toml\n[ollama]  # 本地 API，无需密钥\nurl = \"http:\u002F\u002Flocalhost:11434\u002Fapi\u002Fchat\"\ndefault_model = \"phi3\"\ntimeout_seconds = 180  # 如果未指定，默认超时时间为 180 秒\n\n[openai]  # 每个支持的 API 都有独立的配置部分，包含 API 密钥和 URL\napi_key = \"\u003Cyour_api_key>\"\ndefault_model = \"gpt-4-turbo-preview\"\nurl = \"https:\u002F\u002Fapi.openai.com\u002Fv1\u002Fchat\u002Fcompletions\"\n\n[mistral]\n# 可以使用命令获取密钥，需要可用的 `sh` 命令\napi_key_command = \"pass mistral\u002Fapi_key\"\ndefault_model = \"mistral-medium\"\nurl = \"https:\u002F\u002Fapi.mistral.ai\u002Fv1\u002Fchat\u002Fcompletions\"\n\n[groq]\napi_key_command = \"echo $MY_GROQ_API_KEY\"\ndefault_model = \"llama3-70b-8192\"\nurl = \"https:\u002F\u002Fapi.groq.com\u002Fopenai\u002Fv1\u002Fchat\u002Fcompletions\"\n\n[anthropic]\napi_key = \"\u003Cyet_another_api_key>\"\nurl = \"https:\u002F\u002Fapi.anthropic.com\u002Fv1\u002Fmessages\"\ndefault_model = \"claude-3-opus-20240229\"\nversion = \"2023-06-01\"  # anthropic API 版本，详见 https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fapi\u002Fversioning\n\n[cerebras]\napi_key = \"\u003Cyour_api_key>\"\ndefault_model = \"llama3.1-70b\"\nurl = \"https:\u002F\u002Fapi.cerebras.ai\u002Fv1\u002Fchat\u002Fcompletions\"\n```\n\n`prompts.toml`\n\n```toml\n[default]  # 每个提示是一个独立的部分\napi = \"ollama\"  # 必须引用 `.api_configs.toml` 中的条目\nmodel = \"phi3\"  # 每个提示可以单独定义使用的模型\n\n[[default.messages]]  # 接下来可以列出多条消息\nrole = \"system\"\ncontent = \"\"\"\\\n你是一位精通编程和 Shell 的专家。你始终将代码的效率和清晰度放在首位。 \\\n你编写的代码会被管道传递到 CLI 程序中，因此除非被明确要求，否则不会做任何解释。 \\\n请不要在回答中使用 ``` 包围代码，只需直接给出任务的结果。保持输入格式不变。\\\n\"\"\"\n\n[empty]  # 总是有一个空提示可用\napi = \"openai\"\n# 如果不指定模型，则使用 API 配置中的默认模型\nmessages = []\n\n[test]\napi = \"anthropic\"\ntemperature = 0.0\n\n[[test.messages]]\nrole = \"system\"\ncontent = \"\"\"\\\n你是一位精通编程和 Shell 的专家。你始终将代码的效率和清晰度放在首位。 \\\n你编写的代码会被管道传递到 CLI 程序中，因此除非被明确要求，否则不会做任何解释。 \\\n请不要在回答中使用 ``` 包围代码，只需直接给出任务的结果。保持输入格式不变。\\\n\"\"\"\n\n[[test.messages]]\nrole = \"user\"\n# 下面的占位符字符串 #[\u003Cinput>] 将被实际输入替换\n# 每条消息都会查找并替换它\ncontent ='''使用 pytest 为以下代码编写测试。如果合适，可以进行参数化。\n\n#[\u003Cinput>]\n'''\n```\n\n更多详细信息请参阅 [配置设置文件](.\u002Fsrc\u002Fconfig\u002Fmod.rs)。\n\n## Ollama 设置\n\n1. [安装 Ollama](https:\u002F\u002Fgithub.com\u002Follama\u002Follama#ollama)\n2. 拉取你计划使用的模型：`ollama pull phi3`\n3. 测试模型：`ollama run phi3 \"say hi\"`\n4. 确保服务已启动：`curl http:\u002F\u002Flocalhost:11434`，应显示“Ollama is running”，否则可能需要运行 `ollama serve`。\n5. 现在 `smartcat` 就可以访问你的本地 Ollama 了，尽情使用吧！\n\n⚠️ 根据你的配置，回答可能会比较慢，建议尝试第三方 API 以获得更流畅的工作流程。超时时间可配置，默认为 30 秒。\n\n## 如何贡献？\n\n请参阅 [CONTRIBUTING.md](.\u002FCONTRIBUTING.md)。","# Smartcat (sc) 快速上手指南\n\nSmartcat 是一款专为终端高级用户设计的 CLI 工具，旨在将大语言模型（LLM）无缝集成到 Unix 生态系统中。它允许你通过管道、重定向和编辑器集成，完全控制 AI 的输入输出，使其像标准的命令行工具一样工作。\n\n## 环境准备\n\n*   **操作系统**: Linux, macOS, Windows (WSL 推荐)。\n*   **前置依赖**:\n    *   **方案 A (本地运行 - 免费)**: 需安装 [Ollama](https:\u002F\u002Follama.com\u002F) 并拉取模型（如 `phi3`）。这是最推荐的起步方式。\n    *   **方案 B (云端 API)**: 需拥有 Anthropic, OpenAI, Groq, Mistral 或 Azure OpenAI 的 API Key。\n*   **构建工具 (仅源码安装需要)**: Rust 和 Cargo (建议运行 `rustup update` 确保最新)。\n\n## 安装步骤\n\n### 方法一：使用 Cargo 安装（推荐）\n如果你已配置好 Rust 环境，这是最通用的安装方式：\n\n```bash\ncargo install smartcat\n```\n*更新时再次运行上述命令即可。*\n\n### 方法二：Arch Linux 用户\n可以直接从官方仓库安装：\n\n```bash\npacman -S smartcat\n```\n\n### 方法三：下载二进制文件\n访问 [GitHub Release 页面](https:\u002F\u002Fgithub.com\u002Fefugier\u002Fsmartcat\u002Freleases)，下载对应平台的编译好的二进制文件并放入 PATH 中。\n\n### 初始化配置\n首次运行 `sc` 时，程序会自动引导你生成默认配置文件（位于 `$HOME\u002F.config\u002Fsmartcat`）。\n*   **关键步骤**: 你必须配置至少一个可用的 API 提供者（本地 Ollama 或远程 API Key）以及一个名为 `default` 的提示词模板，工具才能正常工作。\n\n## 基本使用\n\nSmartcat 的核心在于将 AI 作为命令行过滤器使用。默认的提示词模板已优化为“只输出结果，不包含 Markdown 格式或多余解释”，以便直接用于管道操作。\n\n### 1. 直接提问\n使用默认模板进行快速问答：\n```bash\nsc \"say hi\"\n```\n\n### 2. 管道输入与输出\n结合 `git`, `cat` 等命令处理数据流：\n\n**总结代码变更：**\n```bash\ngit diff | sc \"summarize the changes\"\n```\n\n**翻译文件内容：**\n```bash\ncat en.md | sc \"translate in french\" >> fr.md\n```\n\n### 3. 使用上下文文件\n利用 glob 表达式将多个文件内容作为上下文输入：\n```bash\nsc \"explain how to use this program\" -c **\u002F*.md main.py\n```\n\n### 4. 编辑器集成 (Vim\u002FNeovim)\n在编辑器中选中文本，进入命令模式，通过 `!` 调用 smartcat 处理选中内容：\n\n**重构选中的代码（直接替换）：**\n```vim\n:'\u003C,'>!sc \"fix this function\"\n```\n\n**为选中代码生成测试（追加到末尾）：**\n使用 `-r` 参数保留原始输入，将 AI 生成的内容追加在后面：\n```vim\n:'\u003C,'>!sc -r test\n```\n\n**提示**: 建议在 `.vimrc` 中添加映射以简化操作：\n```vimrc\nnnoremap \u003Cleader>sc :'\u003C,'>!sc\n```\n\n### 5. 对话延续\n使用 `-e` 参数基于上一轮对话继续交互：\n```bash\nsc -e \"use a more informal tone\" -t 2 >> fr.md\n```\n*(其中 `-t 2` 表示提高温度值，使回答更具创造性)*","一位后端工程师在清理遗留代码库时，需要快速理解并重构数百个分散的旧式 Shell 脚本和配置片段。\n\n### 没有 smartcat 时\n- **上下文割裂**：必须手动打开多个文件复制内容到网页版 AI 对话框，无法直接利用 Unix 管道流式处理数据。\n- **操作繁琐低效**：每次询问不同问题（如“解释逻辑”、“生成单元测试”、“优化性能”）都要重复粘贴代码和重写提示词。\n- **工作流中断**：在终端、浏览器和编辑器之间频繁切换，打断了原本流畅的命令行操作节奏。\n- **难以批量处理**：面对通配符匹配的一批文件（如 `*.sh`），无法一次性让 AI 分析所有相关文件的上下文关联。\n\n### 使用 smartcat 后\n- **原生管道集成**：直接使用 `cat legacy.sh | sc \"解释这段逻辑并重写为函数\"`，像使用普通 `cat` 一样自然地将代码流传给大模型。\n- **模板化高效复用**：预设 `refactor` 或 `test` 提示词模板，通过 `sc refactor *.sh` 即可对批量文件执行标准化的重构建议，无需重复输入指令。\n- **终端内闭环操作**：全程无需离开终端，结合编辑器插件可直接将 `smartcat` 的输出结果插入当前文件，保持心流状态不中断。\n- **智能上下文感知**：利用 Glob 表达式自动包含依赖文件作为上下文，让 AI 基于完整的项目结构提供精准的修改方案，而非孤立的代码片段。\n\nsmartcat 真正将大模型的智力无缝嵌入了 Unix 哲学体系，让开发者能用最熟悉的管道命令驾驭 AI，实现从“复制粘贴”到“流式思维”的效率跃迁。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fefugier_smartcat_82a85319.png","efugier","Emilien Fugier","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fefugier_f09df2af.jpg",null,"Paris area","mail@emilienfugier.net","emilienfugier.net","https:\u002F\u002Fgithub.com\u002Fefugier",[81],{"name":82,"color":83,"percentage":84},"Rust","#dea584",100,561,35,"2026-04-05T23:03:55","Apache-2.0","Linux, macOS, Windows","非必需。若使用本地 Ollama 运行模型，需根据所选模型配置相应 GPU（未指定具体型号或显存要求）；若使用远程 API 则无需本地 GPU。","未说明",{"notes":93,"python":94,"dependencies":95},"该工具是使用 Rust 编写的命令行程序，不依赖 Python 环境。可通过 Cargo、Arch Linux 包管理器或直接下载二进制文件安装。支持多种大模型 API（如 OpenAI、Anthropic、Mistral 等）及本地 Ollama 部署。首次运行会自动生成配置文件，需至少配置一个 API 提供商（远程需 API Key，本地需安装并运行 Ollama）。","不需要 Python",[96,97],"Rust (通过 Cargo 安装)","Ollama (可选，用于本地推理)",[99,35,13,14,15],"插件",[101,102,103,104,105,106,107,108,109],"ai","chatgpt","unix","llm","cli","command-line","command-line-tool","copilot","mistral-ai","2026-03-27T02:49:30.150509","2026-04-06T19:00:50.077816",[113,118,123,128,133,138],{"id":114,"question_zh":115,"answer_zh":116,"source_url":117},19693,"在 Windows 上运行 smartcat 时，`sc` 命令与系统自带的 `Sc.exe` 冲突怎么办？","可以通过创建软链接将 smartcat 的可执行文件重命名为其他名称（例如 `scai.exe`）来解决。具体步骤：\n1. 确保有一个包含在 PATH 中的目录（如 `~\\.local\\bin`）。\n2. 运行命令创建链接（需先安装 `ln` 工具，可通过 `scoop install ln` 安装）：\n   `ln -s C:\\Users\\user\\.cargo\\bin\\sc.exe C:\\Users\\user\\.local\\bin\\scai.exe`\n3. 之后使用新名称 `scai` 调用即可。\n\n另外，如果在 Helix 编辑器中使用，建议在 `config.toml` 中将 shell 从 CMD 改为 PowerShell，以避免管道命令解析错误：\n```toml\n[editor]\nshell = [\"pwsh.exe\", \"-NoLogo\", \"-NoProfile\", \"-NonInteractive\", \"-Command\"]\n```","https:\u002F\u002Fgithub.com\u002Fefugier\u002Fsmartcat\u002Fissues\u002F41",{"id":119,"question_zh":120,"answer_zh":121,"source_url":122},19694,"smartcat 是否支持 GitHub Copilot 或 Azure OpenAI Service？","目前 smartcat 不支持直接使用 GitHub Copilot 订阅，但支持多种 LLM 提供商。从版本 2.1.0 开始，已正式支持 Azure OpenAI Service。\n对于 Azure 用户，可以在配置文件中指定 Azure 的 endpoint 和 deployment ID。API Key 的配置方式与普通 OpenAI 类似，但请求头可能需要调整为 `api-key`（视具体实现版本而定）。\n当前主要支持的提供商包括 OpenAI、Mistral AI、Groq、Anthropic 以及 Azure OpenAI。由于项目采用适配器模式架构，若其他 API 文档完善，添加新支持也非常快速。","https:\u002F\u002Fgithub.com\u002Fefugier\u002Fsmartcat\u002Fissues\u002F33",{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},19695,"当 Ollama 未安装指定模型时，程序直接 panic 崩溃如何处理？","这是一个已知问题，当配置的默认模型（如 `phi3`）在 Ollama 中不存在时，程序会因 404 错误而 panic。目前的临时解决方案是：\n1. 手动拉取缺失的模型：`ollama pull phi3`（替换为你配置的模型名）。\n2. 或者修改 `~\u002F.config\u002Fsmartcat\u002F.api_configs.toml` 文件，将 `default_model` 更改为已安装的模型名称。\n维护者已意识到该问题，正在探讨如何优化错误提示，使其更友好地区分于 Rust 调试信息，而不是直接抛出 panic。","https:\u002F\u002Fgithub.com\u002Fefugier\u002Fsmartcat\u002Fissues\u002F36",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},19696,"如何在 Arch Linux 等发行版上解决 `libssl.so.1.1` 缺失的错误？","该问题是由于旧版二进制文件依赖已过时的 OpenSSL 1.1 库导致的。解决方案是升级到 smartcat 2.2.0 或更高版本。\n从 2.2.0 版本开始，项目已切换至 `rustls-tls` 后端，不再依赖系统级的 `libssl.so.1.1`，从而解决了在 Arch Linux 等新版系统上无法运行的问题。请通过 `cargo install` 或下载最新的 release 二进制文件进行更新。","https:\u002F\u002Fgithub.com\u002Fefugier\u002Fsmartcat\u002Fissues\u002F34",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},19697,"smartcat 是否支持从密码管理器（如 pass）中读取 API Key？","是的，从版本 0.6.0 开始，smartcat 已经支持从 `pass` 密码管理器中读取 API Key。您可以在配置文件中设置相关选项，让 smartcat 自动调用 `pass` 获取密钥，避免将敏感信息明文存储在配置文件中。如果遇到配置问题，建议检查版本是否在 0.6.0 以上。","https:\u002F\u002Fgithub.com\u002Fefugier\u002Fsmartcat\u002Fissues\u002F6",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},19698,"Windows 下配置文件路径显示双反斜杠（\\\\）是否正常？","这是早期版本的一个显示问题，已在版本 1.7.2 中修复。\n如果您看到类似 `C:\\\\Users\\\\...` 的路径提示，请升级 smartcat 到 1.7.2 或更高版本。升级后，路径分隔符将正确显示或统一处理，不再出现重复的反斜杠混淆视听。","https:\u002F\u002Fgithub.com\u002Fefugier\u002Fsmartcat\u002Fissues\u002F27",[144,149,154,159,164,169,174,179,184,189,194,199,204,209,214,219,224,229,234,239],{"id":145,"version":146,"summary_zh":147,"released_at":148},117705,"2.2.0","切换到 rustls-tls，以避免系统库缺失的问题。","2024-11-06T15:45:23",{"id":150,"version":151,"summary_zh":152,"released_at":153},117706,"2.1.0","新增对 [Azure OpenAI](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fai-services\u002Fopenai\u002Freference) 的支持，感谢 @d5ve :pray: ","2024-11-04T09:16:18",{"id":155,"version":156,"summary_zh":157,"released_at":158},117707,"2.0.0","- 移除语音功能（后续可能会作为附加功能重新集成）- 使用 LTO 进行发布","2024-10-30T09:15:37",{"id":160,"version":161,"summary_zh":162,"released_at":163},117708,"1.7.2","修复 #26：Windows 上的路径显示问题。","2024-10-21T21:13:24",{"id":165,"version":166,"summary_zh":167,"released_at":168},117709,"1.7.1","尝试修复 Windows 上的路径显示行为。","2024-10-21T14:41:24",{"id":170,"version":171,"summary_zh":172,"released_at":173},117710,"1.7.0","在 Windows 系统上，请使用 `cmd` 来运行 `api_key_command`，而不是 `sh`。","2024-10-21T13:00:36",{"id":175,"version":176,"summary_zh":177,"released_at":178},117711,"1.6.0","在 Windows 系统中使用 `%USERPROFILE%` 而不是 `$HOME`。\n\n解决 #25","2024-10-21T12:27:21",{"id":180,"version":181,"summary_zh":182,"released_at":183},117712,"1.5.0","通过在 Shell 中执行 `api_key_command` 来启用环境变量的读取。\n\n解决了 https:\u002F\u002Fgithub.com\u002Fefugier\u002Fsmartcat\u002Fissues\u002F26。","2024-10-21T09:38:55",{"id":185,"version":186,"summary_zh":187,"released_at":188},117713,"1.4.1","默认延长超时时间 + 更新 README 文件。","2024-07-29T14:04:21",{"id":190,"version":191,"summary_zh":192,"released_at":193},117714,"1.4.0","现在感谢 @lpchaim 的贡献，每个 API 都支持超时配置选项啦 :pray: ","2024-07-19T13:45:13",{"id":195,"version":196,"summary_zh":197,"released_at":198},117715,"1.3.0","New feature: voice input using external recording programs (`arecord` and `sox`) and openai whisper1.\r\n\r\nUse `-v` to try! Only tested on linux, welcoming feedback.","2024-05-16T21:03:10",{"id":200,"version":201,"summary_zh":202,"released_at":203},117716,"1.3.0-rc.0","New feature: voice input using external recording programs and openai whisper1.","2024-05-16T16:02:25",{"id":205,"version":206,"summary_zh":207,"released_at":208},117717,"1.2.2","Doc updates and minor code improvements.","2024-05-06T15:56:38",{"id":210,"version":211,"summary_zh":212,"released_at":213},117718,"1.2.1","Better onboarding, error handling and doc.","2024-04-25T11:03:53",{"id":215,"version":216,"summary_zh":217,"released_at":218},117719,"1.2.0","Add support for local ollama and set it as the default model for new installs.","2024-04-24T15:52:09",{"id":220,"version":221,"summary_zh":222,"released_at":223},117720,"1.1.0","Add [Groq](https:\u002F\u002Fconsole.groq.com\u002Fdocs\u002Fmodels) support","2024-04-22T15:33:39",{"id":225,"version":226,"summary_zh":227,"released_at":228},117721,"1.0.0","**BREAKING CHANGES**\r\n- remove `-i` and `-p`, now infer automatically if you are referring to a template or writing input\r\n- rename most arguments\r\n- remove `after_input` and `system_message` config options (were not used)\r\n- add support for multiple context patterns\r\n- add char limit to prevent high cost mistakes (ask for user input)\r\n\r\n**CODE IMPROVEMENTS**\r\n- friendlier UX\r\n- removed a lot of useless stuff\r\n- better separation of concerns\r\n- fixed a bunch of bugs\r\n","2024-04-19T01:03:23",{"id":230,"version":231,"summary_zh":232,"released_at":233},117722,"0.7.4","Use a near 0 instead of 0 temperature.\r\n\r\nFix logging. (now `RUSTLOG=debug sc` will have the desired effect)","2024-04-18T14:26:32",{"id":235,"version":236,"summary_zh":237,"released_at":238},117723,"0.7.3","Fix anthropic when overriding apis.","2024-04-17T22:36:03",{"id":240,"version":241,"summary_zh":242,"released_at":243},117724,"0.7.2","Fixed config location be hardcoded at build time thanks @xlambein\r\n","2024-04-04T13:47:32"]