A unified LLM protocol middleware converting between OpenAI, Anthropic, Gemini and other provider formats via the Lucent IR neutral protocol
OpenAI JSON ──[decode]──► Lucent IR ──[encode]──► Anthropic JSON
Gemini JSON ◄──[encode]── Lucent IR ◄──[decode]── OpenAI JSON
│
你的代码在这里(审计 / 改写 / 路由 / 过滤)moon add morning-start/prismfn main {
// 想用哪家就写哪家:openai / responses / anthropic / gemini
let prism = Prism::new().with_provider("openai")
// 编码请求:文本 → OpenAI JSON
let req_json = prism.encode_request("你好", PrismOptions::default())
// 解码响应:OpenAI JSON → 文本
let text = prism.decode_response(resp_json)
}完整端到端场景见 USAGE.md: 嵌入 SDK(应用内转换)、网关模式(OpenAI 客户端接 Claude 后端)、流式转码、企业审计网关。
| 注册名 | 别名 | 协议 | 状态 |
|---|---|---|---|
| openai | chat | OpenAI Chat Completions | ✅ |
| responses | openai-responses | OpenAI Responses API | ✅ |
| messages | anthropic · claude-messages | Anthropic Messages API(含 extended thinking) | ✅ |
| gemini | Google Gemini API | ✅ |
match prism.decode_sse(sse_text) {
Ok(events) => for event in events {
match event {
TextDelta(s) => ui.append(s) // 流式文本
ToolCall(tc) => execute_tool(tc) // 工具调用
Thinking(t) => ui.show_thinking(t) // 推理过程
Finish(_) => break // 结束
}
}
}Install
Download zipA unified LLM protocol middleware converting between OpenAI, Anthropic, Gemini and other provider formats via the Lucent IR neutral protocol