aisuite 简介
aisuite[1] 是一个轻量级的 Python 库,用于构建大语言模型(LLM)应用,OpenCoworker 是一个基于 aisuite 构建的桌面级 AI 智能代理,不仅能与你聊天,还能主动执行真实任务:读取本地文件、收发消息(如 Slack、邮件)、生成 PDF 报告、文档或电子表格,并支持定时自动化(如每日新闻摘要)。所有数据均保留在本地设备上,用户可自由选择使用 OpenAI、Anthropic、Google 等云模型 API,或通过 Ollama 完全离线运行本地大模型。
项目整体采用分层架构:
底层是 Chat Completions API,提供统一接口支持 OpenAI、Anthropic、Google、Ollama 等十余家大模型服务商; 中间层是 Agents API + 工具包(Toolkits)+ MCP(Model Context Protocol)支持,赋予模型调用真实工具的能力; 上层是 OpenCoworker 桌面应用,作为完整参考实现,面向日常办公场景提供开箱即用的 AI 协作体验。
项目特点
核心特性
统一多模型接口:通过 provider:model格式(如openai:gpt-4o)一键切换不同大模型,无需修改业务逻辑。原生工具调用支持:只需传入普通 Python 函数,aisuite 自动处理工具描述生成、调用执行与结果回传。 预置工具包(Toolkits):内置文件操作、Git 管理、Shell 命令等沙箱化工具集,安全可控。 MCP 协议集成:无缝对接 Model Context Protocol 服务器,轻松扩展第三方工具能力。 生产级代理控制:支持工具调用策略(如人工审批)、状态持久化(内存/文件/PostgreSQL)、执行过程追踪与产物捕获。 完全本地化运行:支持通过 Ollama 使用本地大模型,确保敏感数据不出设备。
使用场景
日常办公自动化:自动生成周报、整理会议纪要、汇总邮件重点。 开发者辅助:分析代码变更、解释 Git 提交记录、自动编写文档。 信息聚合与研究:定时抓取并总结行业新闻、竞品动态或技术趋势。 本地知识库问答:基于本地文档(PDF、Word、代码等)进行上下文感知问答。 安全敏感任务处理:在不联网环境下完成数据分析、报告撰写等任务。
项目使用
编程语言版本:Python 3.9+ 操作系统要求: OpenCoworker 桌面应用:macOS 13+(Apple Silicon)或 Windows 10/11(x64) aisuite 库:跨平台(Linux/macOS/Windows) 依赖的框架或工具: 若使用云模型:需对应服务商的 API Key(OpenAI / Anthropic / Google 等) 若使用本地模型:需安装 Ollama[2] 若使用 MCP 工具:需安装 aisuite[mcp]并配置对应 MCP 服务器其他必要的配置:首次使用需在应用或代码中配置模型提供商及密钥
安装步骤
安装 aisuite Python 库(开发使用):
# 仅核心库(无具体提供商 SDK)pip install aisuite# 安装指定提供商支持(例如 Anthropic)pip install 'aisuite[anthropic]'# 安装全部提供商支持pip install 'aisuite[all]'安装 OpenCoworker 桌面应用(终端用户):
macOS 用户:下载 OpenCoworker-macos-arm64.dmg[3] 并安装 Windows 用户:下载 OpenCoworker-windows-setup.exe[4] 并运行安装程序
配置模型密钥或连接 Ollama:
启动应用后,按引导输入 API Key 或选择本地 Ollama 模型
代码示例
场景一:跨模型统一调用
import aisuite as aiclient = ai.Client()messages = [ {"role": "user", "content": "用一句话解释量子计算"}]# 一行代码切换不同模型response = client.chat.completions.create( model="openai:gpt-4o", messages=messages)print(response.choices[0].message.content)说明:通过
model="provider:name"格式,无需修改代码即可切换底层大模型。
场景二:带工具调用的智能代理
import aisuite as aifrom aisuite import Agent, Runner# 创建具备文件和 Git 工具的代理agent = Agent( name="code-analyzer", model="anthropic:claude-3-5-sonnet-20240620", instructions="你是一个严谨的代码助手,请基于代码回答问题。", tools=[*ai.toolkits.files(root="."), *ai.toolkits.git(root=".")])# 执行任务result = Runner.run(agent, "最近一次提交修改了哪些关键逻辑?请用三点总结。")print(result.final_output)说明:Agent 自动调用 Git 和文件工具获取上下文,并生成结构化回答。
相关资源
官方文档: OpenCoworker 快速入门[5] Chat Completions 快速入门[6] Agents 快速入门[7] 社区支持:Discord 讨论群[8] 相关教程:仓库内 examples/目录包含 Jupyter Notebook 示例(如tool_calling_abstraction.ipynb)
注:本文内容仅供参考,具体项目特性请参照官方 GitHub 页面的最新说明。
欢迎关注&点赞&在看,感谢你的阅读~
GitHub仓库: https://github.com/andrewyng/aisuite
[2]Ollama: https://ollama.com/
[3]OpenCoworker-macos-arm64.dmg: https://github.com/andrewyng/aisuite/releases/latest/download/OpenCoworker-macos-arm64.dmg
[4]OpenCoworker-windows-setup.exe: https://github.com/andrewyng/aisuite/releases/latest/download/OpenCoworker-windows-setup.exe
[5]OpenCoworker 快速入门: https://github.com/andrewyng/aisuite/blob/main/docs/opencoworker-quickstart.md
[6]Chat Completions 快速入门: https://github.com/andrewyng/aisuite/blob/main/docs/chat-completions-quickstart.md
[7]Agents 快速入门: https://github.com/andrewyng/aisuite/blob/main/docs/agents-quickstart.md
[8]Discord 讨论群: https://discord.gg/T6Nvn8ExSb
夜雨聆风