使用 Genie 提升您的开发人员体验
- ✨ 使用你自己的 Azure OpenAI 服务部署
- 💬 将您的对话历史记录存储在磁盘上并随时继续。
- 💡 在问题窗口中使用 Genie 来解释和建议修复编译时错误。
- 🔁 只需单击一下,即可在编辑器中查看您的代码与 Genie 的建议之间的差异。
- 👤 重命名和个性化您的助手。
- 📃 在编辑器或侧边栏对话中获取对提示的流式回答。
- 🔥 流式对话支持并停止响应以保存您的令牌。
- 📝 通过单击或使用键盘快捷键创建文件或修复代码。
- ➡️ 以 Markdown 格式一次导出所有对话历史记录。
- ➕ 通过您的 OpenAI API 密钥使用 GPT-4、GPT-3.5、GPT3 或 Codex 模型。
📣 有什么新鲜事吗?
✨ Azure OpenAI 服务支持等
- Azure OpenAI 服务
- 您现在可以将 Azure OpenAI 部署与 Genie 一起使用
- 在设置中设置完整的 Azure OpenAI 部署 URL:
genieai.azure.url按照设置说明中提到的说明进行操作 - 确保将扩展的模型设置设置为用于 Azure 部署的正确基础模型

- 重命名和删除侧边栏中的对话
- 您无需更新
genie.json文件即可更新您的对话名称。
- 改进的自动滚动行为
- 如果您中断流,自动滚动将被禁用
💡 快速解决问题
- 让 Genie 快速修复您在代码中看到的问题
- 单击您看到带下划线错误的代码段上的灯泡

💬 保存您的对话并随时继续
- 对话历史
- 目标:收集反馈并衡量不同机器、操作系统设置之间的兼容性。
- 我们正在试验一项新功能,以帮助您使用 VS Code 全局存储 API 将对话存储在磁盘中。
- 您需要选择加入才能使用此功能,因为这是收集用户反馈的实验性功能。设置名称:
genieai.enableConversationHistory - 对于此实验性功能,请记住此功能目前有局限性并且可能存在错误,使用它需要您自担风险。
- 您可能不时出于隐私需要手动删除存储的文件,除了将新线程写入文件外,扩展没有任何修改文件的方法。
- 所有对话都以名称“新聊天”开头,您可以在
genie.json文件中更改它。 - 使用 VS Code 为扩展提供的全局存储 API,对话仅存储在您的计算机上。
- 杂项。错误修复和改进
对话历史 - 演示
Genie - ChatGPT 对话历史记录 - 观看视频
开始
从这里获取您的 API 密钥:OpenAI并查看 OpenAI 官方文档以获取可用模型的详细信息
- 只需通过选择一个代码片段来询问任何编码问题。
- 一旦询问,请提供您的 API 密钥。
如果您遇到有关 API 密钥的问题,请参阅常见问题解答以了解有关如何重新输入/清除它的详细信息
特征
该扩展附带上下文菜单命令、通过单击将建议代码复制/移动到编辑器、对话窗口和 OpenAI 的 ChatGPT 提示的自定义选项。
我们最近将 Genie 引入了Problemswindow。您可以询问 Genie 来调查您的编译时错误。只需单击灯泡/建议图标,即可让 Genie 帮助您。这个想法归功于@cahaseler;如果你有兴趣看到他的 Genie-companion 扩展,请访问这个问题
- 💬 将您的对话历史记录存储在磁盘上并随时继续。

- 💡 快速修复代码中的问题

- ✨ 支持 Azure OpenAI 服务

- 🔁 只需单击一下,即可在编辑器中查看您的代码与 Genie 的建议之间的差异。

- 📃 在编辑器或侧边栏对话中获取对提示的流式回答。

- 使用所选代码自定义您要询问的内容。该分机将记住您对后续问题的提示。

- 自动部分代码响应检测。如果 AI 没有完成响应,您可以选择继续并组合答案

- 将 ChatGPT 建议的代码复制或插入到您的编辑器中。

- 🍻对话优化
- 编辑并重新发送之前的提示
- 📤 一键导出所有对话历史记录
- Ad-hoc 提示前缀,用于自定义您要询问的内容 ChatGPT

客制化
您可以使用 VS Code 的内置键绑定菜单为以下任何命令分配键盘快捷键。
- 您可以启用/禁用所有上下文菜单项。只需转到设置并找到您要禁用的提示。自定义提示默认隐藏。
Genie: Ad-hoc prompt:所选代码的临时自定义提示前缀。右键单击选定的代码块,运行命令。- 系统会要求您填写首选的自定义前缀,扩展程序会记住该字符串以供您后续的临时查询使用。
Genie: Add tests: 给你写测试。右键单击选定的代码块,运行命令。- "default": "对以下代码进行测试",
- "description": "用于为所选代码添加测试的提示前缀"
Genie: Find bugs:分析并查找代码中的错误。右键单击选定的代码块,运行命令。- "default": "查找以下代码的问题",
- "description": "用于查找所选代码问题的提示前缀"
Genie: Optimize:向您的代码添加建议以进行改进。右键单击选定的代码块,运行命令。- "default": "优化以下代码",
- "description": "用于优化所选代码的提示前缀"
Genie: Explain:解释所选代码。右键单击选定的代码块,运行命令。- "default": "解释以下代码",
- "description": "用于解释所选代码的提示前缀"
Genie: Add comments:为选中的代码添加注释。右键单击选定的代码块,运行命令。- "default": "为以下代码添加注释",
- "description": "为所选代码添加注释时使用的提示前缀"
Genie: Custom prompt 1: 您的自定义提示 1. 默认关闭,请设置为自定义提示,如果您喜欢使用自定义提示,请启用- “默认”: ””,
Genie: Custom prompt 2: 您的自定义提示 2. 默认关闭,请设置为自定义提示,如果您喜欢使用自定义提示,请启用- “默认”: ””,
Genie: Generate code:如果您选择 Codex 模型 (code-*),您将在上下文菜单中看到此选项。此选项不会像其他文本完成提示那样为 ChatGPT 提供任何上下文。
其他可用命令
Genie: Clear API Key:从 VS 代码机密存储中清除 API 密钥Genie: Show conversations:启用对话历史记录设置后精灵存储的对话列表。Genie: What's new: 查看最近发布的内容。Genie: Start a new chat:开始与 AI 的新聊天。Genie: Ask anything:对话窗口中的自由格式文本问题。Genie: Reset session:清除当前会话并重置您与 ChatGPT 的连接Genie: Clear conversation:清除对话窗口并重置线程以开始与 ChatGPT 的新对话。Genie: Export conversation:导出Markdown中的整个对话,方便您存储和查找问答列表。Genie: Focus on Genie View:如果它被隐藏,则聚焦于 Genie 窗口。您可以通过拖动 Genie 图标将 Genie 窗口移动到右侧栏或底部栏。
故障排除
常问问题
- 对于一般常见问题,请访问 OpenAI 自己的页面:https://help.openai.com/en/articles/7039783-chatgpt-api-faq
- 如何清除或重新输入 API 密钥:使用
Genie: Clear API Key命令。单击Commands主页以查看所有可用命令。您也可以点击Change API Key主页上的。 - 编辑器视图使用 text-davinci-003:这是目前的设计,因为它是唯一可以保证代码响应的模型,并且视图不需要会话上下文。详情请关注本期#24
- ChatGPT Plus 订阅中是否包含 ChatGPT API?:不,ChatGPT API 和 ChatGPT Plus 订阅是分开计费的。
- API Key保存后可以查看吗?: VS Code 秘密存储将不允许您在存储后读取 API 密钥。如果遇到问题,您可以清除或重新输入另一个密钥。
- 精灵是否支持代理:请参阅此问题以启用本地代理:https://github.com/ai-genie/chatgpt-vscode/issues/7
- 在远程环境中的使用:请参阅有关远程/SSH 的问题: https: //github.com/ai-genie/chatgpt-vscode/issues/3
- 无法使用 GPT-4 模型:您需要 GPT-4 API 访问权限(与 ChatGPT Plus 订阅上的 GPT-4 不同)https://github.com/ai-genie/chatgpt-vscode/issues/6
- Azure OpenAI 服务:不支持的数据类型错误:这意味着你没有为你的 Azure OpenAI 服务选择正确的基础模型。确保选择用于创建 Azure OpenAI 服务部署的基本 GPT 模型
常见问题
- 由于不时的高流量,OpenAI 系统可能会在响应您的查询时遇到问题。
- 如果您收到
HTTP 429 Too Many Requests,则表示您发出的请求过多或您的帐户没有足够的信用额度。您的帐户也可能已过期。- 如果您看到
insufficient_quota错误,您可以运行以下 cURL 命令来检查您的帐户是否有足够的配额。(确保替换$OPENAI_API_KEY为您在此扩展程序中使用的密钥)
curl https://api.openai.com/v1/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "text-davinci-003", "prompt": "Can I make a request?\n\n", "temperature": 0.7, "max_tokens": 256, "top_p": 1, "frequency_penalty": 0, "presence_penalty": 0 }' - 如果您看到
- 如果出现
HTTP 404 Not Found错误,则表示您提供的参数之一未知(即genieai.openai.model)。model在您的设置中切换到默认值很可能会解决此问题。 - 如果出现
HTTP 400 Bad Request错误,则意味着您的对话长度超过了 GPT/Codex 模型可以处理的长度。或者您通过自定义设置提供了无效参数。 - 如果您的查询遇到持续性问题
- 尝试
Genie: Reset session清除您的会话/对话或Genie: Clear API Key清除您的 API 密钥并重新输入 - 作为最后的手段,请尝试重新启动您的 VS-Code 并重试登录。
- 尝试
- 如果您正在使用远程开发并且无法使用 ChatGPT
- 在
settings.json添加"remote.extensionKind": {"genieai.chatgpt-vscode": ["ui"]}
- 在
免责声明和学分
- 无法保证扩展将继续按原样工作而没有任何问题或副作用。请自行承担使用风险。
- 此扩展从不使用/存储您的个人身份信息。
- 如果您想帮助我们改进我们的功能,请在设置中启用遥测。默认情况下它是禁用的,但如果您启用它,它将开始收集元数据以改进其功能。不会收集任何个人身份信息。您可以通过设置全局“telemetry.telemetryLevel”或将“genieai.telemetry.disable”设置为 true(默认情况下禁用)来选择退出遥测。该扩展将尊重这两个设置,并且仅当两者都允许遥测时才会收集元数据。我们在这里使用 vscode 团队提供的官方遥测包来了解此扩展的使用模式,以更好地规划新功能发布。
- 对于您使用此扩展程序可能遇到的任何问题,我们不承担任何责任。您对 OpenAI 服务的使用受 OpenAI 的隐私政策和使用条款的约束。
- 💻 开放人工智能: https: //openai.com/
- 🧪 使用NodeJS OpenAI API 包装器
您的AI结对程序员在您的IDE中实时获取代码建议什么是GitHubCopilotGitHub[…]