微内核核心
统一请求、响应、ModelSpec、注册表、别名解析与参数策略,不包含任何供应商 HTTP 逻辑。
Microkernel · Plugins · Multi-language
PolyLLM 是一个微内核、插件化的大模型统一接入层。核心只负责协议、注册、解析与参数策略; 厂商适配独立成包,按需安装、独立演进。
Why PolyLLM
不把几十个供应商依赖塞进一个“全家桶”,而是让每个团队只安装自己需要的部分。
统一请求、响应、ModelSpec、注册表、别名解析与参数策略,不包含任何供应商 HTTP 逻辑。
OpenAI、DeepSeek、Anthropic、OpenAI-compatible 独立成包,供应商 API 变化时只更新对应插件。
ModelSpec 声明能力、参数约束、上下文窗口和快照;别名指向常用模型,快照锁定版本。
通过 CLI 启动本机可视化配置界面,选择厂商、获取模型、测试连接并生成项目配置。
Quick Start
先用本地 Studio 完成选择和配置,再把生成物放进你的项目。
npx @you-want/polyllm-cli studio
CLI 会启动 http://127.0.0.1:5177,并自动打开浏览器。
npm install @you-want/polyllm-core \
@you-want/polyllm-openai \
@you-want/polyllm-deepseek
import { createLLM } from '@you-want/polyllm-core'
import { openAIPlugin } from '@you-want/polyllm-openai'
import { deepSeekPlugin } from '@you-want/polyllm-deepseek'
const llm = createLLM({
plugins: [openAIPlugin, deepSeekPlugin],
providers: {
openai: { apiKeyEnv: 'OPENAI_API_KEY' },
deepseek: { apiKeyEnv: 'DEEPSEEK_API_KEY' },
},
paramPolicy: 'strict',
})
const response = await llm.chat('deepseek:chat', {
messages: [{ role: 'user', content: '你好,PolyLLM' }],
})
python3 -m pip install polyllm-core \
polyllm-openai \
polyllm-deepseek
import asyncio
from polyllm_core import create_llm
from polyllm_deepseek import DeepSeekPlugin
llm = create_llm(
plugins=[DeepSeekPlugin()],
providers={
'deepseek': {'api_key_env': 'DEEPSEEK_API_KEY'},
},
)
response = asyncio.run(
llm.chat(
'deepseek:chat',
messages=[{'role': 'user', 'content': '你好,PolyLLM'}],
)
)
Local Studio
polyllm.raingpt.top 不提供 API Key 输入表单。真实配置界面由 CLI 在你的电脑上启动, 模型列表探测和连接测试都从本机发出。
npx @you-want/polyllm-cli studio --port 5177
Architecture
核心层不感知供应商细节,所有差异都收敛在插件边界内。
使用统一 chat / chatStream API
Registry · Resolver · ModelSpec · ParamPolicy
Multi-language
每种语言都遵循生态习惯:TS 显式传插件,Python 类型完备,后续再扩展 Rust、Go 与 Java。
npm 包、显式插件注入、AsyncIterable 流式响应、严格类型。
可用独立 wheel、py.typed、async API、SSE 流式解析与动态自定义模型。
可用等待核心协议稳定后,按各自生态的插件加载方式逐步扩展。
规划中Security
生成物使用 apiKeyEnv / api_key_env,业务代码不持有明文密钥。
Studio 的模型列表和连通性测试通过 localhost 服务代理,不经过官网服务器。
官网没有输入框收集 Key;CLI 与插件源码开源,便于审查网络请求。