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 等高级特性,更像是一个深度理解你项目的结对编程伙伴。


QtCo

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

方式二:手动安装

  1. QodeAssist Releases 下载与你 Qt Creator 版本匹配的插件压缩包
  2. 如已安装旧版本,先删除旧版插件目录:
    • Windows:C:\Users\<用户名>\AppData\Local\QtProject\qtcreator\plugins\<版本号>\petrmironychev.qodeassist
  3. 启动 Qt Creator
  4. 进入 Help → About Plugins…(Windows/Linux)或 Qt Creator → About Plugins…(macOS)
  5. 点击 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 需要找到:

  1. Qt Creator 开发文件——包含 QtCreator 的 CMake 配置文件(QtCreatorConfig.cmake),用于链接 QtCreator::CoreQtCreator::ExtensionSystemQtCreator::UtilsQtCreator::CPlusPlus 等目标
  2. 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 快速配置步骤

  1. 打开 Qt Creator,进入 Tools → Options → QodeAssist
  2. General 页面的 Provider 下拉框中选择 OpenAI-compatible
  3. 配置 Provider Settings:
    • URL:填入 taotoken.net 提供的 API 端点地址(如 https://api.taotoken.net/v1
    • API Key:填入你的 taotoken.net API 密钥
    • Model:选择你想使用的模型名称
  4. Code Completion 页面配置代码补全相关参数
  5. 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 连接是否正常:

  1. 打开聊天面板(快捷键 Ctrl+Alt+K
  2. 发送一条简单消息,如 “Hello”
  3. 如果收到 AI 回复,说明 API 配置成功

7.4 关于 taotoken.net

taotoken.net 是 CSDN 推出的 AI 模型 API 服务平台,感觉还行,

  1. OpenAI 完全兼容:遵循 OpenAI API 规范,无需修改代码即可将现有应用无缝迁移。
  2. 模型支持:提供包括 GPT-4o、GPT-4o-mini、Claude 3.5 Sonnet、DeepSeek-V3、Qwen2.5 等在内的多种前沿大语言模型。

在 QodeAssist 中使用:

由于 taotoken.net 提供标准的 OpenAI 兼容接口,在 QodeAssist 中配置非常简单:

  1. Provider 中选择 OpenAI-compatible
  2. URL 中填入 taotoken.net 提供的 API 端点(例如 https://api.taotoken.net/v1)。
  3. API Key 中填入你在 taotoken.net 平台获取的密钥。
  4. Model 下拉列表中选择你已订阅或可用的模型(如 gpt-4oclaude-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 模块:CoreGuiQuickWidgetsNetworkSvg

子项目

  • LLMQore:从 QodeAssist 中提取的独立 LLM 核心库,可在其他 Qt/C++ 项目中复用
  • QodeAssistUpdater:CLI 安装/更新工具

上下文层级(Context Layers)

QodeAssist 使用灵活的 Prompt 组合系统,针对不同功能构建不同层次的上下文:

代码补全(FIM 模型):

  1. System Prompt(来自代码补全设置)
  2. Project Rules(.qodeassist/rules/completion/*.md
  3. FIM Prefix / Suffix(光标前后的代码)
  4. 附加文件上下文

聊天助手:

  1. System Prompt(含 Agent Role)
  2. Project Rules(.qodeassist/rules/chat/*.md
  3. 对话历史
  4. 文件上下文
  5. 工具调用结果

10. 总结与展望

QodeAssist 是目前 Qt Creator 生态中最成熟、功能最丰富的开源 AI 编程助手插件。它的优势在于:

  1. 深度集成:不是简单的聊天窗口,而是真正与 Qt Creator 的编辑器、项目管理器、构建系统深度集成
  2. 灵活后端:支持本地和云端十余种 LLM 提供商,通过 OpenAI-compatible 端点可以接入任何兼容 API
  3. 项目感知:工具调用让 AI 能真实读取和修改你的项目文件,而不是仅凭上下文猜测
  4. MCP 生态:既能作为 MCP 服务器暴露能力,又能作为客户端消费外部工具
  5. 持续演进:项目活跃度极高,频繁发布新版本(当前 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
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐