文档

Qt-UI AgentKit 文档

面向 Qt Widgets 应用的智能体开发 SDK,提供多种大语言模型接入、工具调用、审批、Trace、流程编排和可嵌入聊天界面。

产品概览

Qt-UI AgentKit 产品概览

Qt-UI AgentKit 是面向 Qt Widgets 应用的智能体开发套件,帮助桌面产品接入 AI 对话、工具调用、审批确认、执行追踪和流程编排能力。

适用场景

  • 工业软件中的设备状态分析、告警摘要和报告生成。
  • 企业内部工具中的智能问答、操作建议和数据查询。
  • Qt 桌面产品中的嵌入式 AI 助手。
  • 需要工具调用、人工审批和流程追踪的 Agent 工作流。

核心能力

  • 多种大语言模型接入,支持 Mock 离线模型、OpenAI-compatible 接口和 DeepSeek 接口。
  • Mock 离线模型,便于无网络演示和开发调试。
  • ChatPanel、模型配置、TraceView、ApprovalDialog 等 Qt Widgets 原生界面组件。
  • Tool Registry 和函数工具调用。
  • Prompt Template、输出解析、对话记忆、RAG 检索。
  • 基于状态的工作流编排,支持条件路由、循环、检查点和人工审核。

Slogan

Build Intelligent Qt Applications, Visually and Natively.

快速接入

快速接入

1. 配置模型

AgentKit 示例程序支持从本地配置读取模型信息。可以在运行目录或 UIGearsAgentKit 目录放置 agentkit.local.json

OpenAI-compatible 配置示例:

{
  "provider": "openai",
  "baseUrl": "https://api.example.com/v1",
  "apiKey": "your-api-key",
  "model": "your-model",
  "maxTokens": 1024,
  "timeoutMs": 60000,
  "stream": true
}

DeepSeek 配置示例:

{
  "provider": "deepseek",
  "baseUrl": "https://api.deepseek.com",
  "apiKey": "your-deepseek-api-key",
  "model": "deepseek-v4-flash",
  "maxTokens": 1024,
  "timeoutMs": 60000,
  "stream": true
}

也可以通过环境变量配置真实模型。OpenAI-compatible provider 使用 OPENAI_API_KEYOPENAI_BASE_URLOPENAI_MODEL;DeepSeek provider 使用 DEEPSEEK_API_KEYDEEPSEEK_BASE_URLDEEPSEEK_MODEL

没有配置时,示例程序会自动使用 Mock 模型离线运行。

2. 创建聊天请求

using namespace UIGQtLib::QtAgent;

ChatRequest request;
request.addSystemMessage("你是 Qt 应用中的智能助手。");
request.addUserMessage("分析当前设备状态。");

ChatReply* reply = model->chat(request, {}, parent);

3. 注册工具

ToolRegistry registry;
registry.registerTool(new FunctionTool(
    "query_device_status",
    "查询设备状态。",
    schema,
    ToolPermission::ReadOnly,
    [](const QJsonObject& args) {
        return ToolResult{true, {}, "设备状态正常。"};
    }
));

4. 运行示例程序

打开 AgentKit 示例程序后,可通过左侧能力树分别查看基础对话、模型能力、流程能力和设备监控分析示例。

使用指南

使用指南

模型接入

AgentKit 使用 ChatModel 抽象模型接口。首版内置:

  • MockChatModel:本地离线模型,用于演示和测试。
  • OpenAICompatibleModel:兼容 OpenAI Chat Completions 协议的 HTTP 客户端。
  • DeepSeekModel:DeepSeek 模型客户端,默认使用 OpenAI-compatible 接口 https://api.deepseek.comdeepseek-v4-flash

示例程序支持三种 provider:mockopenaideepseek。配置文件 agentkit.local.json 中把 provider 设置为 deepseek 后,只需要填写 DeepSeek API Key 即可使用真实模型;也可以通过 DEEPSEEK_API_KEYDEEPSEEK_BASE_URLDEEPSEEK_MODEL 环境变量配置。

工具调用

业务功能通过 AgentToolFunctionTool 注册到 ToolRegistry。工具包含名称、说明、JSON Schema、权限和执行函数。

工具权限包括:

  • ReadOnly
  • Write
  • Destructive
  • ExternalNetwork
  • FileSystem
  • SystemCommand

涉及写入、文件系统或更高风险操作时,应通过审批弹窗确认。

Trace 追踪

每次工具调用会生成 ToolCallTrace,用于展示工具名称、状态、权限、输入、输出、错误和耗时。ToolCallTraceView 可直接用于产品调试界面。

工作流编排

StateGraph 使用 QJsonObject 作为状态对象。节点读取状态并返回局部更新,边和条件边决定下一步执行位置。

适合实现:

  • 多步骤任务。
  • 条件路由。
  • 循环直到完成。
  • 人工审核。
  • 工具节点和模型节点组合。

能力模块

AgentKit 能力模块

Qt-UI AgentKit 的接口位于命名空间 UIGQtLib::QtAgent。建议业务代码统一引入聚合头文件:

#include "QtAgentKit.h"

本章按 AgentKit 的能力模块说明 SDK 的核心类、接口方法、参数、返回值和常见调用示例。

类关系概览

ChatModel
  ├─ MockChatModel
  ├─ OpenAICompatibleModel
  └─ DeepSeekModel

AgentTool
  └─ FunctionTool

ToolRegistry
AgentExecutor

PromptTemplate
ChatPromptTemplate
RunnableChain
RunnableParallel

StringOutputParser
JsonOutputParser
StructuredOutputParser

ChatMemory
InMemoryRetriever
SimpleRagChain

StateGraph
MemoryCheckpointer

AgentChatPanel
ModelConfigWidget
ToolCallTraceView
ApprovalDialog

选型建议

场景 推荐模块
只需要普通 AI 对话 ChatRequest + OpenAICompatibleModelDeepSeekModel
需要在 UI 中显示流式输出 ChatReply + AgentChatPanel
需要模型调用本地业务函数 ToolRegistry + FunctionTool + AgentExecutor
需要高风险操作确认 ToolPermission + ApprovalDialog
需要知识库问答 InMemoryRetriever + SimpleRagChain
需要多步骤可追踪流程 StateGraph + GraphTrace
需要保存流程状态 MemoryCheckpointer
需要快速验证产品能力 MockChatModel + 示例页面

授权说明

授权说明

Qt-UI AgentKit 提供社区免费版和商业订阅版。

社区免费版

适合学习、原型验证和非商业评估。下载内容后续补充,当前页面会保留下载入口。

1年订阅版

价格:¥6,800。

适合单项目商用接入,包含 1 年更新权益和邮件支持。

3年订阅版

价格:¥19,800。

适合较长产品研发周期,包含 3 年更新权益和优先邮件支持。

下载说明

商业源码包下载内容后续补充。购买记录、下载入口和更新权益将在会员中心与订单查询页面中展示。