UStackUStack
OpenBug CLI icon

OpenBug CLI

OpenBug CLI 是 AI 辅助的命令行实时调试工具:运行时自动捕获日志,搜索本地代码库,并在交互式终端回答调试问题。

OpenBug CLI

OpenBug CLI 是什么?

OpenBug CLI 是一款智能命令行调试工具,通过 AI 辅助调试运行中的应用。它将交互式终端助手与本地集群配对,在运行服务时捕获日志,然后利用这些日志和代码库回答调试问题。

核心目的是减少运行时行为(日志)与源代码之间的上下文切换。不必手动在多个终端和文件中 grep,你可以询问发生的事情,CLI 会将相关日志与本地可访问的代码关联起来。

主要特性

  • 交互式终端 AI 助手 (debug):在一个终端启动助手,在服务运行时用它询问问题。
  • 自动日志捕获与流式传输:使用 debug <command> 运行服务时,OpenBug 将日志流式传输到本地集群,用于 AI 响应。
  • 跨本地代码库的自然语言代码搜索:助手可响应问题搜索代码库,例如某个行为在哪里实现。
  • 通过共享本地集群的多服务调试:在不同终端运行不同服务;它们均连接同一集群,AI 可跨技术栈追踪问题。
  • 本地优先访问与选择性数据共享:代码库本地访问,不上传;仅 AI 查询的特定代码片段发送至服务器,日志仅在回答问题时流式传输。
  • 使用个人 API 密钥的认证请求:CLI 使用你的 API 密钥认证请求(如设置流程所述)。

如何使用 OpenBug CLI

  1. 安装 CLI
    npm install -g @openbug/cli
    
  2. 在终端 1 启动 AI 助手
    debug
    
    系统会提示登录并粘贴来自 OpenBug 应用的 API 密钥。
  3. 在其他终端启用调试运行服务。仓库中的示例:
    debug npm run dev
    debug python app.py
    debug docker-compose up
    
  4. 在终端 1 中询问调试问题,同时服务运行中。助手分析捕获日志并搜索代码库,提供针对性洞察。

若无设置即可测试,项目还提供交互式演示,逐步调试三个真实 bug。

使用场景

  • 诊断本地开发中端点失败原因:例如询问“为什么 auth 失败?”,助手可引用相关日志并定位验证逻辑。
  • 追踪跨多服务问题:在不同终端使用 debug ... 运行后端与前端(或多个后端服务);AI 可使用多服务日志解释错误传播。
  • 查找未知行为的实现点:使用自然语言问题如“Where do we handle payment webhooks?”,让助手搜索本地仓库中行为实现位置。
  • 调查运行时数据不一致:日志提示 schema 不匹配或配置错误时,让 AI 将日志行与相关代码路径关联。
  • 调试陌生代码库,无需依赖互联网搜索:助手搜索实际本地代码库,而非互联网上的通用指导。

常见问题

  • OpenBug 会上传我的整个代码库吗? 不会。文档说明代码库本地访问,从不上传;仅 AI 查询的特定代码片段发送至服务器。

  • OpenBug 何时将日志发送至服务器? 仅当 AI 需要日志回答问题时,才流式传输至服务器。

  • OpenBug 如何支持跨多服务调试? 通过共享本地集群:使用 debug <command> 在不同终端运行多个服务,它们连接同一集群,AI 可跨技术栈关联日志。

  • 我可以自托管 OpenBug 服务器吗? 可以。仓库描述自托管方法:克隆服务器仓库,用你的 OpenAI API 密钥配置,然后通过环境变量如 WEB_SOCKET_URLAPI_BASE_URL 将 CLI 指向你的服务器。

替代方案

  • 本地调试 + 日志 + 文本搜索(例如 grep/ripgrep)+ IDE 工具:输入类似(日志和源代码),但工作流依赖手动关联和导航,而非 AI 辅助的对话界面。
  • 应用性能/可观测性平台(日志和追踪仪表板):适用于查看和查询运行时数据,但通常不提供基于本地仓库的自然语言、代码感知调试。
  • 专注于仓库问答的 AI 代码助手(无运行时日志捕获):可回答代码结构问题,但无法自动捕获运行服务的日志,以将答案基于运行时行为。