项目界面

打开任意项目后,你会进入项目的完整工作区视图。

为了便于说明,我们暂时把它分成四个区域:

左侧边栏

在左侧边栏中,OOMOL Studio 默认展示“资源管理器”。你也可以根据需要切换到其他子视图,例如:搜索、源代码管理(git)、扩展、OOMOL 空间、OOMOL 密钥。

资源管理器

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

工作流 / Flows

这里展示了当前项目中的 Flows。你可以在这里新增、删除、重命名和复制它们。

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

Flow 有名称和 id 两种标识。其中 id 必须唯一,名称可以重复。id 主要用于磁盘存储,我们会用它作为目录名;名称则主要用于界面展示和识别。

目前多个 Flow 会按 id 的字典序排序,后续可能会提供拖拽排序能力。

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

共享区块 / Shared Blocks

这块区域展示了当前项目中的所有共享区块,交互方式与上面的工作流列表基本一致。它主要用于存放可复用的区块,例如常用函数和数据处理逻辑。

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

文件树

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

搜索

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

源代码管理

你可以在这里查看当前项目的 git 状态,并执行提交、推送、拉取等操作。我们还内置了一个面向 macOS 的 SSH Agent 桥接能力,用来代理你本机的 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 文件中的 script.bootstrap 字段定义。

工具包安装

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

右侧边栏

在这个区域中,你可以安装和使用工具包,也可以发布当前项目,或者借助 AI 助手完成部分工作。

工具箱

每个工具包可能包含一个或多个区块。上方显示的是工具包名称,下方是区块列表。除 OOMOL Studio 内置的系统区块外,其他工具包都可以删除。

每个工具包都可能存在多个版本,你可以点击显示的版本号进行升级或降级。

信息

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

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

商店

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

当你点击任意工具包时,中央区域会展示该工具包的使用说明(README)。

发布

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

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

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

  • 图标
  • 描述
  • 显示名称
  • 包名
  • 版本
  • 发布类型
    • 发布类型目前有: 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