目录

一、开发环境介绍

二、trae介绍

三、第三方库的使用

四、快速上手chatSDK

4.1 目录结构

4.2 使用说明

4.2.1 关系类

4.2.3 ChatSDK使用介绍


一、开发环境介绍

随着⼈⼯智能技术的⻜速发展,AI编程助⼿类的插件和IDE如⾬后春笋般涌现,为开发者提供强⼤的代码⽣成、智能补全、错误检测和修复等功能,显著提⾼了开发效率。
AI编程插件:
插件名称
形态
核⼼功能
Github
Copilot
⽀持VS Code、JetBrains IDEs等
实时代码补全、Copilot Chat、多语⾔⽀持、上下⽂感知、智能代理、测试⽣成
Fitten Code
⽀持VSCode/JetBrains等
代码补全、Bug检测、注释⽣成、单元测试⾃动⽣成
Cline
VS Code插件
项⽬级⽂件读写操作、命令⾏任务执⾏、浏览器环境集成、基于权限的⾏动确认系统、任务链编排能⼒
通义灵码
插件(VSCode/JetBrains)+ 独⽴IDE
多⽂件代码修改、MCP⼯具链调⽤、⾏间会话、个性化记忆体系
基于命令⾏终端的AI编程⼯具
⼯具名称
核⼼功能
模型⽀持
Claude
Code
复杂的推理与分析:擅⻓ ⽂档阅读、摘要、逻辑推理
代码⽣成与解释:能⽣成、审查和解释代码,强调代码的安全性和可靠性
⻓上下⽂窗⼝(最⾼⽀持200K):可处理整个代码库的⽂件⾃然语⾔对话
Claude 4系列
Gemini CLI
终端内对话:在命令⾏中直接与Gemini模型交互
代码⽣成与帮助:⽣成代码⽚段、解释错误
⽂本处理:起草邮件、⽣成内容等通⽤任务
多模态⽀持:CLI可传输⽂件,未来可能⽀持图像分析
Gemini-2.5-pro
编程IDE⼯具
IDE名称核⼼功能模型⽀持
codex
项目级代码理解、代码生成、代码修改、Bug定位与修复、自动重构、代码审查、运行测试、终端操作、多文件协同开发、Git辅助、工程任务自动执行主流大模型都支持(接入api key就行)
Cursor
代码⾃动⽣成、智能补全、Bug检测与修复、⽂档⽣成、多⽂件编辑、⾃然语⾔命令、VS Code兼容
集成Claude、GPT、 Gemini等多个模型
IDX
基于云的VSCode体验、深度集成Gemini模型进⾏代码补全和聊天、内置Android模拟器和Firebase⽀持、轻松预览和部署全栈应用
深度集成并优化Gemini模型家族
Kiro
兼容vscode、需求管理、⾃动化开发、集成与扩展、⽤⼾体验、预览代码修改、即时撤销修改、Agentic Chat
免费使⽤Claude-Sonnet和Claude-Opus-4模型
Trae
多模态交互、上下⽂理解引擎、智能体模式、全流程⾃动化、智能代码⽣成与优化
集成DeepSeek、
Doubao、Kimi、Qwen等模型
Qoder
代码库全景理解、智能结对编程、Quest模式、增强上下⽂⼯程、⻓短期记忆系统
⽀持Claude、GPT、
Gemini等模型
CodeBudd
y
智能代码补全、AI设计⽣成、设计稿转代码、AI全栈开发、内置腾讯云CloudeBase和Supabase服务、⼀键部署分享
内置腾讯混元、DeepSeek
等多种模型
虽然说有AI编程助⼿,但还是要求同学们打基础阶段(语⾔+数据结构+操作系统+⽹络+数据库硬通货),⾃⼰多动⼿敲代码减少AI辅助,等编程能⼒上来,⽐如能熟练独⽴开开发项⽬,再考虑让AI提效。
这些AI编程IDE基本都是基于vscode开发,功能使⽤上基本⼤同⼩异,本项⽬选择字节的Trae IDE⼯具开发,主要是在国内是免费的。

二、trae介绍

Trae IDE是基于vscode内核开发的,与AI深度集成,提供智能问答、代码⾃动补全以及基于Agent的AI⾃动编程能⼒。使⽤Trae开发项⽬,可以给AI灵活协作,提升开发效率。

trae官网:TRAE - Collaborate with Intelligence

trae使用手册:什么是 TRAE IDE? - 文档 - TRAE

trae下载:Download Center | TRAE - Collaborate with Intelligence

下载下来后,安装时⼀路next即可。
Trae⽀持远程资源管理功能(Remote SSH),允许直接访问和操控远程主机,⽆需额外配置。
打开Trae后,直接选择连接连接远程主机,输⼊ ssh ⽤⼾名 @ip 和密码即可。我这里连过,就不演示了。连的是Ubuntu。

如果没有这个图标的,看下图:选择第一个。

登录成功之后,需要安装clangd和CMake Tools插件,注意:这些插件是安装在远程主机上。
安装clangd插件,clangd是⼀款在Trae、VScode等编辑器中,⽤来开发C/C++程序的插件,⽀持:语法⾼亮、代码补全、实时错误检查(语法错误、类型不匹配、符号未定义等)、代码导航(快速跳转到变量/函数定义)、⽂档提⽰(⿏标悬停在函数名上会显⽰函数签名、注释⽂档)等。
在插件管理器中搜索"clangd",然后安装:

在插件管理器中搜索"CMake Tools",然后安装:

Trae需要通过插件实现与CMake的集成,包括⽣成构建⽂件、选择编译器等功能。

三、第三方库的使用

  1. gflags
  2. spdlog
  3. cppjson
  4. cpp-httplib
  5. gtest

安装:没有成功的运行一下这个sudo apt update

# gflags 安装
dev@dev-host:~/workspace$ sudo apt-get install libgflags-dev
# spdlog 安装
dev@dev-host:~/workspace$ sudo apt-get install libspdlog-dev
# fmt 安装
dev@dev-host:~/workspace$ sudo apt-get install fmt
# jsoncpp 安装
dev@dev-host:~/workspace$ sudo apt-get install libjsoncpp-dev
# gtest 安装
dev@dev-host:~/workspace$ sudo apt-get install libgtest-dev
# ssl 安装
dev@dev-host:~/workspace$ sudo apt-get install libssl-dev
# 安装 cmake
dev@dev-host:~/workspace$ sudo apt-get install cmake
# 安装pkg-config,⽤于帮助编译时查找库⽂件(⽐如头⽂件的位置、链接选型)的⼯具
dev@dev-host:~/workspace$ sudo apt install pkg-config
# 安装curl⼯具
dev@dev-host:~/workspace$ sudo apt install curl
# httplib下载
dev@dev-host:~/workspace$ git clone https://github.com/yhirose/cpp-httplib.git
# 注意:cpp-httplib是header-only库,只需要⼀个头⽂件,在项⽬中只需时只需要包含该头⽂件即可
# 我的cpp-httplib库下载在跟⽬录下
cailo@VM-0-17-ubuntu:~$ ls
bash_history  c-and-linux  code         disk.img  gitcode   lesson1       test
cailo         cmakegit     cpp-httplib  gdb       gitcode1  my_cmake_app  test_db
cailo@VM-0-17-ubuntu:~$ cd cpp-httplib
cailo@VM-0-17-ubuntu:~/cpp-httplib$ ls
benchmark           Dockerfile          httplib.h          README.md            split.py
cmake               docs-src            justfile           README-sse.md        test
CMakeLists.txt      docs-util           LICENSE            README-stream.md
docker              example             meson.build        README-websocket.md
docker-compose.yml  generate_module.py  meson_options.txt  scripts
cailo@VM-0-17-ubuntu:~/cpp-httplib$ sudo cp httplib.h /usr/include

我们最后将httplib.h 拷贝到/usr/include里面就行,这样写头文件的时候程序就能直接找到。

四、快速上手chatSDK

我们现在当前家目录下面创建两个文件一个是SDK-source另一个是SDKDemo。

创建好之后我们就进入SDK-source输入以下命令,进行克隆仓库。

https://gitee.com/zhibite-edu/ai-model-acess-tech.git

然后就一路运行以下命令。

4.1 目录结构

.
├── sdk # sdk的源码
│ ├── CMakeLists.txt
│ ├── include
│ │ ├── ChatGPTProvider.h
│ │ ├── chat_sdk.h
│ │ ├── common.h
│ │ ├── dataManager.h
│ │ ├── DeepSeekProvider.h
│ │ ├── GeminiProvider.h
│ │ ├── ILLMProvider.h
│ │ ├── LLMManager.h
│ │ ├── OllamaDeepSeekProvider.h
│ │ ├── session_manager.h
│ │ └── util
│ │ └── my_logger.h
│ ├── src
│ ├── ChatGPTProvider.cpp
│ ├── chat_sdk.cpp
│ ├── DataManager.cpp
│ ├── DeepSeekProvider.cpp
│ ├── GeminiProvider.cpp
│ ├── LLMManager.cpp
│ ├── OllamaDeepSeekProvider.cpp
│ ├── session_manager.cpp
│ └── util
│ └── my_logger.cpp
├── build
进⼊ sdk 所在⽬录,然后执⾏如下命令:
> mkdir build && cd build # 创建 build ⽬录并进⼊该⽬录
> cmake .. # 编译 ChatSDK ,⽣成 libai_chat_sdk.a 静态库
> sudo make install
静态库安装在: /usr/local/lib
头⽂件安装位置: /usr/local/include/ai_chat_sdk

4.2 使用说明

4.2.1 关系类

4.2.3 ChatSDK使用介绍

在程序中使⽤ChatSDK库时,主要通过ChatSDK类与库交互。该库中涉及到的成员介绍如下:
Header : #include<ai_chat_sdk/ChatSDK.h>
CMake : target_link_libraries({ProjName} PRIVATE ai_chat_sdk)
public Functions
bool initModels(const std::vector<std::shared_ptr<Config>>& configs)
功能:初始化所⽀持的模型
参数:configs - 所有⽀持的模型需配置的参数
返回值:初始化成功返回ture,否则返回false
std::shared_ptr<Session> getSession(const std::string& sessionId)
功能:获取sessionId对应的会话信息
参数:sessionId - 会话Id
返回值:sessionId对应的会话信息
std::vector<std::string> getSessionList()
功能:获取所有会话信息
返回值:返回所有会话信息
std::vector<ModelInfo> getAvailableModels()
功能:获取⽀持的所有模型
返回值:返回⽀持的所有模型
bool deleteSession(const std::string& sessionId)
功能:删除sessionId对应的会话信息
参数:sessionId - 会话Id
返回值:删除成功返回true,否则返回false
std::string sendMessage(const std::string sessionId, const std::string& message)
功能:给⼤模型发送消息,⼤模型⽣成所有回复后⼀次性返回
参数:
        sessionId - 会话Id
        message - 给⼤模型发送的消息内容
返回值:返回⼤模型的完整回复
std::string sendMessageStream(const std::string sessionId, const
std::string& message, std::function<void(const std::string&, bool)>
callback)
功能:给⼤模型发送消息,⼤模型⽣成⼀点返回⼀点,即流式响应
参数:
        sessionId - 会话Id
        message - 给⼤模型发送的消息内容
        callback - ⼤模型返回消息⽤⼾处理回到函数
返回值:返回⼤模型的完整回复
相关数据结构请查看 sdk/include/common.h ⽂件

更多推荐