Tabby 是一款开源的 AI 编码助手,支持本地或私有化部署,帮助开发者在保证代码与数据安全的前提下,获得接近甚至优于云端闭源产品的智能编码体验。它可无缝集成到常见 IDE 中,提供代码补全、即时问答、内联聊天等功能,让 AI 像一位全栈队友一样参与日常开发工作。

产品详细介绍

Tabby 的核心定位是“开源、自托管的 AI 编码助手”,重点解决两个问题:提升开发效率与保障数据安全。

  1. 开源与自托管
  • 完全开源:核心组件开放源代码,便于审计与二次开发。
  • 自托管部署:支持在本地服务器、企业内网或私有云中运行,无需依赖外部云服务。
  • 无需外部 DBMS:内置所需服务组件,降低部署复杂度。
  1. 安全、透明的 AI 编码体验
  • 软件供应链安全:开源可审计,降低引入第三方黑盒服务的风险。
  • 数据可控:代码与上下文留在自己的环境中,适合对合规与隐私要求高的团队。
  • 透明可配置:模型、日志、访问控制等均可按需配置。
  1. 高效的代码补全引擎
  • 上下文感知:理解当前文件、函数与周边代码结构,给出更贴合场景的补全建议。
  • 预测下一步操作:在你输入时实时预测可能的下一行或下一段代码,减少重复性输入。
  • 多语言支持:适用于多种主流编程语言和框架(如前后端、全栈场景)。
  1. IDE 内即时答案与内联聊天
  • Answer Engine(答案引擎):
    • 在 IDE 内直接提问,获得清晰的解释、示例代码或调试思路。
    • 避免频繁切换浏览器和搜索引擎,保持开发专注度。
  • 内联聊天:
    • 在代码旁边与 AI 对话,讨论实现方案、重构建议或性能优化。
    • 支持基于当前文件或项目上下文进行回答,更贴近实际工程环境。
  1. 灵活集成与运行环境
  • 支持 Cloud IDE:可集成到云端开发环境中,适合远程协作与云原生团队。
  • 消费级 GPU 支持:可在常见消费级 GPU 上运行,降低硬件门槛。
  • 易于接入现有工具链:可与现有 CI/CD、代码托管平台等配合使用。
  1. Pochi:全栈 AI 队友
  • 任务型协作:不仅给出建议,还能协助规划、执行与检查开发任务。
  • 贴合现有流程:融入现有工具与工作流,无需大幅改变团队习惯。
  • 适合全栈开发:前端、后端、脚本与基础设施代码都可获得辅助。

简单使用教程

以下为从部署到日常使用的简要流程示例(具体命令与配置以官方文档为准):

  1. 环境准备
  • 确认有一台可用的服务器或本地机器(支持 CPU 或 GPU)。
  • 安装基础环境:
    • 推荐使用 Docker / 容器环境,便于快速启动与升级。
    • 确保网络与防火墙配置允许 IDE 访问 Tabby 服务端口。
  1. 部署 Tabby 服务
  • 方式一:使用 Docker 启动(示意流程)
    • 拉取 Tabby 镜像。
    • 通过 docker run 或 docker-compose 启动服务,暴露 HTTP/HTTPS 接口。
  • 方式二:本地安装
    • 根据官方说明安装依赖(如运行时环境、模型文件等)。
    • 启动 Tabby 服务进程,记录服务地址与端口。
  1. 配置模型与资源
  • 在 Tabby 管理界面或配置文件中:
    • 选择或下载合适的代码模型(根据语言与硬件能力选择大小与类型)。
    • 配置 GPU/CPU 使用策略与并发限制,避免资源占满。
  1. 集成到 IDE
  • 安装对应 IDE 插件/扩展(如 VS Code、JetBrains 系列等)。
  • 在插件设置中:
    • 填写 Tabby 服务器地址(如 http://localhost:port 或 内网地址)。
    • 配置访问密钥或认证方式(如有)。
  • 重启 IDE 或重新加载插件,使配置生效。
  1. 使用代码补全
  • 打开项目并开始编写代码:
    • 在函数体或类中输入几行代码,Tabby 会自动给出灰色或高亮的补全建议。
    • 使用快捷键(如 Tab / Enter,视 IDE 设置而定)接受或部分接受建议。
  • 调整补全策略:
    • 在插件设置中可配置建议长度、触发方式(自动/手动)等。
  1. 使用 Answer Engine 即时问答
  • 在 IDE 中打开 Tabby 面板或命令面板:
    • 输入问题,例如“这段函数的时间复杂度是什么?”、“如何在当前框架中实现文件上传?”。
    • Tabby 会结合当前文件上下文给出解释与示例。
  • 将回答插入代码:
    • 复制示例代码到当前文件,或使用插件提供的一键插入功能(如支持)。
  1. 使用内联聊天与 Pochi
  • 在代码中选中一段函数或文件片段:
    • 右键选择“与 Tabby 聊天”或类似命令。
    • 提问如“帮我重构这段代码以提高可读性”、“为这段逻辑补充单元测试”。
  • 任务式使用 Pochi:
    • 描述一个较完整的任务,例如“为当前模块增加分页接口并更新前端调用”。
    • 让 Pochi 先给出计划,再逐步执行与检查结果。
  1. 连接数据源(可选)
  • 在 Tabby 配置中接入内部文档、API 说明或知识库:
    • 让 AI 在回答时参考团队内部文档,给出更贴合业务的建议。
  1. 日常维护与升级
  • 定期更新 Tabby 版本与模型,以获得更好的补全质量与性能。
  • 监控资源使用情况,按需调整并发与硬件配置。

FAQ 常见问题

  1. Tabby 与 GitHub Copilot 有什么区别?
  • Tabby 是开源、自托管的解决方案,可完全运行在本地或私有环境中,代码与数据不必上传到第三方云服务,更适合对安全与合规要求高的团队。
  1. Tabby 是否必须使用 GPU?
  • 否。Tabby 可在 CPU 上运行,但在 GPU 上性能与响应速度会更好。对于中小团队,可使用消费级 GPU 获得较佳体验。
  1. 支持哪些 IDE?
  • Tabby 支持主流 IDE,如 VS Code、部分 JetBrains 系列以及常见 Cloud IDE。具体支持列表与安装方式以官方插件目录为准。
  1. 会不会上传我的代码到外部服务器?
  • 默认自托管部署下,所有代码与上下文都在你自己的服务器或本地环境中处理,不会上传到外部云服务。若自行配置外部模型或服务,则需遵循相应配置与隐私策略。
  1. 如何提升补全质量?
  • 使用更适配的模型(针对常用语言与项目规模选择)。
  • 确保项目结构清晰,让 Tabby 能获取足够上下文。
  • 及时升级到最新版本,利用新的算法与优化。
  1. 团队协作场景如何使用?
  • 在团队内网部署一套 Tabby 服务,统一管理模型与资源。
  • 为每位开发者配置 IDE 插件,统一接入同一服务端。
  • 可结合权限控制与日志审计,满足企业级管理需求。
  1. Pochi 与普通补全有什么不同?
  • 普通补全偏向“下一行代码”的预测,而 Pochi 更像一位全栈队友,可以理解任务目标,协助规划步骤、执行修改并进行结果检查,更适合复杂功能开发与重构场景。