QodeAssist:为msys2 ucrt64 Qt Creator 注入 AI 灵魂的开源插件
QodeAssist:为 Qt Creator 注入 AI 灵魂的开源插件
从源码编译到实际使用,一份写给 Qt/C++ 开发者的完整指南
目录
文章目录
1. 项目简介
QodeAssist 是一个为 Qt Creator 打造的开源 AI 编程助手插件,由开发者 Petr Mironychev(GitHub: Palm1r)创建并维护,采用 GPL v3 许可证。项目的核心理念是将大语言模型(LLM)的能力深度集成到 Qt Creator IDE 中,为 C++ 和 QML 开发者提供智能代码补全、多面板聊天、内联快速重构以及项目感知的工具调用等能力。
- 项目地址:https://github.com/Palm1r/QodeAssist
- 许可证:GPL v3
- 最新版本:0.9.14(截至 2026 年 5 月)
- Discord 社区:https://discord.gg/BGMkUsXUgf
与 Qt 官方推出的商业版 Qt AI Assistant(仅限付费许可证用户)不同,QodeAssist 是完全开源免费的,支持本地模型和云端模型,为所有 Qt Creator 用户提供了零门槛的 AI 辅助编程体验。
QodeAssist 不仅仅是简单的 API 调用封装——它针对 Qt/C++ 开发工作流做了深度定制,提供了项目级上下文感知、MCP 协议支持、Agent Skills 等高级特性,更像是一个深度理解你项目的结对编程伙伴。

2. 核心功能详解
2.1 智能代码补全(Code Completion)
传统的代码补全基于静态分析,只能提供语法级别的补全。QodeAssist 的 AI 补全是动态的、语义级的——它分析光标前后的代码、甚至你当前打开的其他文件,来预测你接下来最可能想写什么。
两种触发模式:
| 模式 | 行为 | 适用场景 |
|---|---|---|
| 提示触发(Hint-based) | 输入 3+ 字符后显示提示图标,按空格键(可自定义)才请求补全 | 付费 API(Claude、OpenAI),避免意外费用 |
| 自动触发(Automatic) | 达到字符阈值后自动请求补全 | 本地模型(Ollama、llama.cpp),追求流畅体验 |
此外还支持多行补全(Multiline Completion),AI 可以一次性生成跨越多行的代码块,而不仅限于单行补全。
2.2 聊天助手(Chat Assistant)
QodeAssist 提供三种聊天面板形态,适配不同工作场景:
- 侧边栏面板:适合长时间的、连续的架构讨论和算法调试
- 底部面板:适合快速碎片化问答,不占用主要编码区域
- 弹出窗口:适合需要全屏聚焦的复杂讨论
核心特性:
- 聊天历史自动保存与恢复
- Token 使用量监控
- 文件上下文(File Context):附加文件或链接文件,让 AI 读取你的项目代码
- 自动同步打开的编辑器文件(可选)
- 扩展思维模式(Extended Thinking):启用更深层推理(Claude 等模型支持)
- Agent Roles:可切换 AI 角色人格(开发者、代码审查者等自定义角色)
- 聊天摘要(Chat Summarization):压缩长对话以节省上下文 Token
2.3 快速重构(Quick Refactoring)
选中一段代码,通过 AI 进行内联重构——这是 QodeAssist 最具实用价值的功能之一。支持:
- 自定义指令库:可搜索、可自动补全的重构模板库
- 创建、编辑和管理可复用的重构模板
- 组合基础指令与具体细节
- 快捷键一键触发
2.4 Agent 工具调用(Tools & Function Calling)
聊天和快速重构功能可以调用内置工具来检查和修改项目。每个工具可以单独启用/禁用:
| 工具名 | 功能 |
|---|---|
list_project_files |
列出活动项目中的文件 |
find_file |
按名称或部分路径查找文件 |
read_file |
读取文件内容 |
search_project |
在项目源码中 Grep / 符号搜索 |
create_new_file |
创建新的空文件 |
edit_file |
替换文件中的内容(old → new) |
build_project |
构建活动项目并返回编译器输出 |
get_issues_list |
读取当前 linter / 编译器诊断信息 |
execute_terminal_command |
运行 Shell 命令(需确认) |
todo_tool |
在对话中跟踪多步骤任务进度 |
2.5 Agent Skills
Agent Skills 是 QodeAssist 最新引入的特性,将专业化指令和工作流打包成可复用的文件夹,AI 按需加载。QodeAssist 实现了开放的 Agent Skills 格式,因此为 Claude Code、Cursor 等其他 Agent 编写的 Skills 可以直接使用。
一个 Skill 就是一个包含 SKILL.md 文件的文件夹:
my-skill/
└── SKILL.md
Skills 的发现路径:
- 项目 Skills:项目目录下的
.qodeassist/skills/和.claude/skills/ - 全局 Skills:如
~/.claude/skills/
2.6 MCP 服务器与客户端
MCP 服务器:QodeAssist 可以在 localhost 上运行 MCP(Model Context Protocol)服务器,将上述工具暴露给外部客户端——Claude Code CLI、VS Code、Cursor、Claude Desktop 等。支持 HTTP+SSE 传输,并提供 stdio bridge 用于仅支持 stdio 的客户端。
MCP 客户端中心:QodeAssist 还可以作为 MCP 客户端,连接外部 MCP 服务器,在聊天和快速重构中使用其工具(暂不支持需要认证的 MCP 服务器)。
3. 支持的 LLM 提供商
QodeAssist 支持极其广泛的 LLM 后端,这是它的一大优势:
本地提供商
| 提供商 | 说明 |
|---|---|
| Ollama | 原生 Ollama API,零成本本地运行 |
| Ollama (OpenAI-compatible) | Ollama 的 /v1 端点,用于工具调用模型 |
| llama.cpp | 本地 llama-server |
| LM Studio | OpenAI 兼容 Chat API |
| LM Studio (Responses API) | 需要 Responses 端点的新模型 |
云端提供商
| 提供商 | 说明 |
|---|---|
| Anthropic Claude | Sonnet 4.5、Haiku 4.5、Opus 4.5 |
| OpenAI | Chat Completions 和 Responses API |
| Mistral AI / Codestral | Codestral 2501 |
| Google AI | Gemini 2.5 Flash |
| OpenAI-compatible | OpenRouter 和任何自定义端点 |
推荐模型
代码补全与重构最佳:
- Claude 4.5 Haiku / Sonnet(Anthropic)
- GPT-5.1-codex / codex-mini(OpenAI Responses API)
- Codestral(Mistral)
聊天助手最佳:
- Claude 4.5 Sonnet — 出色的推理和自然对话
- GPT-5.1-codex — 最新模型,高级能力
- Gemini 2.5 / 3.0 — Google 最新模型
本地模型:
- Qwen3-coder — 最佳本地模型
4. Qt Creator 版本兼容性
QodeAssist 支持的 Qt Creator 版本范围如下:
| Qt Creator 版本 | 支持状态 |
|---|---|
| 14.0.2 - 17.0.0 | ✅ 完全支持 |
| 18.0.0 | ✅ 支持 |
| 19.0.2 | ✅ 最新支持 |
⚠️ 重要:由于 Qt Creator 插件的二进制兼容性规则,QodeAssist 插件版本必须与你安装的 Qt Creator 版本严格匹配。请在下载或编译时确认版本号一致。
5. 安装方式
方式一:QodeAssistUpdater(推荐)
QodeAssistUpdater 是一个命令行工具,可以自动检测 Qt Creator 版本、下载安装匹配的插件,并验证校验和。
# 检查当前状态和可用更新
./qodeassist-updater --status
# 安装最新版本
./qodeassist-updater --install
下载地址:https://github.com/Palm1r/QodeAssistUpdater/releases
方式二:手动安装
- 从 QodeAssist Releases 下载与你 Qt Creator 版本匹配的插件压缩包
- 如已安装旧版本,先删除旧版插件目录:
- Windows:
C:\Users\<用户名>\AppData\Local\QtProject\qtcreator\plugins\<版本号>\petrmironychev.qodeassist
- Windows:
- 启动 Qt Creator
- 进入 Help → About Plugins…(Windows/Linux)或 Qt Creator → About Plugins…(macOS)
- 点击 Install Plugin…,选择下载的插件压缩包
方式三:从源码编译(本文重点)
详见下一节。
6. 在 MSYS2 UCRT64 下从源码编译
这是本文的核心部分。由于 QodeAssist 的预编译 Windows 二进制文件是基于 MSVC 构建的,如果你使用 MSYS2 UCRT64 环境进行 Qt/C++ 开发,需要自行编译插件 DLL。
6.1 为什么选择 MSYS2 UCRT64?
MSYS2 是 Windows 上的软件分发和构建平台,提供了类 Unix 环境、命令行界面和软件仓库。UCRT64 是 MSYS2 的一个子系统,使用 Universal C Runtime (UCRT)——这是 Windows 10+ 的现代 C 运行时,比传统的 MSVCRT 更符合现代 C/C++ 标准,与 MSVC 编译的程序兼容性更好。
| 环境 | 架构 | C Runtime | 推荐场景 |
|---|---|---|---|
| UCRT64 | 64-bit | UCRT(现代) | ✅ 新项目首选,Windows 10+ |
| MINGW64 | 64-bit | MSVCRT(旧版) | 兼容旧版 Windows |
| MINGW32 | 32-bit | MSVCRT | 仅需 32-bit 时使用 |
6.2 编译前准备
前置条件
- Windows 10 或更高版本
- MSYS2 已安装(默认路径
C:\msys64) - Qt Creator 已安装(需知道安装路径和版本号)
- Qt 6 已安装(需知道安装路径)
确认 Qt Creator 版本
打开 Qt Creator,进入 Help → About Qt Creator,记录完整版本号(如 17.0.0)。
确认 Qt 安装路径
如果你通过 Qt Online Installer 安装了 Qt,路径通常为:
C:\Qt\6.x.x\mingw_64
6.3 安装 MSYS2 UCRT64 工具链
如果你还没有安装 MSYS2,请从 https://www.msys2.org/ 下载安装程序。
打开 MSYS2 UCRT64 终端(不是 MSYS2 MSYS 终端),执行以下命令更新系统并安装编译所需的工具:
# 更新系统
pacman -Syuu
# 安装编译工具链和依赖
pacman -S --noconfirm \
mingw-w64-ucrt-x86_64-gcc \
mingw-w64-ucrt-x86_64-cmake \
mingw-w64-ucrt-x86_64-ninja \
mingw-w64-ucrt-x86_64-pkgconf \
git
注意,这里假设之前Qt6全部已经正确安装了,尤其是 mingw-w64-ucrt-x86_64-qt-creator-devel。
验证安装
gcc --version
cmake --version
ninja --version
确保 GCC 版本支持 C++20(GCC 10+ 即可)。
6.4 获取 QodeAssist 源码
cd ~
git clone https://github.com/Palm1r/QodeAssist.git
cd QodeAssist
如果你需要特定版本,可以切换到对应的 Tag:
# 查看可用版本
git tag
# 切换到特定版本,例如 v0.9.14
git checkout v0.9.14
6.5 理解编译依赖关系
根据 QodeAssist 的 CMakeLists.txt,编译需要以下依赖:
find_package(QtCreator REQUIRED COMPONENTS Core)
find_package(Qt6 COMPONENTS Core Gui Quick Widgets Network Svg Test LinguistTools REQUIRED)
这意味着 CMake 需要找到:
- Qt Creator 开发文件——包含 QtCreator 的 CMake 配置文件(
QtCreatorConfig.cmake),用于链接QtCreator::Core、QtCreator::ExtensionSystem、QtCreator::Utils、QtCreator::CPlusPlus等目标 - Qt 6 开发文件——包含 Qt6 的 CMake 配置文件
关键路径设置:
CMAKE_PREFIX_PATH:需要包含 Qt6 安装路径和 Qt Creator 安装路径- Qt Creator 的开发文件位于其安装目录下的
lib/cmake/QtCreator等子目录中
6.6 编译步骤
步骤 1:创建构建目录并配置
cd ~/QodeAssist
mkdir -p build
cd build
cmake ..
步骤 2:编译
cmake --build .
步骤 3:验证编译结果
编译成功后,在 build 目录下会生成插件 DLL 文件:
find . -name "QodeAssist.dll" -o -name "libQodeAssist.dll"
典型的输出路径为:
./lib/qtcreator/plugins/QodeAssist.dll
拷贝到 C:\msys64\ucrt64对应的位置即可。
7. 配置 CSDN/taotoken.net API
QodeAssist 支持任何 OpenAI 兼容的 API 端点,这意味着你可以方便地接入 CSDN 提供的 taotoken.net API 服务。
7.1 快速配置步骤
- 打开 Qt Creator,进入 Tools → Options → QodeAssist
- 在 General 页面的 Provider 下拉框中选择 OpenAI-compatible
- 配置 Provider Settings:
- URL:填入 taotoken.net 提供的 API 端点地址(如
https://api.taotoken.net/v1) - API Key:填入你的 taotoken.net API 密钥
- Model:选择你想使用的模型名称
- URL:填入 taotoken.net 提供的 API 端点地址(如
- 在 Code Completion 页面配置代码补全相关参数
- 在 Chat 页面配置聊天相关参数
7.2 详细配置参考
代码补全配置
| 配置项 | 推荐值 | 说明 |
|---|---|---|
| Enable Auto Complete | ✅ | 启用自动补全 |
| Enable Multiline Completion | ✅ | 启用多行补全 |
| Enable stream option | ✅ | 启用流式响应 |
| Enable smart process text | ✅ | 智能处理指令模型输出 |
| AI suggestion triggers after typing | 3 | 触发 AI 建议的字符数 |
| Trigger mode | Hint-based | 提示触发(付费 API 推荐) |
聊天助手配置
| 配置项 | 推荐值 | 说明 |
|---|---|---|
| Chat Model | 根据可用模型选择 | 对话使用的模型 |
| Enable tools | ✅ | 启用工具调用 |
| File Context | 按需启用 | 文件上下文增强 |
7.3 验证连接
配置完成后,可以通过以下方式验证 API 连接是否正常:
- 打开聊天面板(快捷键
Ctrl+Alt+K) - 发送一条简单消息,如 “Hello”
- 如果收到 AI 回复,说明 API 配置成功
7.4 关于 taotoken.net
taotoken.net 是 CSDN 推出的 AI 模型 API 服务平台,感觉还行,
- OpenAI 完全兼容:遵循 OpenAI API 规范,无需修改代码即可将现有应用无缝迁移。
- 模型支持:提供包括 GPT-4o、GPT-4o-mini、Claude 3.5 Sonnet、DeepSeek-V3、Qwen2.5 等在内的多种前沿大语言模型。
在 QodeAssist 中使用:
由于 taotoken.net 提供标准的 OpenAI 兼容接口,在 QodeAssist 中配置非常简单:
- 在 Provider 中选择 OpenAI-compatible。
- 在 URL 中填入 taotoken.net 提供的 API 端点(例如
https://api.taotoken.net/v1)。 - 在 API Key 中填入你在 taotoken.net 平台获取的密钥。
- 在 Model 下拉列表中选择你已订阅或可用的模型(如
gpt-4o、claude-3-5-sonnet等)。
这种配置方式让你可以轻松地将 QodeAssist 的强大功能与国内稳定、合规的 AI 服务相结合,获得流畅的本地开发体验。
8. 快捷键一览
| 快捷键 | 功能 |
|---|---|
Ctrl+Alt+Q |
手动请求代码补全 |
Ctrl+Alt+K |
打开/关闭聊天面板 |
Ctrl+Alt+R |
快速重构 |
Space(Hint 模式) |
接受 AI 补全建议 |
Tab |
确认补全建议 |
Esc |
取消补全建议 |
快捷键可在 Qt Creator 的键盘快捷键设置中自定义。
9. 技术架构与项目结构
代码组织
QodeAssist 的源码结构清晰,模块化设计:
QodeAssist/
├── CMakeLists.txt # 主构建文件
├── qodeassist.cpp # 插件主入口
├── QodeAssistConstants.hpp # 常量定义
├── providers/ # LLM 提供商实现
│ ├── OllamaProvider.cpp
│ ├── ClaudeProvider.cpp
│ ├── OpenAIProvider.cpp
│ ├── OpenAICompatProvider.cpp # OpenAI 兼容端点
│ ├── GoogleAIProvider.cpp
│ └── ...
├── templates/ # Prompt 模板
│ ├── Claude.hpp
│ ├── OpenAI.hpp
│ ├── Qwen3CoderFIM.hpp
│ └── ...
├── chat/ # 聊天功能
├── pluginllmcore/ # LLM 核心库
├── settings/ # 设置界面
├── tools/ # Agent 工具实现
├── mcp/ # MCP 服务器/客户端
├── context/ # 上下文管理
├── ChatView/ # 聊天视图 QML
├── UIControls/ # UI 控件
├── TaskFlow/ # 任务流
├── skills/ # Agent Skills
├── logger/ # 日志模块
├── widgets/ # 编辑器小部件
└── resources/ # 资源文件(图标、翻译等)
关键依赖
从 CMakeLists.txt 可以看到,插件依赖以下 Qt Creator 模块:
QtCreator::Core— 核心功能QtCreator::LanguageClient— 语言客户端QtCreator::TextEditor— 文本编辑器QtCreator::ProjectExplorer— 项目浏览器QtCreator::CppEditor— C++ 编辑器QtCreator::ExtensionSystem— 插件扩展系统QtCreator::Utils— 工具库QtCreator::CPlusPlus— C++ 解析器
以及 Qt 模块:Core、Gui、Quick、Widgets、Network、Svg
子项目
- LLMQore:从 QodeAssist 中提取的独立 LLM 核心库,可在其他 Qt/C++ 项目中复用
- QodeAssistUpdater:CLI 安装/更新工具
上下文层级(Context Layers)
QodeAssist 使用灵活的 Prompt 组合系统,针对不同功能构建不同层次的上下文:
代码补全(FIM 模型):
- System Prompt(来自代码补全设置)
- Project Rules(
.qodeassist/rules/completion/*.md) - FIM Prefix / Suffix(光标前后的代码)
- 附加文件上下文
聊天助手:
- System Prompt(含 Agent Role)
- Project Rules(
.qodeassist/rules/chat/*.md) - 对话历史
- 文件上下文
- 工具调用结果
10. 总结与展望
QodeAssist 是目前 Qt Creator 生态中最成熟、功能最丰富的开源 AI 编程助手插件。它的优势在于:
- 深度集成:不是简单的聊天窗口,而是真正与 Qt Creator 的编辑器、项目管理器、构建系统深度集成
- 灵活后端:支持本地和云端十余种 LLM 提供商,通过 OpenAI-compatible 端点可以接入任何兼容 API
- 项目感知:工具调用让 AI 能真实读取和修改你的项目文件,而不是仅凭上下文猜测
- MCP 生态:既能作为 MCP 服务器暴露能力,又能作为客户端消费外部工具
- 持续演进:项目活跃度极高,频繁发布新版本(当前 0.9.14,652+ commits)
对于在 MSYS2 UCRT64 环境下工作的 Qt/C++ 开发者来说,虽然从源码编译需要一些额外的工作,但带来的回报是巨大的——你可以在自己最熟悉的开发环境中享受 AI 辅助编程的便利,无需切换到 VS Code 或其他 IDE。
如果你是 Qt Creator 的用户,强烈推荐试试 QodeAssist。接入 CSDN/taotoken.net 这样的 OpenAI 兼容 API,几分钟就能上手,体验 AI 辅助编程带来的效率提升。
参考链接:
- QodeAssist GitHub:https://github.com/Palm1r/QodeAssist
- QodeAssist Releases:https://github.com/Palm1r/QodeAssist/releases
- QodeAssistUpdater:https://github.com/Palm1r/QodeAssistUpdater
- QodeAssist Discord:https://discord.gg/BGMkUsXUgf
- MSYS2 官网:https://www.msys2.org/
- Qt Creator 源码:https://github.com/qt-creator/qt-creator
- Qt Creator 插件开发文档:https://doc.qt.io/qtcreator-extending/first-plugin.html
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)