ling-base
Go 多模块基础库,Agent/AI 中继/语音/安全/基础设施/51 个 common 工具包
在线 Playground
在浏览器中直接体验本页相关 API,无需本地安装 Go 环境。
ling-base
Go 多模块基础库,按需引入。覆盖 Agent 框架、AI 中继、语音处理、应用启动、API 文档、安全认证、基础设施、第三方云服务与 51 个 common 工具包。
特性
- Agent 框架 (agentkit) — LLM Agent、RAG、记忆、FlowCraft 声明式运行时
- 40+ AI Provider — relay 统一 Chat / Embed / Image / Audio
- 16 TTS + 14 ASR + 8 Realtime — 完整语音链路
- 51 个 common 子包 — 日志、缓存、限流、JWT、MQ 等独立 module
- 应用框架 — bootstrap 启动器、apidocs OpenAPI 文档、lingcli 脚手架
- 第三方服务 — OCR / 审核 / 对象存储(含管理 API)/ 消息队列
- 生产级基础设施 — 限流 / 熔断 / 重试 / 缓存 / 分布式锁
在线 Playground
每个文档页顶部都有 Playground 入口,可直接在浏览器中体验:
| 类型 | 演示 | 说明 |
|---|---|---|
| AI 调用 | Chat / 流式 Chat / Embeddings | 本地 pnpm dev 走服务端代理(无 CORS);可填 Key 或配置 OPENROUTER_API_KEY |
| 安全 | TOTP / JWT / 密码哈希 / 验证码 / AES | 浏览器 WASM |
| 工具 | 压缩 / 哈希 / 校验 / 二维码 / 条形码 / ID / 随机 / 拼音 / 手机号 / 转换 / 时间 / Bloom | 本地 WASM 执行 |
| 基础设施 | 令牌桶限流 | 交互式模拟 |
WASM 演示首次加载约十几 MB;AI 演示在本地开发时由 Next.js API 代理转发,Key 不会写入日志。GitHub Pages 静态部署请使用 pnpm build:static。
快速开始
安装
go get github.com/LingByte/ling-base/relay
go get github.com/LingByte/ling-base/agentkit
go get github.com/LingByte/ling-base/common/logger
go get github.com/LingByte/ling-base/bootstrap使用 relay 中继
import (
"context"
"github.com/LingByte/ling-base/relay"
"github.com/LingByte/ling-base/relay/channel/openai"
)
client := relay.New(relay.WithProvider(openai.NewProvider("sk-xxx")))
resp, _ := client.Chat(context.Background(), &relay.ChatRequest{
Model: "gpt-4o",
Messages: []relay.Message{{Role: "user", Content: "Hello"}},
})使用 bootstrap 启动应用
import "github.com/LingByte/ling-base/bootstrap"
app := bootstrap.New("myapp", bootstrap.WithProfile(bootstrap.ProfileProd))
app.MustRegister("api", &APIServer{})
_ = app.Run()模块导航
Agent 框架
agentkit:Agent/Runner/Tool/RAG/FlowCraft
AI 中继
Chat/Embed/Image/Audio/Rerank/Tasks/Realtime
语音处理
TTS / ASR / Realtime 实时对话
应用框架
bootstrap 启动器 + apidocs + version
安全认证
TOTP / Passkey / 密码 / JWT
基础设施
限流 / 熔断 / 重试 / 缓存 / 锁
第三方服务
OCR / 审核 / 对象存储 / MQ
通用工具
51 个 common 子包完整文档
API 文档
Huma OpenAPI 一行挂载
渗透测试
27 个 Web 安全测试工具
lingcli
项目脚手架
示例
example/ 与 relay/example 演示