UStackUStack
Ray favicon

Ray

Ray 是一个专注的桌面调试工具,能将所有调试输出整齐地归类管理,跨语言与框架,使你在不打断工作流程的情况下更快地调试。

Ray

什么是 Ray?

Ray 是什么?

Ray 是一个跨语言、跨框架的桌面调试伙伴,旨在从你的代码中收集、整理和可视化调试输出。它不是将数据直接输出到应用程序或控制台,而是在一个中心、功能丰富的环境中接收、整理并以可读、可导航的格式呈现字符串、数组、对象、查询、邮件、事件等。使用 Ray,你可以在同一个专用应用中对来自 PHP、Laravel、JavaScript 等的调试信息进行过滤、搜索、归档和分析。目标很简单:在不打断工作流的前提下保持调试体验的快速、组织性,并提供强大的工具来理解并对数据采取行动。

Ray 3.0 引入了将传统调试与 AI 辅助工作流、HTML 组件生成以及更丰富的图示表示结合的改进。该产品强调跨语言的一致性、代码编辑器导航的内联工具、远程能力以及灵活的数据可视化——同时易于团队和个人采用。

主要特性

  • 集中式调试界面:将所有调试输出集中在一个桌面应用中,而不是散落在终端和日志中。
  • 多语言和多框架支持:适用于 PHP、Laravel、JavaScript 等,保持一致的语法与工作流程。
  • 通过 SSH 的远程调试:连接远程服务器,将调试输出直接流入 Ray,实现无需修改本地代码的实时诊断。
  • 归档与检索信息:对重要输出进行保存,以便对比、审计或重现难以调试的问题。
  • 暂停与执行计时:暂停代码路径并在调用之间测量时间,以定位性能瓶颈,且无需添加额外代码。
  • 无需转储(自动输出):从查询、任务、异常等数据源自动接收输出,减少代码中的样板。
  • 跳转到 IDE:可从 Ray 直接打开相关源位置,支持多种主流 IDE,便于快速切换上下文。
  • 主题与可扩展性:可切换主题以适应你的工作流,创建宏,并通过自定义客户端或语言绑定扩展 Ray,支持未受支持的环境。
  • HTML 组件与 AI 驱动输出:让 AI 在 Ray 内生成 HTML 组件或原型,并直接与之互动。
  • Mermaid 与 ERD 图:生成结构化图表以解释复杂数据库模式,内置查看器。
  • MCP 服务器集成:为 AI 代理提供对 Windows 环境与工具的访问,用于高级自动化和生成任务。
  • Ray 3.0 新增:查看 AI 生成的内容,在应用内与 AI 输出互动,并利用改进的图表与可视化工具。
  • 跨平台兼容:Ray 在 macOS、Windows 和 Linux 上运行,提供一致的调试体验。
  • 文档与社区:附带完整文档,并拥有社区驱动的语言与框架支持生态。

如何使用 Ray

  1. 获取 Ray:请从官方网站下载并安装 Ray。许可通过 Spatie 管理,定价选项包括标准价和启动促销价(以 Ray 3.0 为准,结账处查看定价)。
  2. 安装并初始化:在开发机器上启动 Ray 桌面应用,确保 Ray 正在运行并准备接收数据。
  3. 从代码发送调试数据:使用 ray() 函数(或你语言中的等效函数)发送字符串、数组、对象、查询、邮件、事件,或你想检查的任意数据。你可以为输出标注标签以提升过滤与搜索能力。
  4. 应用内呈现浏览:Ray 将你的数据渲染为可读、结构化的格式。可按类型、来源或自定义标签筛选以缩小结果,并使用搜索功能在所有消息中定位目标。
  5. 过滤、归档与优化:为输出添加颜色或标签,将消息归档以便日后参考,并暂停/测量执行以 isolating 问题。
  6. 跳转到你的 IDE:从转储的文件直接跳转到编辑器的相关位置。Ray 支持多种流行的 IDE,便于快速导航。
  7. 利用 AI 与 HTML 组件:使用 Ray 的 AI 辅助功能生成 HTML 组件或原型,或用 Mermaid/ERD 图解释复杂数据。
  8. 扩展与自定义:如果 Ray 尚未支持你依赖的语言或框架,可以通过宏扩展 Ray,或创建自定义客户端来发送数据。
  9. 如有需要远程部署:利用通过 SSH 的远程调试监控并调试在远程服务器上运行的代码。
  10. 探索与优化:使用暂停、计时和过滤工具来定位性能问题、重现实例,并比较多次运行的输出。

使用场景

  • PHP 与 Laravel 调试:直接将 PHP 与 Laravel 运行时数据输出到 Ray,直观呈现数组与对象,并通过上下文标签检查查询。
  • JavaScript 与前端调试:捕获类似控制台的输出、API 响应与来自 Node.js 或浏览器端代码的事件,统一在一个位置。
  • 远程服务器调试:通过 SSH 调试远程服务器上的代码,将日志与输出实时流入 Ray 以供分析。
  • AI 辅助开发:让 AI 生成 HTML 组件、原型或对复杂模式的解释,并在 Ray 内使用内置查看器进行可视化。
  • 数据库与模式可视化:从数据流与查询创建 Mermaid 或 ERD 图,更好地理解数据库关系。
  • 调试工作流一致性:在 macOS、Windows 和 Linux 上保持统一的调试体验,确保团队在不同工作站上保持一致。

常见问题

  • 定价与许可模式是什么? Ray 提供付费桌面许可。以最新版本为准,价格在结账时显示,包含启动促销价。许可通常在设定期限内有效(如 1 年),通过官方许可系统(Spatie)管理。也可能提供终身许可选项,需遵循当前条款。重大版本更新前购买的许可,可能仍受先前条款约束。
  • 支持的平台有哪些? Ray 设计为跨平台,支持 macOS、Windows 和 Linux,在所有主流桌面环境中提供一致的调试体验。
  • 支持哪些语言和框架? Ray 支持 PHP、Laravel、JavaScript,以及通过语言绑定或自定义客户端支持的其他语言。产品强调在受支持语言之间保持一致的语法与工作流程。
  • 我可以远程调试或在服务器上调试吗? 可以。Ray 支持通过 SSH 进行远程调试,允许你连接到远程服务器并将调试输出直接流入 Ray,而无需在本地修改应用代码。
  • 搜索、过滤和归档如何工作? 你可以按类型、来源或自定义标签筛选消息,使用搜索在所有消息中定位项,并归档重要输出以备日后参考或对比。这有助于高效管理大量调试数据。
  • 是否有 AI 集成与 HTML 生成功能? Ray 3.0 引入了让 AI 生成 HTML 组件与图表的功能,并提供 Mermaid 与 ERD 图的内置查看器。你也可以将 AI 输出整合到调试工作流中以获得更深入的洞察。
  • 如何开始? 从官方网站下载 Ray 桌面应用,查看语言绑定文档,并通过代码中的 ray() 调用开始发送数据。如果你需要自定义或扩展 Ray,可以探索宏和自定义客户端。

其他说明

Ray 强调一种将调试输出从应用程序中分离,但仍使信息可访问、可搜索、可执行的工作流。目标是提供一个强大、可扩展且跨平台的调试环境,能够随你的项目和团队一起扩展,同时保持你的开发流程。

Ray | UStack