【开源】Aivory:优雅使用 AI,知识库、MCP、工具调用和沙盒一次配齐的高颜值 AI 工作台

耿耿星河 2026-08-16 20:06 1

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:



  • 我的帖子已经打上 开源推广 标签:

  • 我的开源项目完整开源,无未开源部分:

  • 我的开源项目已链接认可 LINUX DO 社区:

  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:

  • 以上选择我承诺是永久有效的,接受社区和佬友监督:


以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出





接近 GPT 网页版的高完成度交互体验,让个人专注工作,也让团队能够统一管理模型、知识、工具与成本。



项目地址:



为什么做 Aivory?


现在已经有很多优秀的 AI 聊天项目,它们让接入不同模型变得越来越简单。但在实际使用中,需求通常很快就会超出“发送一段文字,等待模型回答”:



  • 希望界面像主流官方产品一样自然,而不是每天面对复杂的配置和调试信息;

  • 希望模型不仅能写 Python,还能真正执行代码、读取表格并返回生成文件;

  • 希望一次任务可以连续搜索、读取网页、分析数据,而不是每一步都由用户手动接力;

  • 希望把论文、产品资料、内部文档和项目文件整理成可检索、可引用的知识库;

  • 团队使用时,还需要成员权限、共享空间、用量统计、成本控制和统一的模型渠道;

  • 面向更多用户时,则需要注册、额度、套餐、兑换码、支付和订单管理。


这些能力通常分散在多个项目或服务中。Aivory 想做的是把它们整理成一套连贯的产品:**前台保持简单,复杂能力交给模型编排和管理员后台。**

我希望它不只是一个连接模型的聊天页面,而是一套真正适合长期使用的 AI 产品:界面清爽,交互接近 GPT 网页版;既能完成日常问答和内容创作,也能查询知识库、调用工具、连接 MCP,并在隔离的 Python 沙盒中分析数据、绘制图表和生成文件。


对于个人,它可以成为自己的 AI 工作空间;对于团队,它可以统一管理模型、成员、项目、文件和共享知识库;如果需要向更多用户开放,还可以继续使用管理员后台中的额度、套餐和支付能力。


像 GPT 网页版一样自然地使用 AI




Aivory 把对话体验放在第一位。


打开首页就可以直接提问。模型、工具、知识库、文件和图片能力都围绕输入框组织,不需要先进入一堆配置页面。流式回答、思考过程、工具状态、引用、文件产物和错误反馈会在当前对话中自然呈现。


目前已经支持:



  • GPT、Claude、Gemini、图片模型及 OpenAI 兼容模型;

  • 流式回答、Markdown、代码块、数学公式和附件预览;

  • 对话分支、重新生成、长对话上下文压缩和手动 /compact

  • 模型、工具、知识库和文件的会话级选择;

  • 图片生成、提示词优化、个人画廊和生成结果管理;

  • 桌面端与移动端响应式界面,以及 PWA 安装。


这里所说的“像 GPT 网页版”,不是说模仿页面布局,而是尽量还原方便快捷的使用体验,一次出结果的能力。复杂任务也不会把底层技术细节全部堆到用户面前。


从回答问题,到连续完成任务




Aivory 支持模型原生 Function Call,并内置搜索、网页读取、Python 执行、图片生成、记忆和 Skill 等工具。


工具不是彼此孤立的按钮。模型可以在一次回答中连续执行多个步骤,把前一个工具的结果交给下一个工具继续处理。例如:



搜索公开数据,核对来源,整理关键指标,制作图表,并生成一份可以下载的演示文稿。



模型可以依次完成:



  1. 搜索并筛选可信来源;

  2. 读取网页正文或公开数据;

  3. 使用 Python 清洗和分析数据;

  4. 绘制图表;

  5. 生成表格、报告或 PowerPoint;

  6. 在最终回答中提供文件和引用来源。



内置隔离 Python 沙盒


模型生成一段代码并不难,难的是让代码在可控环境中运行,并把结果真正交给用户。


Aivory 内置了会话级 Python 沙盒。每个对话拥有独立且可以跨轮次使用的工作区,模型可以读取用户上传的数据文件,调用 pandas、matplotlib、python-pptx 等依赖,并把生成的图表、表格、文档和演示文稿直接返回到对话中。



  • 沙盒关闭外部网络;

  • 不同对话的执行环境相互隔离;

  • 文件可以在同一对话的多轮工具调用间复用;

  • 标准输出、错误输出和异常信息实时返回;

  • 写入输出目录的文件会自动成为可预览或下载的对话产物;

  • 管理员可以检查和清理用户沙盒工作区。


这让“帮我分析这份表格”“把数据画成图”“整理成 PPT”不再停留在代码建议,而是可以直接得到结果。


Function Call 和 MCP 都可以接入**


除了内置工具,Aivory 还支持 MCP Streamable HTTP


管理员可以在后台添加 MCP 服务,配置名称、图标、描述、服务地址和请求头,并决定全局是否可用以及哪些模型默认启用。论文查询、文献检索、企业内部搜索、数据库、工单系统等外部能力,可以通过 MCP 接入,而不需要修改 Aivory 的核心代码。


用户不需要理解工具的实现来源。所有可用工具都显示在统一的工具选择器中,并保持简单的三种运行模式:



  • 自动:模型根据当前问题判断是否调用用户选中的工具;

  • 开启:允许模型主动使用当前选中的工具完成任务;

  • 关闭:本轮不提供工具调用能力。


无论处于自动还是开启模式,模型只会看到用户实际选择的工具,避免工具数量过多时干扰判断,也让用户对当前授权保持明确控制。


为真实对话设计的知识库


Aivory 的知识库不是一个独立于聊天之外的文档展示页,而是可以直接参与多轮对话的知识来源。


用户可以上传 PDF、DOCX、PPTX、XLSX、图片和文本文件。系统会解析文档结构、表格、代码与标题层级,完成分块和索引。在对话中附加知识库后,模型可以根据当前问题决定是否检索、如何生成查询,以及是否需要进行下一轮检索。


主要能力包括:



  • 向量检索与 PostgreSQL BM25 全文检索融合;

  • 根据结果相关性动态选择注入数量;

  • 可选 OpenAI 兼容 Rerank 服务重新排序;

  • 支持多轮查询,而不是限制为一次固定搜索;

  • 引用可以查看检索片段并打开原文件预览;

  • 明确区分“没有命中”和“检索发生错误”;

  • 不同 Embedding 模型的知识库不会被错误混合检索;

  • 团队可以共享知识库,同时保持个人数据与工作空间数据隔离。


知识库只有在当前对话明确选择后才会参与回答。没有附加知识库时,普通聊天流程保持不变,不会额外增加检索步骤或改变原有模型行为。


对个人而言,可以用它整理学习资料、论文、书籍和长期项目文档;对团队而言,可以沉淀产品资料、内部规范、技术文档、合同模板和常见问题。


一套产品,覆盖个人与团队两种核心场景


个人使用


个人用户可以把 Aivory 作为自己的 AI 工作空间。配置一个可用的模型 API 渠道后,就可以开始对话;搜索、知识库、MCP、Embedding、OCR 和图片模型可以根据实际需求逐步添加。

相比在多个产品之间切换,模型对话、个人知识库、文件、项目、生成图片和工具产物都可以集中管理。日常问答保持简单,需要处理复杂任务时再启用工具或沙盒。


团队使用


团队可以统一配置模型渠道、模型价格、工具权限和系统策略,不需要给每位成员分别发放和维护多个 API Key。

成员既拥有自己的个人空间,也可以在团队工作空间中共享:



  • 对话与项目;

  • 文件与知识库;

  • 团队指令和常用工作流;

  • 成员协作内容与可追溯的发送者身份。


管理员可以通过用户组控制模型和功能权限,查看按用户、模型和用途统计的用量与成本,并对工作空间资源进行管理。这一模式适合工作室、实验室、学校课题组、中小企业和需要内部 AI 助手的组织。


需要时,也能支持对外运营


如果后续希望向客户或社区用户开放,Aivory 已经提供注册、用户层级、模型配额、定时额度、永久积分、兑换码、积分套餐、支付渠道、订单审计和对账能力。

运营模块不是个人和内部团队使用的前置条件。不需要时可以保持关闭;真正有业务需求时,再逐步启用,而不必更换整套系统。


完整的管理员后台



多人使用 AI 产品时,真正影响稳定性的往往不只是模型回答,还包括渠道故障、模型配置、权限、成本、文件存储和问题排查。

Aivory 的管理员后台集中提供:



  • 渠道与模型:API 地址与密钥、模型能力、上下文窗口、价格、回退渠道、默认工具和模型控件;

  • 工具与知识库:内置工具、MCP、Skill、搜索服务、Embedding、Rerank、文档解析和知识库策略;

  • 用户与团队:用户、用户组、角色、工作空间、项目、知识库、生成图片和内容资源;

  • 额度与支付:套餐、模型配额、积分、兑换码、支付渠道、支付方式、订单和对账;

  • 用量与成本:按用户、模型和任务类型查看调用情况、费用与错误日志;

  • 系统能力:对象存储、上传策略、沙盒、OAuth、邮件、公告、日志隐私、备份与迁移。

    大多数配置保存后会在下一次请求中直接生效,日常调整不需要反复修改配置文件。


产品架构



Aivory 使用 React 作为前端、Go 作为后端,并通过统一编排器连接模型、工具、MCP、知识库和沙盒。生产环境使用 PostgreSQL 保存业务数据,Redis 负责缓存与协调,Qdrant 提供知识库向量检索。


模型密钥保存在服务端,文件可以使用本地目录或 S3 兼容对象存储。项目提供 Docker Compose 配置,适合部署到个人服务器、团队内网或云主机。首次启动后创建管理员账号,添加一个模型渠道和模型即可开始使用。


适合哪些用户?



  • 希望获得接近 GPT 网页版体验,同时能够自由选择模型的个人用户;

  • 经常分析数据、生成图表、报告或演示文稿的重度 AI 用户;

  • 需要将内部文档整理成可引用知识库的团队;

  • 希望统一管理模型渠道、成员权限和 API 成本的组织;

  • 需要通过 Function Call 或 MCP 接入业务工具的开发者;

  • 希望从内部使用逐步扩展到用户运营的项目团队。


如果只需要一个极简的 API 测试聊天框,Aivory 的功能可能偏多;如果需要的是一套可以长期使用,并能从个人自然扩展到团队的 AI 产品,它会更加合适。


项目目前仍处于持续开发阶段。如果在使用过程中遇到问题,或者对功能和体验有改进建议,欢迎在 GitHub 提交 Issue;也欢迎直接提交 PR,一起完善 Aivory。

最新回复 (6)
  • makemake 08-16 20:58
    1

    UI颜值真棒!

    请问大佬,各个支持skills导入吗?支持k8s HPA或者其他横向扩容吗?

    另外分权分域 RBAC等分权分域也设计了吗,那确实很契合一个team内使用而不是类似codex这种个人智能体了。 期待大佬的回复!

  • 耿耿星河 楼主 08-16 21:52
    2

    佬可以部署看看,有问题可以随时提!

  • 耿耿星河 楼主 08-16 21:41
    3

    支持skill导入,k8s现在正在搞,因为我开发这个也是我们团队内部用,用的人人比较少就没弄k8s。

    分权分域目前还是比较简单,没有openwebui那么全面,这个目前也在优化。

    我开发这个主要的原因就是openwebui在工具调用和沙盒方面还是不太行,另外还是有点臃肿,python性能也一般


    makemake <[email protected]>于2026年8月16日 周日21:08写道:

  • 耿耿星河 楼主 08-17 22:30
    4

    佬,RBAC差不多已经完善了,这个确实对于团队来说比较有用

  • tos 08-18 00:15
    5

    支持一下,感觉团队内部使用很合适

  • inorilzy l 08-19 12:52
    6

    看了一下前面的介绍,感觉和openwebui差不多啊,GitHub - open-webui/open-webui: User-friendly AI Interface (Supports Ollama, OpenAI API, ...) · GitHub 这个已经149k star 了,有什么明显的不同吗?

* 帖子来源Linux.do
返回