Nano Bots:人工智能驱动的机器人,可以作为单个文件轻松共享,旨在支持多个提供商,例如 Cohere Command、Google Gemini、Maritaca AI MariTalk、Mistral AI、Ollama、OpenAI ChatGPT 等,并支持调用工具(函数)。
通过将人工智能的力量引入您的代码编辑器来提高您的工作效率和工作流程!
您可以通过此链接或在编辑器中搜索直接从 Visual Studio Code Marketplace 安装 Nano Bot。
或者,您可以选择手动安装:
.vsix
文件。.vsix
文件。完成后,扩展将成功安装并可在 VS Code 中使用。
默认情况下,可以访问公共 Nano Bots API。但是,它仅提供默认卡盒,有时可能会由于速率限制而速度缓慢或不可用。当世界各地的许多用户同时大量使用 API 时,这种情况很常见。
为了获得最佳性能以及开发和个性化您自己的 Cartridge 的机会,建议您使用自己的提供商凭据在本地运行 API 实例。与公共 API 提供的方便但有限的体验相比,这种方法将提供卓越的定制体验。
要将您的扩展连接到您自己的本地 Nano Bots API,请使用 nano-bots-api 启动本地实例。请注意,本地 API 仍然依赖于外部提供商,外部提供商有自己的安全和隐私政策。但是,如果您选择将 Ollama 与开源模型一起使用,则可以确保所有内容都保留在本地并保持完全私有。
一旦您有权访问 Nano Bots API,您可以导航至“文件”->“首选项”->“设置”。然后,搜索Nano Bots
并配置以下设置:
NANO_BOTS_API_ADDRESS
: http://localhost:3048
NANO_BOTS_STREAM
: true
NANO_BOTS_END_USER
: anonymous
( your-name
) 安装后,您将在命令托盘中看到以下命令:
提示命令的工作方式与传统聊天类似,允许您提出问题并从 Nano Bot 接收答案。
例子:
Prompt: write a hello world in Ruby
Nano Bot: puts "Hello, world!"
“应用”命令适用于文本选择。您选择一段文本并要求 Nano Bot 执行操作。
例子:
Selected Text: How are you doing?
Prompt: translate to french
Nano Bot: Comment allez-vous ?
“评估”命令会将您当前选择的文本发送到 Nano Bot,无需任何其他说明。
例子:
Selected Text: Hi!
Nano Bot: Hello! How can I assist you today?
要中断流响应或停止等待完整响应,可以使用命令选项板中的“停止”命令。如果您意识到机器人的答案不是您对请求的期望,这会很有用。
执行前面提到的任何命令时,都会出现提示,要求您选择墨盒。默认的 Cartridge 是标准的聊天交互。但是,您可以创建自己的墨盒,该墨盒将自动出现在命令选项板中。
有关卡盒的更多详细信息,请参阅 Nano Bots 规范。你可以在这里找到它。
您可以探索 Nano Bots Marketplace,发现可以为您提供帮助的新墨盒。
您可以通过使用名称default.yml
创建自己的盒来覆盖默认盒:
---
meta :
symbol : ?
name : Default
author : Your Name
version : 1.0.0
license : CC0-1.0
description : A helpful assistant.
provider :
id : openai
credentials :
address : ENV/OPENAI_API_ADDRESS
access-token : ENV/OPENAI_API_KEY
settings :
user : ENV/NANO_BOTS_END_USER
model : gpt-3.5-turbo
要添加您自己的快捷方式,请导航至“文件”>“首选项”>“键盘快捷方式”。没有默认的快捷方式,但为了您的方便,我们建议使用以下快捷方式:
[
{
"key" : " ctrl+b ctrl+p " ,
"command" : " nano-bots.prompt " ,
"args" : {
"state" : " - " ,
"mode" : " add "
}
},
{
"key" : " ctrl+b ctrl+l " ,
"command" : " nano-bots.apply " ,
"args" : {
"state" : " - " ,
"mode" : " replace " ,
"prefix" : " " ,
"format" : " [prompt]: [input] "
}
},
{
"key" : " ctrl+b ctrl+b " ,
"command" : " nano-bots.evaluate " ,
"args" : {
"state" : " - " ,
"mode" : " replace "
}
},
{
"key" : " ctrl+b ctrl+k " ,
"command" : " nano-bots.stop "
}
]
action
关键字指的是可用的命令。
mode
是指选择文本时如何传递答案。 add
会将答案添加到所选文本后,而replace
会将其替换为答案。
定义add
时,您可能还需要添加prefix
:
{
"key" : " ctrl+b ctrl+l " ,
"command" : " nano-bots.apply " ,
"args" : {
"state" : " - " , "mode" : " add " , "prefix" : " n " ,
"format" : " [prompt]: [input] " }
},
使用apply
命令时,可以通过包含format
关键字来自定义提示:
Selected Text: How are you doing?
Prompt: translate to french
{
"format" : " [prompt]: [input] "
}
会产生提示:
translate to french: How are you doing?
如果您希望在使用这些命令时跳过选择墨盒的提示,则可以预先定义所需的墨盒:
{
"key" : " ctrl+b ctrl+b " ,
"command" : " nano-bots.evaluate " ,
"args" : { "state" : " - " , "mode" : " replace " , "cartridge" : " - " }
}
-
代表默认墨盒。您可以将其替换为系统中任何其他可用的墨盒。
如果您想定义一个不需要任何用户输入或考虑的简单命令,您可以使用以下命令来完成此操作:
{
"key" : " ctrl+b ctrl+p " ,
"command" : " nano-bots.prompt " ,
"args" : { "state" : " - " , "mode" : " add " , "cartridge" : " - " , "input" : " Hello! " }
}
如果您希望定义适用于当前选择的命令而不需要任何其他输入,您可以使用:
{
"key" : " ctrl+b ctrl+b " ,
"command" : " nano-bots.evaluate " ,
"args" : { "state" : " - " , "mode" : " replace " , "cartridge" : " - " }
}
{
"key" : " ctrl+b ctrl+l " ,
"command" : " nano-bots.apply " ,
"args" : {
"state" : " - " ,
"mode" : " replace " ,
"cartridge" : " - " ,
"input" : " translate to en-us "
}
}
默认情况下,与 Nano Bot 的所有交互都是无状态的。但是,如果您希望保留交互历史记录,可以使用状态键:
{
"key" : " ctrl+b ctrl+p " ,
"command" : " nano-bots.prompt " ,
"args" : {
"state" : " 0470dfa445f1f11b5eb9b3089c5943c8 " ,
"mode" : " add "
}
}
每个盒式磁带将保持其自己的隔离状态。有关状态管理的更多信息,请参阅规范。
使用以下命令克隆存储库:
git clone https://github.com/icebaker/vscode-nano-bots.git
导航到vscode-nano-bots
文件夹并使用命令vscode .
。按 F5 启动扩展。
有关扩展开发的更多信息,请参阅您的第一个扩展页面。
npm run format
npm run lint
npm run test
vsce package