PL

palm1r/llmqore

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

51 stars 14 forks 품질 75 트렌드 27MIT

AI/LLM 공급자 및 MCP와 일하기를 위한 Qt C++ 도서관

개요

클라우드 및 로컬 LLM 제공 업체, MCP 클라이언트 및 서버 및 ACP 에이전트에 대한 Qt / C++ 라이브러리. deltas 스트리밍은 객체의 자신의 스레드에 Qt 신호로 도착, QFuture로 동기화 결과, 소유권은 QObject parent-child를 따릅니다. 핵심, 네트워크 및 동시에 대한 링크. - — 클라우드 및 로컬: Claude, OpenAI Chat Completions, OpenAI Responses, Google AI, Mistral, DeepSeek, Qwen, Ollama, llama.cpp; 스트리밍 또는 버퍼링, 이미지, 밖으로 이유, 토큰 사용, 취소 - BaseTool subclass, 도구 루프 포함, 당신이 원하는 경우 QFuture에 의해 게이트; 클라이언트와 stdio에 서버, 스트리밍 HTTP 또는 레거시 SSE, 하나의 공유 하나의 도구는 하나의 소스 코드에서 하나 이상의 소스 코드로 전송됩니다. 또는 그것을 볼, 당신이 채팅 패널에서 원하는 것: 축적된Received는 전체적인 대답을 지금까지 운반합니다; chunkReceived는 새로운 델타만 운반합니다.

개요(AI 번역)

클라우드 및 로컬 LLM 제공 업체, MCP 클라이언트 및 서버 및 ACP 에이전트에 대한 Qt / C++ 라이브러리. deltas 스트리밍은 객체의 자체 스레드에 Qt 신호로 도착, async 결과 QFuture, 소유권은 QObject 부모-아이를 따릅니다. Core에 대한 링크, Network 및 Concurrent.

무엇 그것

-LLM REST API — 클라우드 및 로컬: Claude, OpenAI Chat Completions, OpenAI Responses, Google AI, Mistral, DeepSeek, Qwen, Ollama, llama.cpp; 스트리밍 또는 버퍼링, 이미지 in, reasoning out, 토큰 사용, 취소 -Tool call — your BaseTool subclass, 툴 루프 포함, 당신이 원하는 경우 QFuture

  • MCP — 클라이언트와 서버는 stdio, Streamable HTTP 또는 레거시 SSE, 하나의 도구 레지스트리를 공유; mcp-bridge CLI는 하나의 엔드포인트 뒤에 많은 업스트림 서버를 넣어 -Conversation - 각 공급자의 모양으로 번역된 1개의 역사, 그들 사이 휴대용
  • **ACP 호스트 ** - JSON 레지스트리의 모든 에이전트; 배 Claude 코드 및 Codex

LLM 등급 API

자주 묻는 질문:

또는 그것을 볼, 당신이 채팅 패널에서 원하는 것:

accumulatedReceived 전체 답을 지금까지 나타낸다. chunkReceived]는 새로운 것만 가지고 있다. 델타.

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.

README

원문 README의 일부입니다. 원문 보기.

LLMQore

Qt/C++ library for cloud and local LLM providers, MCP clients and servers, and ACP agents. Streaming deltas arrive as Qt signals on the object’s own thread, async results as QFuture, ownership follows QObject parent-child. Links against Core, Network and Concurrent.

What it does

  • LLM REST API — cloud and local: Claude, OpenAI Chat Completions, OpenAI Responses, Google AI, Mistral, DeepSeek, Qwen, Ollama, llama.cpp; streaming or buffered, images in, reasoning out, token usage, cancellation
  • Tool calling — your BaseTool subclass, tool loop included, gated by QFuture if you want
  • MCP — client and server over stdio, Streamable HTTP or legacy SSE, sharing one tool registry; mcp-bridge CLI puts many upstream servers behind one endpoint
  • Conversation — one history, translated into each provider’s shape, portable between them
  • ACP host — any agent in the JSON registry; ships Claude Code and Codex

LLM REST API

Ask and await the answer:

auto *client = new LLMQore::ClaudeClient(
    "https://api.anthropic.com", apiKey, "claude-sonnet-4-5", this);

client->askOnce("What is Qt?").then(this, [this](const LLMQore::CompletionInfo &result) {
    m_view->setPlainText(result.fullText);
});

Or watch it arrive, which is what you want in a chat panel:

connect(client, &LLMQore::BaseClient::accumulatedReceived,
        this, [this](const LLMQore::RequestID &, const QString &answer) {
    m_view->setPlainText(answer);
});

client->ask("What is Qt?");

accumulatedReceived carries the whole answer so far; chunkReceived carries only the new delta. Both are emitted on the client’s own thread, so a direct connection into a widget or model is safe.

→ Quick Start

Tool calling

Expose a function over data the provider cannot see — the open document, the current selection, a local database:

client->tools()->addTool(new SearchCurrentFileTool(client));

conversation.addUser("Where do we handle the timeout?");
client->ask(conversation);

The client drives the loop: the model requests the tool, executeAsync runs, the result is sent back, the model answers. setMaxToolContinuations() bounds it, ten rounds by default. toolStarted and toolResultReady report progress; setExecutionGate() gates each call behind a QFuture.

→ Quick Start · LLM clients

MCP

Using external tools

Tools from an MCP server enter the same registry and reach the model through the same tool-definition array:

client->tools()->addMcpServer({.name = "filesystem", .command = "npx",
GitHub에서 전체 README 보기

설치

npx -y @modelcontextprotocol/server-filesystem /home/user
MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →

설정

{ "mcpServers": { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user"] } } }