Muicc AI Assistant

🤖 AI 驱动的智能编程助手,提供代码审查、智能补全、Bug 修复等功能,支持自然语言对话交互
✨ 特性
🎯 核心功能
- 🔍 智能代码审查 - 自动检测代码质量问题、潜在 Bug 和性能瓶颈
- 📖 AI 代码解释 - 用简体中文清晰解释复杂代码逻辑
- 🐛 Bug 自动修复 - 智能定位错误并提供修复方案
- ✨ 代码生成 - 根据需求自动生成高质量代码
- 💬 智能注释 - 为代码添加规范的中文文档注释
- 🔮 AI 代码补全 - 在设置面板一键开关,输入时由 AI 实时补全(默认关闭以节省 token,补全项带
🔮 Muicc AI 来源标记)
💬 AI 对话界面
- 自然语言交互 - 像与真人程序员对话一样交流
- 上下文感知 - 自动理解当前代码环境和选中内容
- 流式输出 - 实时显示 AI 思考过程,无需等待
- Markdown 渲染 - 完美支持代码高亮、表格、列表等格式
- 会话状态管理 - 防止输入冲突,智能锁定机制
📄 文档处理
- 智能 PDF 提取 - 文字型 PDF 优先提取文本内容
- 扫描 PDF OCR - 扫描型 PDF 自动转为图片进行 OCR 识别
- 图片文字识别 - 识别图片中的中英文文字
- 离线支持 - 语言包首次下载后离线可用
🛠️ 开发体验
- 文档上传 - 支持拖拽或粘贴上传 PDF、图片等文件
- 截图粘贴 - 直接粘贴截图,自动识别文字
- 命令面板支持 - 通过
Ctrl+Shift+P 快速访问所有功能
- 右键菜单集成 - 选中代码即可快速调用 AI 功能
- OpenAI 兼容 API - 支持所有符合 OpenAI 格式的 API 提供商
- 多语言支持 - TypeScript、JavaScript、Python、Java、C++、Go、Rust 等
- 智能终端集成 - AI 可以执行终端命令,自动处理交互式命令(如
python3、node 等)
- 命令执行策略 - 智能识别命令类型,避免交互式命令卡死,提升执行稳定性
- 💰 Token 精打细算 - 对话历史超 48K 自动裁剪(已从 90K 优化下调)、工具结果首尾摘要、终端噪声过滤、补全防抖,多管齐下降低 API 费用
📸 功能演示
AI 聊天界面
侧边栏聊天窗口,支持 Markdown 渲染和流式输出
代码审查
智能分析代码质量,提供详细的改进建议
Bug 修复
自动检测并修复代码中的错误
代码生成
根据自然语言描述生成完整代码
Markdown 渲染效果
完美支持表格、列表、代码块等 Markdown 格式
📦 安装
方法1:从市场安装(推荐)
- 打开 VSCode
- 按
Ctrl+Shift+X 打开扩展面板
- 搜索 "Muicc AI Assistant"
- 点击安装
方法2:手动安装
# 下载 .vsix 文件后
code --install-extension muicc-ai-assistant-1.2.6.vsix
⚙️ 配置
基本配置
在 VSCode 设置中(Ctrl+,)添加以下配置:
{
"muicc.apiKey": "your-api-key-here",
"muicc.apiUrl": "https://api.openai.com/v1",
"muicc.model": "gpt-4",
"muicc.maxTokens": 16000
}
支持的 AI 提供商
本插件支持所有 OpenAI API 兼容的服务商,包括:
| 提供商 |
API URL |
推荐模型 |
说明 |
| OpenAI |
https://api.openai.com/v1 |
gpt-4, gpt-3.5-turbo |
官方服务,最稳定 |
| Azure OpenAI |
https://your-resource.openai.azure.com/openai/deployments/your-deployment |
gpt-4, gpt-35-turbo |
企业级部署 |
| DeepSeek |
https://api.deepseek.com/v1 |
deepseek-chat |
国产大模型,性价比高 |
| 智谱 GLM |
https://open.bigmodel.cn/api/paas/v4 |
glm-4, glm-3-turbo |
清华智谱出品 |
| Moonshot |
https://api.moonshot.cn/v1 |
moonshot-v1 |
月之暗面出品 |
| 阿里云百炼 |
https://dashscope.aliyuncs.com/compatible-mode/v1 |
qwen-plus, qwen-turbo |
阿里通义千问 |
| 其他兼容服务 |
任意 OpenAI 格式 API |
- |
只要接口兼容即可使用 |
💡 提示:只要 API 端点支持 OpenAI 的 /chat/completions 接口格式,都可以使用本插件。国内很多厂商都提供兼容接口,无需翻墙即可使用。
高级配置
{
// 启用 AI 代码补全(默认 false,可在设置面板开关)
"muicc.enableCompletion": true,
// 指定启用补全的语言(VSCode 语言 ID,留空数组则关闭补全)
"muicc.completionLanguages": ["java", "c", "cpp", "csharp", "python", "go", "rust", "ruby", "php"],
// 最大响应 token 数(推荐:16000 用于工具调用,8000 用于简单对话)
"muicc.maxTokens": 16000
}
AI 代码补全
- 开启方式:在侧边栏聊天窗口点击右上角 ⚙️ 打开设置面板,在 "AI 代码补全" 分组下勾选「启用 AI 代码补全」即可(无需重载窗口,保存后立即生效);也可直接在 VSCode 设置(
Ctrl+,)中搜索 muicc.enableCompletion。
- 支持的语言:在扩展设置
muicc.completionLanguages 中配置(默认含 java, c, cpp, csharp, python, go, rust, ruby, php),不在聊天设置面板里设置。
- 来源标记:由本插件提供的补全项会带有
🔮 Muicc AI · 前缀,悬浮详情中也会注明「由 Muicc AI Assistant 提供」,方便与其他插件(如 Copilot)或 VSCode 内置补全区分。
- 省 token 机制:每次补全都会向 AI 服务发起一次完整 API 调用,因此默认关闭。启用后已做 400ms 防抖处理,仅在停止输入后触发;同时要求当前行前缀至少 3 个有效字符才会请求,避免无意义消耗。
- 与其他补全插件共存:如同时启用多个 AI 补全插件,可能出现候选项重叠。可在
muicc.completionLanguages 中限定本插件只作用于特定语言,或关闭 muicc.enableCompletion 仅保留聊天/审查功能。
获取 API Key
OpenAI(官方)
- 访问 platform.openai.com
- 注册账号并登录
- 进入 API Keys 页面
- 创建新的 API Key
- 复制并保存到安全位置
配置示例:
{
"muicc.apiKey": "sk-xxxxxxxxxxxxxxxxxxxxxxxx",
"muicc.apiUrl": "https://api.openai.com/v1",
"muicc.model": "gpt-4"
}
DeepSeek(推荐国内用户)
- 访问 platform.deepseek.com
- 注册并实名认证
- 在控制台创建 API Key
- 充值获得额度(新用户有免费额度)
配置示例:
{
"muicc.apiKey": "sk-xxxxxxxxxxxxxxxxxxxxxxxx",
"muicc.apiUrl": "https://api.deepseek.com/v1",
"muicc.model": "deepseek-chat"
}
智谱 GLM
- 访问 open.bigmodel.cn
- 注册并实名认证
- 创建 API Key
- 领取免费额度
配置示例:
{
"muicc.apiKey": "xxxxxxxxxxxxxxxxxxxxxxxx",
"muicc.apiUrl": "https://open.bigmodel.cn/api/paas/v4",
"muicc.model": "glm-4"
}
Moonshot(月之暗面)
- 访问 platform.moonshot.cn
- 注册并获取 API Key
- 新用户有免费试用额度
配置示例:
{
"muicc.apiKey": "sk-xxxxxxxxxxxxxxxxxxxxxxxx",
"muicc.apiUrl": "https://api.moonshot.cn/v1",
"muicc.model": "moonshot-v1-8k"
}
阿里云百炼(通义千问)
- 访问 dashscope.console.aliyun.com
- 使用阿里云账号登录
- 创建 API Key
- 开通 DashScope 服务
配置示例:
{
"muicc.apiKey": "sk-xxxxxxxxxxxxxxxxxxxxxxxx",
"muicc.apiUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"muicc.model": "qwen-plus"
}
Azure OpenAI(企业用户)
- 在 Azure Portal 创建资源
- 部署模型(如 gpt-4, gpt-35-turbo)
- 获取 Endpoint 和 API Key
- 注意:Azure 的 URL 格式特殊
配置示例:
{
"muicc.apiKey": "xxxxxxxxxxxxxxxxxxxxxxxx",
"muicc.apiUrl": "https://your-resource.openai.azure.com/openai/deployments/your-deployment",
"muicc.model": "gpt-4"
}
⚠️ 重要提示:
- 请妥善保管 API Key,不要提交到代码仓库
- 建议使用环境变量或密钥管理器存储
- 定期检查用量,避免超额消费
- 国内用户推荐使用 DeepSeek、智谱 GLM 等国产服务,无需翻墙且性价比高
🚀 使用指南
方法1:侧边栏聊天
- 点击活动栏的 Muicc 图标(紫色 M 字母)
- 在聊天窗口输入问题或需求
- 等待 AI 回复(支持流式输出)
示例对话:
用户: 帮我解释一下这段代码的作用
AI: [分析代码并给出详细解释]
用户: 如何优化这个函数的性能?
AI: [提供优化建议和示例代码]
方法2:右键菜单
- 在编辑器中选中代码或右键点击
- 选择 "Muicc AI Assistant" 子菜单
- 选择具体功能:
- 🔍 Review Code - 代码审查
- 📖 Explain Code - 解释代码
- 🐛 Fix Bugs - 修复 Bug
- ✨ Generate Code - 生成代码
- 💬 Generate Comments - 生成注释
方法3:命令面板
- 按
Ctrl+Shift+P (Windows/Linux) 或 Cmd+Shift+P (Mac)
- 输入 "Muicc:"
- 选择相应命令
快捷操作
- 清空聊天:
Ctrl+L (Windows/Linux) 或 Cmd+L (Mac)
- 停止生成: 点击状态栏的 ⏹ 停止按钮
- 发送消息: 在输入框按
Enter
开启 AI 代码补全
本插件提供「输入时由 AI 实时补全」的能力,默认关闭(因为每次补全都会向 AI 服务发起一次完整 API 调用,会消耗 token)。开启方式:
- 打开侧边栏 Muicc 聊天窗口
- 点击右上角 ⚙️ 打开设置面板
- 在 「AI 代码补全」 分组下,勾选「启用 AI 代码补全」
- 点击保存 —— 开关立即生效,无需重载窗口
开启后,在 muicc.completionLanguages 指定的语言文件中输入代码,停止输入约 0.4 秒即会弹出补全建议:
- 补全项带有
🔮 Muicc AI · 前缀,悬浮详情注明「由 Muicc AI Assistant 提供」,便于与 Copilot 等其它插件区分
- 已做 400ms 防抖,仅在停止输入后请求;且要求当前行前缀至少 3 个有效字符才触发,避免无意义消耗
💡 不想用面板?也可直接在 VSCode 设置(Ctrl+,)中搜索 muicc.enableCompletion 开关;支持的语言在 muicc.completionLanguages 中配置(默认含 java/c/cpp/csharp/python/go/rust/ruby/php)。
💰 Token 消耗优化
本插件在多处做了 token 控制,避免无谓消耗、降低 API 费用:
- 对话历史自动裁剪:当对话历史估算超过约 48K tokens 时,自动从最早消息开始裁剪(
truncateByTokens),始终保留最新会话;更早的上下文会改用 AI 摘要压缩,控制单轮上下文体量。(阈值已从原 90K 下调到 48K,让摘要更早介入,避免工具结果被反复重发)
- 工具结果摘要:命令/工具返回的超长输出,只保留首尾片段(中间省略),避免把大文件全文直接丢给模型烧 token。
- 终端输出过滤:自动过滤 ANSI 转义序列、控制字符等噪声,只把干净文本交给 AI。
- AI 代码补全防抖:补全功能默认关闭;开启后做 400ms 防抖且仅在停止输入、当前行前缀 ≥3 字符时才请求,避免每个按键都发起一次完整调用。
用户可控项:
| 配置 |
说明 |
建议 |
muicc.maxTokens |
单次响应最大 token 数 |
工具调用 16000;简单对话 8000;复杂操作 32000+(范围 1000–128000) |
muicc.enableCompletion |
是否开启实时补全 |
不需要时关闭以省 token |
muicc.completionLanguages |
限定补全作用语言 |
只给需要的语言,减少触发次数 |
💡 控制成本的最有效手段:按需关闭 AI 补全、用 maxTokens 限制单次体量、避免把超大文件全文发给审查/解释功能。
❓ 常见问题
Q1: 如何获取 API Key?
A: 本插件支持所有 OpenAI API 兼容的服务商,推荐使用:
国内用户(无需翻墙):
国际用户:
详细配置方法请查看上方的"获取 API Key"章节。
Q2: 支持哪些编程语言?
A: 理论上支持所有主流编程语言,包括但不限于:
- 前端: TypeScript, JavaScript, HTML, CSS
- 后端: Python, Java, C#, Go, Rust, Ruby, PHP
- 系统: C, C++
- 数据: SQL, R, Julia
- 其他: Swift, Kotlin, Dart 等
AI 会根据文件扩展名和语法自动识别语言。
Q3: 会上传我的代码吗?数据安全吗?
A:
- ✅ 仅在主动触发时发送: 只有当你点击"审查代码"、"解释代码"等功能时,相关代码片段才会被发送到配置的 AI API
- ✅ 可控制范围: 你可以选择只发送选中的代码,而非整个文件
- ✅ 使用你自己的 API Key: 数据直接发送到你的 AI 提供商,不经过第三方服务器
- ⚠️ 注意: 避免发送敏感信息(密码、密钥、个人隐私数据)
建议在处理敏感项目时使用本地部署的 AI 模型。
Q4: 与其他 AI 插件(如 GitHub Copilot)冲突吗?
A:
- 聊天功能: 不会冲突,可以同时使用
- 代码补全: 可能冲突(候选项会同时出现)。如果同时启用多个 AI 补全插件,建议:
- 在设置中禁用
muicc.enableCompletion
- 或在
muicc.completionLanguages 中指定特定语言(如只给 java、cpp)
如何区分补全来自哪个插件?
- 本插件提供的补全项带有
🔮 Muicc AI · 前缀,悬浮详情底部注明「由 Muicc AI Assistant 提供」。
- 亦可在 VSCode 输出面板开启
Developer: Set Log Level → 查看补全提供器参与情况,确认 muicc-ai-assistant 是否参与。
- 想做对照测试时,关闭
muicc.enableCompletion 后 Reload Window,消失的那一类补全即来自本插件。
推荐组合:
- Muicc AI Assistant(聊天 + 代码审查 + 可选 AI 补全)+ GitHub Copilot(代码补全)
Q5: AI 生成的代码可以直接使用吗?
A:
- ✅ 可以作为参考: AI 生成的代码通常质量较高,但需要人工审查
- ⚠️ 必须测试: 运行前务必进行充分测试
- ⚠️ 注意边界情况: AI 可能未考虑所有边缘情况
- ✅ 学习价值: 即使不完全可用,也能提供很好的思路
最佳实践:
- 理解 AI 生成的代码逻辑
- 根据项目规范调整
- 编写单元测试验证
- 进行代码审查
Q6: 为什么有时候 AI 响应很慢?
A: 可能的原因:
- 网络延迟: 检查网络连接是否稳定
- API 限流: 免费账户可能有速率限制
- 请求过长: 减少发送的代码量或简化问题
- 模型负载: 高峰期响应可能变慢
优化建议:
- 使用更快的模型(如 gpt-3.5-turbo)
- 精简发送的代码上下文
- 明确具体的问题描述
Q7: 如何反馈问题或建议?
A:
- 📧 邮件联系: qaymuic@muicc.com
- ⭐ 点赞支持: 在市场给个好评吧!
Q8: 插件是免费的吗?
A:
- ✅ 插件本身免费: MIT 开源许可证
- ⚠️ AI API 费用: 使用 OpenAI、Claude 等服务需要付费
- 💰 成本控制: 你可以设置
maxTokens 限制每次消耗的 token 数(推荐 16000 用于工具调用)
省钱技巧:
- 使用 gpt-3.5-turbo 代替 gpt-4(便宜 10-20 倍)
- 精简发送的代码上下文
- 合并相关问题,减少请求次数
- 根据使用场景调整
maxTokens:简单对话用 8000,工具调用用 16000,复杂操作用 32000+
🤝 贡献
欢迎提交 Issue 和 Pull Request!
开发环境搭建
# 克隆仓库
git clone https://gitee.com/muicc/muicc-ai-assistant.git
cd muicc-ai-assistant
# 安装依赖
npm install
# 编译
npm run compile
# 打包
npx vsce package
# 在 VSCode 中调试
# 按 F5 启动调试模式
贡献流程
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature)
- 提交更改 (
git commit -m 'Add some AmazingFeature')
- 推送到分支 (
git push origin feature/AmazingFeature)
- 开启 Pull Request
代码规范
- 使用 TypeScript 编写代码
- 遵循 ESLint 规则
- 添加必要的注释
- 保持代码简洁清晰
📝 更新日志
v1.2.8 (2026-09-06)
✨ 核心新增:设置面板「AI 代码补全」开关
- 在侧边栏聊天窗口的设置面板(⚙️)新增「AI 代码补全」分组,用户可直接勾选「启用 AI 代码补全」并保存,立即生效,无需重载窗口
- 开关位于 API 配置之后,采用行内布局(标签与复选框同一行),并修复了 checkbox 被拉伸为满宽块状导致的布局错位
- 补全语言列表不在界面设置,沿用扩展设置
muicc.completionLanguages 默认值
✨ 新增功能
- 补全项来源标识 - 本插件提供的补全项增加
🔮 Muicc AI · 前缀,悬浮详情注明「由 Muicc AI Assistant 提供」,便于与其他补全插件区分
🔧 技术优化
- 动态注册补全提供器 - 监听
muicc.enableCompletion / muicc.completionLanguages 配置变化,运行时自动启停补全,无需重载窗口
📖 文档更新
- 在使用指南中新增「开启 AI 代码补全」独立章节,补充来源标记、省 token 机制与多插件共存说明
- 新增「💰 Token 消耗优化」章节,系统总结对话历史裁剪、工具结果摘要、终端过滤、补全防抖等省 token 机制与用户可控配置项
v1.2.7 (2026-07-21)
✨ 新增功能
终端输出过滤 - 自动过滤 ANSI 转义序列和控制字符,提升 AI 处理质量
- 过滤 OSC、CSI、APC 等终端控制序列
- 清理退格符、制表符等控制字符
- 确保提交给 AI 的文本干净无干扰
对话 Token 管理 - 智能管理对话历史,超过 48K tokens(阈值已从 90K 下调)自动裁剪并改用 AI 摘要,控制单轮上下文体量
- 自动检测对话历史 token 数量
- 超过限制时智能裁剪,优先保留最新消息
- 保证 tool_calls 和 tool 消息的完整性
消息长度控制 - 单消息超过 20000 字符时自动截断
- 保留前后各 8000 字符
- 明确提示省略的字符数量
- 格式:
(前8000字符)\n\n--这里省略xxx字符--\n\n(后8000字符)
🔧 技术优化
🐛 问题修复
- 修复终端输出中的 ANSI 转义序列干扰 AI 理解的问题
- 修复超长对话导致 API 调用失败的问题
- 修复工具调用消息不完整导致的错误
v1.2.6 (2026-07-17)
✨ 新增功能
- 优化 maxTokens 配置 - 调整最大令牌数设置,提升工具调用体验
- 默认值从 2000/8000 调整为 16000(推荐用于工具调用)
- 最大值从 8000 调整为 128000(支持复杂操作)
- 最小值调整为 1000(确保基本工具调用功能)
- 新增推荐值:4000, 8000, 16000, 32000, 64000, 128000
🔧 技术优化
- 前端校验优化 - 更新设置界面的输入范围和默认值
- 后端校验增强 - 添加智能校验逻辑,自动修正超出范围的值
- 用户体验改进 - 提供推荐值建议,引导用户选择最佳配置
- 配置一致性 - 确保 package.json、后端 TypeScript 和前端 JavaScript 配置完全统一
📖 文档更新
- 更新配置说明,反映新的 maxTokens 取值范围和推荐值
- 优化错误提示信息,提供更准确的问题诊断和建议
v1.2.5 (2026-07-17)
🐛 问题修复
v1.2.4 (2026-07-17)
🐛 问题修复
- 修复交互式命令卡死问题 - 解决
python3、node 等交互式命令在终端中运行卡死的问题
- 优化命令执行策略 - 智能检测交互式命令(如
python3<<EOF、cd && python3 等),自动使用正确的执行策略
- 改进复合命令处理 - 支持检测复合命令中的交互式部分,避免误判和死等待
🔧 技术优化
- 新增
isInteractiveCommand 方法,准确识别交互式命令
- 优化
SmartCommandExecutor 执行逻辑,提升终端集成稳定性
- 完善 heredoc 语法检测,支持
<<EOF 等多种格式
v1.2.3 (2026-07-10)
🐛 问题修复
v1.2.0 (2026-07-05)
✨ 新增功能
- 智能 PDF 文本提取 - 文字型 PDF 优先提取文本,扫描型 PDF 自动切换 OCR
- 命令面板 OCR - 通过
Ctrl+Shift+P 快速识别 PDF 和图片中的文字
- 文档上传 - 支持拖拽上传 PDF、图片等文件,自动提取内容
- 图片文字识别 - 支持识别图片中的中英文文字
- 截图粘贴 - 直接粘贴截图,自动识别文字
- 离线缓存 - OCR 语言包首次下载后离线可用
🐛 问题修复
- 修复命令面板 PDF OCR 逻辑错误(应先提取文本再 OCR)
- 修复 tesseract.js WebAssembly 加载问题
- 修复图片 OCR 在聊天界面超时问题
- 修复切换窗口后思考消息丢失问题
- 修复工具调用期间输入框状态不正确问题
🔧 技术优化
- tesseract.js 改为外部依赖,避免打包破坏 WebAssembly
- 优化构建配置,减小打包体积
- 清理调试日志,提升运行时性能
v1.1.0 (2026-06-28)
✨ 新增功能
- 图片上传功能(拖拽上传和粘贴截图)
- 终端集成和智能命令执行器
- 自动执行 OCR 识别图片文字
🐛 问题修复
v1.0.0 (2026-06-20)
✨ 新增功能
- AI 驱动的聊天界面,支持自然语言对话
- 智能代码审查,检测质量问题和潜在 Bug
- AI 代码解释,用简体中文清晰说明代码逻辑
- Bug 自动修复,提供修复方案和示例代码
- 代码生成功能,根据需求自动生成代码
- 智能注释生成,添加规范的中文文档注释
- Markdown 渲染支持,完美显示代码块、表格、列表
- 右键菜单集成,快速访问常用功能
- 可配置的 AI 模型,支持多种提供商
🐛 问题修复
- 优化列表项间距,提升阅读体验
- 实现表格解析,支持 Markdown 表格渲染
- 修复侧边栏图标显示问题
- 优化会话状态管理,防止输入框卡死
🎨 界面优化
- 紫色主题设计,符合品牌调性
- 状态栏动态显示,实时反馈生成状态
- 卡片式消息布局,清晰的视觉层次
- 流式输出动画,提升交互体验
📄 许可证
MIT License - 详见 LICENSE 文件
🙏 致谢
感谢以下开源项目和工具:
感谢所有贡献者和用户的支持!❤️
Made with ❤️ by Muicc Team