feat: add OpenAI-compatible AI provider plugin with SSE streaming support

- Implemented the OpenAI-compatible AI provider plugin, including configuration, chat, and chat_stream functionalities.
- Added support for SSE streaming and tool calls.
- Integrated Boost.JSON for JSON handling.
- Created CMake configuration for the plugin.
- Added error handling and logging throughout the plugin.
This commit is contained in:
2026-05-31 05:37:04 +08:00
parent f6cb51b40a
commit ba7382db2a
61 changed files with 163 additions and 147 deletions

View File

@@ -0,0 +1,28 @@
cmake_minimum_required(VERSION 3.21)
# ============================================================
# plugin-lsp — LSP (Language Server Protocol) 服务
# 自行管理子进程,无外部服务依赖
# ============================================================
add_library(plugin-lsp SHARED
src/lsp_plugin.cpp
)
target_link_libraries(plugin-lsp PRIVATE dstalk)
# Boost.JSON 用于 JSON-RPC 消息构建/解析
find_package(Boost REQUIRED CONFIG)
target_link_libraries(plugin-lsp PRIVATE boost::boost dstalk_boost_config)
# POSIX 平台需要 pthread (用于 std::thread)
if(NOT WIN32)
find_package(Threads REQUIRED)
target_link_libraries(plugin-lsp PRIVATE Threads::Threads)
endif()
set_target_properties(plugin-lsp PROPERTIES
PREFIX ""
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/plugins"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/plugins"
)