VSCODE AI Assistant
一个支持AI对话和MCP(Model Context Protocol)接入的VSCode插件。
功能特性
- ✅ 支持多种AI模型配置(OpenAI API格式)
- ✅ 可配置API地址、密钥、模型名称等参数
- ✅ 🔧 高级配置支持:自定义HTTP请求头和请求体
- ✅ 🌐 广泛兼容:支持Claude、国内API等各类服务
- ✅ 🚀 流式响应:实时查看AI回复过程,类似ChatGPT体验
- ✅ 美观的对话界面,支持历史记录
- ✅ MCP服务器接入支持
- ✅ 实时查看MCP服务器状态和工具列表
- ✅ 快捷键支持(Ctrl+Alt+A)
安装
- 克隆此仓库到本地
- 在VSCode中打开项目
- 运行
npm install 安装依赖
- 运行
npm run build 编译TypeScript代码和vscode页面代码
- 按F5启动调试模式
配置
在VSCode设置中搜索 "AI Chat" 进行配置:
基本配置
aiChat.apiBaseUrl: AI模型API基础地址(默认: https://api.openai.com/v1)
aiChat.apiKey: API密钥(需要手动配置)
aiChat.modelName: 模型名称(默认: gpt-3.5-turbo)
aiChat.systemRole: AI助手角色设定(可选),会作为系统消息添加到对话开头,例如:你现在是一个开发专家
🔧 高级配置
aiChat.customHeaders: 自定义HTTP请求头(JSON格式),支持不同的认证方式
aiChat.customBodyFields: 自定义请求体字段(JSON格式),可添加模型特有参数
aiChat.overrideDefaultBody: 覆盖默认请求体,用于API格式完全不同的服务
💡 详细配置指南:
MCP配置
aiChat.mcpServers: MCP服务器配置列表(JSON数组格式),现在使用多行文本框输入。
示例配置(直接在设置界面中输入):
[
{
"name": "memory",
"type": "stdio",
"stdio": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
],
"env": {
"MEMORY_FILE_PATH": "${workspaceFolder}/memory.jsonl"
}
}
}
]
注意:
- 现在使用多行文本框输入,不需要外层的引号
- 每个服务器需要指定
type(stdio、sse 或 websocket)
- 对于 stdio 类型的服务器,使用
stdio 对象包含命令和参数
使用方法
打开AI对话
- 在左侧活动栏找到 AI对话助手 图标 💬 并点击
- 使用快捷键
Ctrl+Alt+A(Mac: Cmd+Alt+A)
- 或在命令面板中搜索 "打开AI对话"
侧边栏功能
- 对话区域:显示与AI助手的完整对话历史
- 输入框:在底部输入消息,按Enter发送
- 工具栏按钮:
- 配置:打开设置页面配置API参数
- 清空:清除所有对话历史记录
Agent模式和MCP管理
Agent模式:
- 在对话界面顶部找到"Agent模式"开关
- 开启后,AI可以使用文件操作等工具来读取和修改代码
- 开启Agent模式后,会显示可用的MCP服务器列表
MCP服务器管理:
- 手动连接模式:MCP服务器不会自动连接,避免启动延迟
- 按需连接:点击"连接全部"按钮连接所有服务器,或单独点击每个服务器的"连接"按钮
- 实时状态:显示服务器的连接状态(已连接/未连接)
- 灵活选择:只有连接成功的服务器才能被选择使用
- 动态工具集成:AI会自动发现已连接MCP服务器的所有工具
- 智能工具命名:MCP工具会以
服务器名_工具名的格式提供给AI
- 状态反馈:连接操作会有实时状态提示
其他MCP命令:
- 列出MCP服务器:在命令面板中搜索 "列出MCP服务器"
- 重连MCP服务器:在命令面板中搜索 "重连MCP服务器"
- 查看MCP输出:在命令面板中搜索 "显示MCP输出"
其他功能
- 配置设置:在命令面板中搜索 "配置AI设置"
- 清空历史:在命令面板中搜索 "清空对话历史"
角色配置
在 VSCode 设置中配置 aiChat.systemRole 来设定 AI 助手的角色:
- 开发专家:提供专业的编程建议和代码分析
- 产品经理:从产品角度提供需求分析建议
- 数据分析师:进行数据解读和洞察分析
- 教师:用简单易懂的方式解释概念
- 创意写作助手:提供创意和写作建议
设置后,AI助手会以指定角色的身份回应所有对话。
开发
项目结构
src/
├── extension.ts # 插件入口
├── aiService.ts # AI服务类
├── aiChatProvider.ts # 聊天界面Provider
└── mcpManager.ts # MCP管理器
编译和调试
npm run compile: 编译TypeScript
npm run watch: 监听文件变化并自动编译
- 按F5启动VSCode调试实例
注意事项
- 确保已正确配置API密钥
- MCP服务器需要按规范实现,否则可能连接失败
- 首次使用MCP功能时,建议查看输出面板了解连接状态
- 对话历史会保存在VSCode的全局状态中
依赖
@modelcontextprotocol/sdk: MCP SDK
vscode: VSCode扩展API
许可证
MIT License
| |