
🎬 个人主页 :艾莉丝努力练剑
❄专栏传送门 :《C语言》《数据结构与算法》《C/C++干货分享&学习过程记录》
《Linux操作系统编程详解》《笔试/面试常见算法:从基础到进阶》《Python干货分享》
⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平
🎬 艾莉丝的简介:

文章目录
- [1 ~> ChatServer 项目背景与 main 方法开发需求](#1 ~> ChatServer 项目背景与 main 方法开发需求)
-
- [1.1 项目现状](#1.1 项目现状)
- [1.2 ChatServer 构造函数核心代码(修正原始代码语法错误)](#1.2 ChatServer 构造函数核心代码(修正原始代码语法错误))
- [2 ~> Trae IDE 基础功能与 AI 对话面板](#2 ~> Trae IDE 基础功能与 AI 对话面板)
-
- [2.1 Trae IDE 基础简介](#2.1 Trae IDE 基础简介)
- [2.2 AI 对话面板核心控件](#2.2 AI 对话面板核心控件)
-
- [2.2.1 Auto Mode 自动模型模式](#2.2.1 Auto Mode 自动模型模式)
- [2.2.2 输入框快捷符号](#2.2.2 输入框快捷符号)
- [2.3 Trae 全局模式分类](#2.3 Trae 全局模式分类)
- [3 ~> 智能体 (Agent) 核心概念](#3 ~> 智能体 (Agent) 核心概念)
-
- [3.1 大语言模型与智能体对比](#3.1 大语言模型与智能体对比)
-
- [3.1.1 大语言模型](#3.1.1 大语言模型)
- [3.1.2 智能体 Agent](#3.1.2 智能体 Agent)
- [3.2 Trae IDE 内置智能体](#3.2 Trae IDE 内置智能体)
-
- [3.2.1 Chat](#3.2.1 Chat)
- [3.2.2 Builder](#3.2.2 Builder)
- [3.2.3 Builder with MCP](#3.2.3 Builder with MCP)
- [3.3 自定义智能体](#3.3 自定义智能体)
- [4 ~> 本项目工作流程总结](#4 ~> 本项目工作流程总结)
- 结尾

1 ~> ChatServer 项目背景与 main 方法开发需求
1.1 项目现状
- 服务器业务代码已全部开发完成,程序无法运行,缺失入口
main函数,该函数负责完成服务配置加载,实例化服务对象并启动 HTTP 服务。 ChatServer构造函数接收ServerConfig配置对象,该对象保存各个大模型 API 密钥、超参数、Ollama 本地模型连接信息。
1.2 ChatServer 构造函数核心代码(修正原始代码语法错误)
cpp
#include"ChatServer.h"
#include <ai_chat_sdk/util/myLog.h>
#include <httplib.h>
#include <jsoncpp/json/forwards.h>
#include <jsoncpp/json/value.h>
#include <jsoncpp/json/reader.h>
#include <jsoncpp/json/writer.h>
namespace ai_chat_server
{
ChatServer::ChatServer (const ServerConfig& config)
{
// deepseek模型配置
auto deepseekConfig= std::make_shared<ai_chat_sdk::APIConfig>();
deepseekConfig->_modelName="deepseek-chat";
deepseekConfig->_apikey= config.deepseekAPIKey;
deepseekConfig->_temperature= config.temperature;
deepseekConfig->_maxTokens=config.maxTokens;
// gpt‑4o‑mini模型配置
auto chatGPTConfig= std::make_shared<ai_chat_sdk::APIConfig>();
chatGPTConfig->_modelName="gpt-4o-mini";
chatGPTConfig->_apikey= config.chatGPTAPIKey;
chatGPTConfig->_temperature= config.temperature;
chatGPTConfig->_maxTokens=config.maxTokens;
// gemini‑2.0‑flash模型配置
auto geminiConfig = std::make_shared<ai_chat_sdk::APIConfig>();
geminiConfig->_modelName="gemini-2.0-flash";
geminiConfig->_apikey= config.geminiAPIKey;
geminiConfig->_temperature=config.temperature;
geminiConfig->_maxTokens=config.maxTokens;
// Ollama本地deepseek‑r1:1.5b模型配置
auto ollamaConfig= std::make_shared<ai_chat_sdk::OllamaConfig>();
ollamaConfig->_modelName=config.ollamaModelName;
ollamaConfig->_modelDesc= config.ollamaModelDesc;
ollamaConfig->_endpoint= config.ollamaEndpoint;
ollamaConfig->_temperature=config.temperature;
ollamaConfig->_maxTokens=config.maxTokens;
// 组装全部模型配置集合
std::vector<std::shared_ptr<ai_chat_sdk::Config>> modelConfigs={
deepseekConfig,
chatGPTConfig,
geminiConfig,
ollamaConfig
};
// SDK初始化全部模型,初始化失败打印错误日志
if(!_chatSK->initModels(modelConfigs))
{
ERR("ChatSK init Failed!!!");
}
}
}
- 代码修正项:修复原始代码中拼写错误:
nake_shared→make_shared、各类变量名、头文件拼写、数组初始化语法错误。 - 业务逻辑说明:构造函数内部完成 4 套模型配置对象实例化,存入 vector 容器,调用 SDK 接口批量初始化模型。初始化失败输出错误日志。
- 后续任务:实现 main 函数,加载配置、构造
ChatServer实例,启动 HTTP 服务,提供网页访问接口。
2 ~> Trae IDE 基础功能与 AI 对话面板
2.1 Trae IDE 基础简介
- Trae IDE 基于 VSCode 内核深度改造,深度集成 AI 能力,具备智能问答、代码补全、Agent 自动编程能力。
- 官方资源
- 远程开发能力:支持 Remote SSH,直接连接远程 Linux 主机开发;输入格式
ssh 用户名@IP地址 -A - 远程开发必备插件(插件安装至远程主机)
- clangd:C/C++ 开发插件,能力包含语法高亮、代码补全、静态语法检查、符号跳转、悬停查看函数文档。
- CMake Tools:CMake 项目构建、编译、调试支持。
2.2 AI 对话面板核心控件
2.2.1 Auto Mode 自动模型模式
- 开启 Auto Mode:Trae 根据任务复杂度、模型负载自动选择最优可用模型,界面不展示模型下拉列表。
- 关闭 Auto Mode:手动从内置模型列表选择推理模型。
- 内置模型列表:Doubao‑Seed‑1.6、Kimi‑K2‑0905、Qwen‑3‑Coder、GLM‑4.6、GLM‑4.5、DeepSeek‑V3.1‑Terminus。
- 模型悬停提示:光标悬浮模型名称,展示模型能力标签,区分推理模型。
2.2.2 输入框快捷符号
@ :指定智能体,支持选择内置智能体,也支持自定义创建智能体。
#:引用外部文件作为对话上下文,适合长提示词、引用项目源码文件,把项目代码交给 AI 读取。
2.3 Trae 全局模式分类
- Max 模式
- Auto 模式
- 隐私模式
3 ~> 智能体 (Agent) 核心概念
3.1 大语言模型与智能体对比
3.1.1 大语言模型
- 代表模型:deepseek‑chat、gpt‑4o‑mini、gemini‑2.0‑flash
- 本质:文本生成模型,擅长知识问答、文本理解,类比知识渊博的博士生。
- 局限:仅输出文本,无法主动调用外部工具 API,不能执行真实业务动作。
- 示例场景:让大模型订机票,只能输出操作步骤,无法调用订票 API 完成实际下单。
3.1.2 智能体 Agent
- 定义:以大语言模型作为大脑的编程助手;接收复杂任务,自动拆解为多个可执行子步骤,调用各类外部工具、API 完成真实业务,达成最终目标。类比 "有手有脚可以干活的实干家"。
- 核心能力
- 任务拆解:复杂需求拆分为多个串行、并行子任务。
- 工具调用:调用文件读写、命令执行、网络请求等工具。
- 上下文维护:维护完整任务上下文,多步骤之间状态传递。
- 迭代执行:根据工具返回结果,调整后续执行策略。
3.2 Trae IDE 内置智能体
3.2.1 Chat
- 适用场景:代码库对话、普通问答、简单代码片段生成。
- 定位:轻量对话智能体,不执行复杂多步骤项目构建。
3.2.2 Builder
- 适用场景:从零到一完整项目开发。
- 能力:自动调用多套工具:代码解析、文件编辑、命令行执行、编译构建;多轮交互完成项目落地。本项目使用 Builder 智能体生成 main 入口代码。
3.2.3 Builder with MCP
- 继承 Builder 全部能力;自动加载全部配置好的 MCP Server,MCP 相关内容查阅文档附录。
3.3 自定义智能体
- Trae 支持用户自行创建自定义智能体,配置专属工具集与系统提示词。
4 ~> 本项目工作流程总结
- 已有 ChatServer 业务类,缺失 main 入口函数。
- 使用 Trae IDE,打开 AI 侧边栏,选择
Builder智能体。 - 可关闭 Auto 模式手动挑选推理模型,或保持 Auto 模式自动分配模型。
- 使用
#引用项目源码文件作为上下文,向 Builder 下达指令生成 main 函数代码。 - 将生成 main 函数整合进项目,编译运行 ChatServer 服务,对外提供 HTTP 接口,完成多模型对话服务。
结尾
uu们,本文的内容到这里就全部结束了,艾莉丝在这里再次感谢您的阅读!
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ### 艾莉丝努力练剑 C/C++ & Linux 底层探索者 | 一个正在努力练剑的技术博主 *** ** * ** *** 👀 【关注】 跟随我一起深耕技术领域,见证每一次成长。 ❤️ 【点赞】 让优质内容被更多人看见,让知识传递更有力量。 ⭐ 【收藏】 把核心知识点存好,在需要时随时查、随时用。 💬 【评论】 分享你的经验或疑问,评论区一起交流避坑! 不要忘记给博主"一键四连"哦! "今日练剑达成!"
"技术之路难免有困惑,但同行的人会让前进更有方向。" |
结语:希望对学习Linux相关内容的uu有所帮助,不要忘记给博主"一键四连"哦!
往期回顾:
🗡博主在这里放了一只小狗,大家看完了摸摸小狗放松一下吧!🗡 ૮₍ ˶ ˊ ᴥ ˋ˶₎ა
