欢迎光临
我们一直在努力

QodeAssist:为msys2 ucrt64 Qt Creator 注入 AI 灵魂的开源插件

QodeAssist:为 Qt Creator 注入 AI 灵魂的开源插件

从源码编译到实际使用,一份写给 Qt/C++ 开发者的完整指南

目录

文章目录

  • QodeAssist:为 Qt Creator 注入 AI 灵魂的开源插件
    • 目录
    • 1. 项目简介
    • 2. 核心功能详解
      • 2.1 智能代码补全(Code Completion)
      • 2.2 聊天助手(Chat Assistant)
      • 2.3 快速重构(Quick Refactoring)
      • 2.4 Agent 工具调用(Tools & Function Calling)
      • 2.5 Agent Skills
      • 2.6 MCP 服务器与客户端
    • 3. 支持的 LLM 提供商
      • 本地提供商
      • 云端提供商
      • 推荐模型
    • 4. Qt Creator 版本兼容性
    • 5. 安装方式
      • 方式一:QodeAssistUpdater(推荐)
      • 方式二:手动安装
      • 方式三:从源码编译(本文重点)
    • 6. 在 MSYS2 UCRT64 下从源码编译
      • 6.1 为什么选择 MSYS2 UCRT64?
      • 6.2 编译前准备
        • 前置条件
        • 确认 Qt Creator 版本
        • 确认 Qt 安装路径
      • 6.3 安装 MSYS2 UCRT64 工具链
        • 验证安装
      • 6.4 获取 QodeAssist 源码
      • 6.5 理解编译依赖关系
      • 6.6 编译步骤
        • 步骤 1:创建构建目录并配置
        • 步骤 2:编译
        • 步骤 3:验证编译结果
    • 7. 配置 CSDN/taotoken.net API
      • 7.1 快速配置步骤
      • 7.2 详细配置参考
        • 代码补全配置
        • 聊天助手配置
      • 7.3 验证连接
      • 7.4 关于 taotoken.net
    • 8. 快捷键一览
    • 9. 技术架构与项目结构
      • 代码组织
      • 关键依赖
      • 子项目
      • 上下文层级(Context Layers)
    • 10. 总结与展望

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

方式二:手动安装

  • 从 QodeAssist Releases 下载与你 Qt Creator 版本匹配的插件压缩包
  • 如已安装旧版本,先删除旧版插件目录:
    • Windows:C:\\Users\\<用户名>\\AppData\\Local\\QtProject\\qtcreator\\plugins\\<版本号>\\petrmironychev.qodeassist
  • 启动 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:选择你想使用的模型名称
  • 在 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
    赞(0)
    未经允许不得转载:171主机测评 » QodeAssist:为msys2 ucrt64 Qt Creator 注入 AI 灵魂的开源插件
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址