👀 实际效果演示
实时代码补全
与AI对话讨论你的代码
🛠️ 前提条件
如果你还没有准备好,请选择以下平台之一在你的系统上本地运行你选择的LLM。
👍 LLM推荐
请注意,你需要为代码补全和聊天功能分别配置LLM。以下是我们推荐的一些流行LLM。请根据你的硬件能力选择模型的大小(即1.3b、7b、13b或34b)。
代码补全 | 聊天 | 链接 |
---|---|---|
deepseek-coder:{1.3b或6.7b或33b}-base | deepseek-coder:{1.3b或6.7b或33b}-instruct | Ollama标签, 主页 |
codellama:{7b或13b或34b}-code | codellama:{7b或13b或34b}-instruct | Ollama标签, 主页 |
mistral:{7b}-instruct | Ollama标签, 主页 |
你也可以使用Benchllama评估你的本地LLM来选择模型。
🚀 快速安装
你可以从Visual Studio Code市场或Open VSX注册表安装Privy扩展。
⚙️ 配置选项
请在Privy扩展的设置中设置以下选项。
- privy.provider(
必填
):选择用于本地运行LLM的平台。支持使用OpenAI,但这会影响解决方案的隐私性。默认为Ollama
。 - privy.providerUrl(
必填
):用于本地运行LLM的平台的URL。默认为http://localhost:11434
。 - privy.autocomplete.mode:使用此设置启用/禁用自动补全功能。
- privy.autocomplete.model:输入你想用于自动补全的本地Ollama模型名称。支持的格式有DeepSeek Coder、LLama和Stable Code。我们选择了deepseek-coder:1.3b-base,因为它需要最少的VRAM。你可以根据你的硬件设置进行自定义。
- privy.autocomplete.debounceWait:用于设置触发下一次补全之前的时间间隔(毫秒)。默认为300毫秒。
- privy.model:选择你想聊天的LLM。目前支持DeepSeek、Mistral和CodeLLama。如果你想使用其他LLM,请选择
custom
并相应地配置privy.customModel
。 - privy.customModel:如果你想选择在Ollama上运行的任何其他模型,请输入它们的名称。
✨ 主要特性
- 👍 开源
- 🔐 隐私优先
- 🚀 自动代码补全
- 🤖 Copilot风格的聊天
- 💬 线程对话
- 💻 支持代码解释、单元测试、查找错误、诊断错误等
⌨️ 键盘快捷键
快捷键(Mac) | 描述 |
---|---|
Alt + \ (Windows/Linux)或Cmd + \ (Mac) | 触发内联代码补全 |
Ctrl + Alt + c (Windows/Linux)或Ctrl + Cmd + c (Mac) | 开始聊天 |
💡 使用技巧
理解这些概念将帮助你充分利用Privy。
- 具体明确。 当你要求,例如,代码更改时,包括具体的名称并描述期望的结果。避免模糊的引用。
- 提供上下文。 对于基本问题,你可以包括编程语言("用Rust")或其他相关上下文。 对于代码解释和错误诊断,你可以选择有意义的代码片段。
- 不要盲目相信答案。 Privy能够回答你的问题是一个重大进步。 在讨论不太知名的主题或对话变得过于详细时,它可能会给出不准确的答案。
- 为不同主题使用不同的聊天线程。 具有特定主题的较短线程将帮助Privy更准确地回应。
🤝 致谢
- RubberDuck AI - 这个项目深受RubberDuck AI工作的启发,我们感谢他们的贡献。以下是该项目的贡献者列表,我们向他们所有人表示诚挚的感谢。
贡献指南
阅读我们的贡献指南,了解我们的开发流程,如何提出错误修复和改进建议,以及如何构建和测试您的更改。
适合新手的问题
为了帮助您熟悉我们的贡献流程,我们列出了一系列适合新手的问题,这些问题范围相对有限。这是一个很好的起点!