基于大模型的 VS Code 智能代码助手插件,支持自定义 API、多种内置工具与工作区自定义 Skill,带侧边栏聊天界面。
- 多服务 / 多模型:支持配置多个 API 服务(OpenAI、Deepseek、通义、Kimi 等 OpenAI 兼容接口),侧边栏内切换服务与模型
- 流式响应:实时流式输出 AI 回复,支持思考过程、工具调用过程展示
- 工具调用:内置文件读写、编辑、终端命令、搜索、网页抓取、网络搜索、任务列表等工具,由模型按需调用
- 多模态输入:支持上传图片、视频(可多选),拖拽到输入区即可添加
- 历史会话:对话默认保存在本地,可恢复上次会话;支持历史列表、切换会话、删除会话
- 导出对话:将当前会话导出为纯文本 / Markdown 文件
- 自定义 Skill:在工作区
.assistant/skills下放置技能(SKILL.md+scripts/),可被模型作为工具调用;输入/可唤起技能菜单 - 侧边栏界面:聊天、模型选择、附件、历史、导出、设置均集中在侧边栏
| 工具 | 描述 |
|---|---|
| Read | 读取文件内容 |
| Write | 写入文件内容 |
| Edit | 编辑文件(字符串替换) |
| MultiEdit | 批量编辑文件 |
| Bash | 执行终端命令 |
| Glob | 按模式匹配文件 |
| Grep | 搜索文件内容 |
| WebFetch | 获取网页内容 |
| WebSearch | 网络搜索 |
| Task | 创建子任务 |
| TodoWrite | 管理任务列表 |
工作区 .assistant/skills 下配置的 Skill 会作为额外工具注册给模型使用。
- 克隆仓库并安装依赖:
npm install
- 构建:
npm run build
- 在 VS Code 中按 F5 启动扩展开发主机,即可调试。
npm install -g @vscode/vsce
vsce package在 VS Code 中通过「从 VSIX 安装」安装生成的 .vsix 文件。
- 打开侧边栏「智能助手」视图,点击右上角 设置 图标,或使用命令 Code Assistant: 打开设置。
- 在设置面板中:
- 添加 API 服务:填写服务名称、API 基础地址、API Key、模型列表(可多选/自定义)。
- 选择当前服务与模型:在侧边栏顶部下拉框中选择本次对话使用的服务与模型。
- 生成参数(可选):如最大 token、temperature 等,按需填写。
配置保存在 VS Code 的全局存储中,无需在 settings.json 里手写(也支持从旧版 codeAssistant.* 配置迁移)。
- 点击左侧活动栏的「智能代码助手」图标,打开侧边栏。
- 在顶部选择 API 服务 和 模型(若未配置,先点设置完成配置)。
- 在输入框中输入问题或指令;可上传图片/视频(点击 📎 或拖拽到输入区),支持多选。
- 按 Enter 发送(输入法下避免误触可配合 Shift+Enter 换行)。
- 查看流式回复;若模型调用工具,会展示执行过程与结果。
- 历史:点击「历史」查看/切换/删除过往会话;导出:点击「导出」将当前对话导出为文件;新对话:点击「+ 新对话」清空当前会话并开始新对话。
- 输入
/可打开技能菜单,选择后会在输入中插入对应技能名,便于模型优先使用该技能。 - 自定义 Skill 放在工作区
.assistant/skills下,每个技能一个目录,内含SKILL.md(含 name、description 等)和scripts/(如.py/.sh/.js脚本)。插件会加载并把这些技能作为工具暴露给模型。
你: 帮我列出当前目录下所有 TypeScript 文件
助手: [调用 Glob 工具] 找到以下文件:
- src/extension.ts
- src/llm/client.ts
...
| 命令 | 说明 |
|---|---|
| Code Assistant: 新建对话 | 清空当前对话并开始新会话 |
| Code Assistant: 清除历史 | 清除当前会话并清空历史列表 |
| Code Assistant: 打开设置 | 打开 API/模型配置面板 |
| Code Assistant: 刷新配置 | 重新从配置加载并刷新侧边栏(如修改设置后) |
code-plugin/
├── src/
│ ├── extension.ts # 插件入口与命令注册
│ ├── sidebar/
│ │ ├── SidebarProvider.ts # 侧边栏 Webview 与会话逻辑
│ │ └── webviewContent.ts # 聊天 UI 与前端逻辑
│ ├── settings/
│ │ └── SettingsPanel.ts # 设置面板(API/模型配置)
│ ├── llm/ # LLM 客户端与类型
│ ├── tools/ # 内置工具与 Skill 加载
│ │ ├── skillLoader.ts # 从 .assistant/skills 加载技能
│ │ └── skill.ts # Skill 工具执行
│ └── config/ # 配置与存储
├── package.json
├── esbuild.config.js
└── tsconfig.json
npm run build # 构建
npm run watch # 监听模式构建
npm run lint # 代码检查- 请妥善保管 API 密钥;配置保存在本地,不会上传。
- 工具(如 Bash)会在本机实际执行,请谨慎授权与使用。
- 使用编辑/写文件类工具前,建议对重要文件做备份。
MIT