项目界面

在打开任意项目后,你就可以看到项目的全局视图。

我们暂时将其分为四个区域:

左侧边栏

在左侧边栏中,默认情况下 OOMOL Studio 将展示 “资源管理器”,当然你也可以根据需求,切换到其他子视图中,如:搜索、源代码管理(git)、扩展、OOMOL 文件、OOMOL 密钥。

资源管理器

在这里你可以查看当前项目的所有 工作流(Flows)、共享区块(Shared Blocks)、文件。

工作流 / Flows

这里展示了当前项目有哪些 Flows,你可以在这里进行新增、删除、重命名、复制操作。

点击左侧图标可以更换此工作流的图标,点击右下角齿轮可以进行复制和删除操作,其中 “转换为子流区块” 的作用将在后面的章节中进行介绍。

Flow 具备名称和 id 两种标识,其中 id 必须是唯一的,名称可以重复。id 的作用提现在磁盘存储中,我们将以 id 作为目录名,而名称则是为了方便用户进行识别。

其中多个 Flow 的排序目前是通过 id 的字典序进行排序的,后续我们会提供拖拽排序的功能。

在默认情况下,如果你不填写 Flow 的名称,系统会自动将其命名为 id。

共享区块 / Shared Blocks

这块区域展示了当前项目的所有共享区块,UI 交互和上文中的工作流基本一致。这里主要使用于存放一些可以被复用的区块,比如一些常用的函数、数据处理逻辑等。

我们将在后续的章节中详细介绍共享区块的使用方法。

文件树

当前这个项目的所有文件,都存放在这里。你可以在这里进行文件的增删改查操作。

搜索

这将搜索当前项目中的所有文件内容,支持正则表达式搜索。

源代码管理

你可以在这里查看当前项目的 git 状态,并进行提交、推送、拉取等操作。我们内置了一个 SSH Agent for macOS,用于代理你本机的 SSH 密钥,避免你输入密码或配置 SSH。它可以很好的与本地的 1Password 进行集成。

信息

关于 SSH Agent,我们已经将其开源: ssh-forwardovm-ssh-agent 关于如何使用,可以参考 支持使用系统的 SSH Auth

这一功能目前仅支持 macOS

注意

需要注意的是,有时 git 的状态不会很及时,当你脱离 OOMOL Studio 去修改当前项目的文件时(增加、删除、重命名等),git 的状态不会更新。你可以通过点击左上角的刷新按钮来手动刷新。

造成这一原因目前 Linux 内核的 inotify 机制在 virtiofs 上存在问题,详情可见: https://github.com/containers/podman/issues/22343

这一问题目前只出现在 macOS 中,我们会在后续的版本中进行修复。

扩展

你可以在这里的标签页中查看当前项目的所有扩展,你也可以点击右上角的按钮安装本地的扩展。

目前 OOMOL Studio 使用的扩展源是 OpenVSX

空间

这里基本等价首页-空间,只是适配了更窄的宽度。

信息

你无法在当前的页面中创建新的挂载点,如果你想创建新的挂载点,请前往首页-空间中进行创建。

密钥

这里等价首页-密钥,只是适配了更窄的宽度。

中央视图

这里将展示当前工作流,也是平常使用率最高的区域。你可以在这个页面中进行工作流的编辑,包括运行、调试、连接等。

右上角 4 个 Icon 分别代表:

  • 运行
  • 调试
  • UI 和 YAML 互相切换
    • 工作流的底层是一个 YAML 文件,只是默认情况下我们将其转换为 UI 的形式
  • 拆分编辑器

左下角 4 个 Icon 分别代表:

  • 放大
  • 缩小
  • 适应当前视图高宽
  • 自动排版
    • 当区块和连线较多时,自动排版可以减少视觉上的混乱

右下角 4 个 Icon 分别代表:

  • 触控板和鼠标适配模式切换
    • 当你使用触控板时,我们建议可以切换到触控板适配模式
    • 当你使用鼠标时,我们建议可以切换到鼠标适配模式
  • 打开小地图
  • 全屏区域
  • 工作流设置
    • 图标
    • 标题
    • 描述

底部边栏

在这个区域中,你可以观察到运行时的日志,以及管理开发时需要用到的第三方依赖。

问题

在这里会自动收集一些代码问题和错误,以便你可以及时定位问题和错误。

输出

这里会将 OOMOL Studio 本身的一些日志信息和插件的日志输出到这个区域。一般而言,你不需要关注这个区域。

终端

这个区域可以让你在 OOMOL Studio 中使用终端,你可以在这里执行一些 Linux 命令。项目是在容器中运行的,而不是你本机的环境,所以你在这里执行的命令基本不会影响到你本机的环境。

信息

虽然环境是隔离的,但也不要做一些危险的操作,比如 rm -rf / 等,因为当你挂载了一些目录时,可能会导致你本机的文件被删除。

代码依赖管理

在这里,你可以将一些 npm / PyPI 的一些依赖安装到当前项目中。以便你可以在小脚本中引入并调用。

工作流日志

当你运行工作流时,工作流中任何的输出都会展示在这里。如果你不关注事件日志,你可以点击右上角,切换至“终端日志”,这将只展示工作流中的 stdoutstderr

项目初始化

当你导入一个新的项目时,OOMOL Studio 会自动进行项目初始化,包括

  • 下载工具包
  • 安装工具包
  • 执行项目初始化脚本
    • 由当前项目中 package.oo.yaml 文件的 scripts.bootstrap 字段定义。

工具包安装

当你安装第三方工具包时,这里会显示出安装工具包的的日志。

右侧边栏

在这个区域中,你可以在这里安装、使用一些工具包,或将当前项目发布到 OOMOL 商店。当然也可以通过 AI 助手,来完成一些工作。

工具箱

每一个工具包可能会有一个或多个区块,在上方则是工具包的名称,下方则是工具包的区块列表。除了 OOMOL Studio 内置的一些系统区块外,你都可以删除。

每一个工具包可能会有不同的版本,你可以点击下方工具包的版本号,进行升级或降级操作。

信息

当你在 Proj-A 项目中安装了 Tool-1 工具包时,你也可以在 Proj-B 项目中直接使用 Tool-1 工具包。无需重复下载安装。

只有你在工作流中真的使用了 Tool-1 工具包时,发布到 OOMOL 商店时,才会包含 Tool-1 工具包。否则不会包含。

商店

在这里你可以浏览 OOMOL 商店中的所有工具包,并进行安装。如果有一些安装包已经安装,但是版本不是最新的,也可以在这里一键升级。

当你点击任意工具包时,我们会中央区域展示这个工具包的使用说明(README).

发布

你可以在这里查看当前项目的发布情况,进行发布、导出等操作。

当你点击“保存为文件”时,OOMOL Studio 会将其保存成一个 .oomol 文件。你可以将这个文件分享给其他人,他们可以通过这个文件导入项目。

在准备发布到 OOMOL Studio 商店时,你会看到很多的字段需要填写,比如:

  • 图标
  • 描述
  • 显示名称
  • 包名
  • 版本
  • 发布类型
    • 发布类型目前有: All、Project 和 Package 三种。
    • 当以 All 发布时,等价于这个项目即可作为项目使用,也可以作为工具包使用。
    • 当以 Project 发布时,这个项目只能作为项目使用。
    • 当以 Package 发布时,这个项目只能作为工具包使用,不能作为项目使用。
  • 平台要求
    • 目前支持: All、macOS(arm64/x64)、Windows(arm64/x64-Nvidia/x64-Unlimited)
    • 当以 All 发布时,等价于这个项目/工具包可以在所有的平台中使用。
    • 当以 macOS(arm64/x64) 发布时,这个项目/工具包只能在 macOS 特定的架构中使用。
    • 当以 Windows(arm64/x64-Nvidia/x64-Unlimited) 发布时,这个项目/工具包只能在 Windows 特定的架构或只有 Nvidia 显卡中使用。
  • 源码地址
  • 发布说明

聊天

在这里你可以使用 AI 助手,来完成一些工作。目前支持以下模型:

  • Auto
    • 自动选择最佳模型
  • Gemini2.5 Flash
  • Qwen Plus
  • Qwen2.5 Max
  • Qwen3 235B