jamesrochabrun/SwiftOpenAI
一个 Swift 包,用于在 Apple 平台和 Linux 上调用 OpenAI 公开 API,并支持多种兼容 OpenAI 的服务商。
- Star
- 665
- Fork
- 130
- 未关闭 Issue
- 12
- 最近提交
- 上个月
这是什么?
SwiftOpenAI 是一个 Swift 包,把 OpenAI 的 REST 接口封装为带类型的参数和返回值,覆盖音频、Chat、Responses、Embeddings、微调、Batch、文件、图像、模型、审核,以及 Assistants、Threads、Runs、Vector Stores 等 Beta 接口。它还提供 Realtime API 客户端,通过 WebSocket 实现双向语音对话,并在 Apple 平台上附带麦克风采集和音频播放工具。
该包支持 iOS 15+、macOS 13+、watchOS 9+ 和 Linux。在 Linux 上它基于 AsyncHTTPClient 运行,可配合 Vapor 服务端框架使用。通过工厂方法,同一客户端也能连接 Azure OpenAI、Anthropic、Gemini、Ollama、Groq、xAI、OpenRouter、DeepSeek 等兼容 OpenAI 的服务商,并支持自定义地址和组织 ID。
项目通过 Swift Package Manager 分发,采用 MIT 协议。作者还基于该包提供了独立的 CLI 和 MCP 服务。
核心功能
- 01为 Chat、音频、Embeddings、图像、文件、微调和 Batch 等接口提供带类型的 Swift 封装。
- 02通过 WebSocket 支持 Realtime 语音对话,包含语音活动检测和函数工具调用。
- 03可在 iOS、macOS、watchOS 和 Linux 上运行,Linux 端基于 AsyncHTTPClient。
- 04可连接 Azure、Anthropic、Gemini、Ollama、Groq 等兼容 OpenAI 的服务商。
- 05Chat 和 Assistants 接口支持流式返回。
适用场景
- 在 iOS 或 macOS 应用中加入 OpenAI 对话或语音功能。
- 用 Realtime API 在苹果设备上构建语音助手。
- 在基于 Vapor 的 Swift 服务端中调用兼容 OpenAI 的模型服务。
标签
常见问题
- SwiftOpenAI 是什么?
- 一个 Swift 包,用于在 Apple 平台和 Linux 上调用 OpenAI 公开 API,并支持多种兼容 OpenAI 的服务商。 SwiftOpenAI 是一个 Swift 包,把 OpenAI 的 REST 接口封装为带类型的参数和返回值,覆盖音频、Chat、Responses、Embeddings、微调、Batch、文件、图像、模型、审核,以及 Assistants、Threads、Runs、Vector Stores 等 Beta 接口。它还提供 Realtime API 客户端,通过 WebSocket 实现双向语音对话,并在 Apple 平台上附带麦克风采集和音频播放工具。
- SwiftOpenAI 可以免费使用吗?用的什么许可证?
- SwiftOpenAI 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- SwiftOpenAI 还在维护吗?
- 半年内有更新。SwiftOpenAI 最近一次提交是在 2026年10月5日。
- SwiftOpenAI 适合用来做什么?
- 在 iOS 或 macOS 应用中加入 OpenAI 对话或语音功能。 用 Realtime API 在苹果设备上构建语音助手。 在基于 Vapor 的 Swift 服务端中调用兼容 OpenAI 的模型服务。
- 在哪里获取 SwiftOpenAI?
- 源代码和安装说明在 GitHub 上:https://github.com/jamesrochabrun/SwiftOpenAI
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
OpenAI 官方 Python SDK,提供同步与异步客户端,并带有完整类型定义。
非官方的 Go 语言 OpenAI API 客户端,无第三方依赖,覆盖 Responses、Chat Completions、图像和音频等接口。
一款自动化管理与启动 RWKV 大语言模型的桌面工具,并提供兼容 OpenAI API 的接口。
一个用 Go 编写的命令行工具,借助大模型生成 git 提交信息和代码审查摘要,并可自动安装 prepare-commit-msg 钩子。