跳到主要内容

Studio 工作站

Studio 基于 VS Code OSS,提供 Electron 桌面工作站与浏览器工作站。通过标准编辑器入口打开本地文件夹、编辑源码、使用终端和管理扩展。

IDE 与 Steam 模式​

普通文件夹使用 IDE 模式;识别到 Workflow、Conversation 或 Kanban 项目后,可切换到 Steam 模式。Steam 隐藏顶部导航栏和底部状态栏,左侧固定项目运行页面,右侧标签工作区承载工具与新打开的编辑器。右上角按钮可隐藏或恢复工具区,项目页面保持运行。

工具区首次打开默认占窗口宽度的三分之一。拖动运行区与工具区之间的分隔线可调整宽度,Studio 按工作区记住调整结果,隐藏后重新打开、切换模式或重载窗口都会恢复。较窄窗口会临时限制工具区宽度,窗口变宽后恢复保存的大小。

macOS 原生窗口按钮和模式切换融入项目左侧菜单顶部;菜单收起或窗口较窄时,显示在项目标题行左侧。切回 IDE 会恢复原来的工作区布局和可见区域。

项目配置、字段编辑、重命名及项目信息等弹窗显示在窗口控件下方。较矮窗口中,弹窗正文独立滚动,标题、关闭按钮和配置保存操作保持可见;菜单或工具区显隐不影响避让。

Steam 模式下,拖动项目或工具顶部导航栏的空白区域即可移动应用窗口。工具栏左侧的 + 用于新建,右侧只保留工具区显隐按钮;按钮、标签和标题文字仍可正常点击或选择复制。

右侧工具区采用两层标签:上层切换工具,下层管理当前工具的实例。终端、浏览器、KV、知识库、项目信息、小助手、版本和运行轨迹都支持通过下层的 + 多开;打开其他项目会在右侧保留独立项目标签。每个实例可单独切换、关闭,资源查询和浏览页面各自保留。终端配置、新建分屏和重命名收纳在下层菜单中,关闭终端实例会结束对应会话;关闭终端工具标签只隐藏工具,现有会话仍可重新打开或回到 IDE 使用。

选择 编辑器 可浏览和编辑当前工作区中的项目文件。文件统一显示在下层标签栏,+ 新建空白文件;点击资源管理器中的文件、使用快速打开或选择搜索结果,都会在右侧编辑器打开。资源管理器、搜索、源代码管理等原生侧栏入口位于编辑器右侧,可拖动分隔线调整宽度。切换工具或隐藏工具区会保留文件和未保存修改;关闭文件或编辑器工具时仍会询问是否保存,切回 IDE 后可继续编辑。

开始工作台​

没有打开文件时,编辑器背景直接显示开始工作台。执行 Studio: 打开开始页 可以随时打开独立开始标签页。Untitled 保持原生空白文本编辑行为,输入、粘贴、撤销和清空都在原文件中完成。双击编辑器背景或标签栏空白处不再自动新建 Untitled;仍可通过新建文件命令或快捷键打开。

点击 新建项目 打开创建弹窗,选择 Workflow、Conversation 或 Kanban 类型,再选择最小项目或该类型的示例。可选示例包括 Hello 工作流、轮次对话、基础看板、参数化看板。在同一弹窗输入项目名称和存放目录,默认目录为用户主目录下的 Documents/steamharness-projects,也可输入其他目录或点击文件夹按钮选择。默认目录尚不存在时会在创建时自动建立;目标项目目录必须不存在,名称和目录冲突会在弹窗内提示。

点击 创建 后,选择 在新窗口打开 或 在当前窗口打开;取消选择不会生成文件。Studio 创建独立 UUID 和项目源码,在所选窗口打开项目后再自动使用 pnpm 安装依赖;没有 pnpm 时使用 npm。生成的依赖固定到兼容版本。

在 新建项目 弹窗最右侧选择 从链接导入,输入 Server Web 的版本分享链接并点击 导入,使用默认项目目录,无需选择模板或填写项目名称。模板暂时不可用时仍可选择链接导入。

首次安装依赖需要访问包仓库。安装后,四个示例均可在本地体验,无需登录或模型:Hello 流式输出文字,轮次对话保留历史并回复轮次,基础看板保存任务,参数化看板通过项目参数调整标题与完成列。

安装进度、取消和日志均在打开后的目标项目窗口中展示。失败或取消后源码仍保留在原目录,项目窗口开始页的 当前项目 提供 重试安装、打开项目文件夹 和 查看安装日志;重载窗口不会自动重新安装。从其他窗口重试时,Studio 会先打开项目窗口。安装成功后继续使用该窗口。选择新窗口时,原窗口的工作区和未保存文件保留;选择当前窗口时,沿用编辑器对未保存文件的保护。

当前项目 以卡片展示项目名称、类型、版本和目录,点击 运行项目 打开运行界面,上传按钮发布当前源码,代码按钮打开源码。最近项目 展示版本并可重新打开文件夹或工作区、移除记录。常用入口包括打开文件夹、打开工作区、下载项目、版本、小助手、Workflow 账户和设置。

当前项目、最近项目、Ctrl+R 的 打开最近、Studio 工作区、已导入关联项目、项目信息和项目选择器,统一使用 steamHarness.projectCard 中的图标、图标色和背景色。新建项目默认使用 Workflow、Conversation、Kanban 对应的类型图标,随机生成对比度至少为 4.5:1 的配色并保存到项目清单;旧项目缺少头像时使用类型默认配色。模板选择器仍使用类型图标。Studio 静态读取声明,无需运行项目或先安装项目依赖;无法识别时保留文件夹图标,已保存工作区保留工作区图标。

系统状态 展示 Studio、VS Code、实际执行的 Node、Core/CLI、账户与服务连接,以及已导入本地项目、运行中和等待输入的任务数。运行概况仅在开始页可见时每 5 秒读取;失败时保留已有结果并提示异常,不可读取的数据标记为不可用。打开 Studio 分析 展示完整历史与统计。本页不监控 CPU、内存或远程 Runner。

开始页支持中英文、深浅主题和窄分栏,文字可以选择复制,滚动条悬停显示。首次加载时显示骨架占位和加载指示,后续刷新保留已有内容;启用减少动态效果时停用加载动画。设置 studio.startPage.enabled 可关闭无文件背景的开始面板。

打开 Workflow 项目​

  1. 在项目中安装 Core 和支持 Web 宿主协议的 CLI。
  2. 在 Studio 中选择 File > Open Folder,打开项目文件夹。
  3. 点击窗口顶部的 运行项目 按钮,在编辑器标签页中打开项目界面。
  4. 选择入口、填写参数并运行;Conversation 项目直接发送消息。

项目使用自身安装的 steamharness 和 @steamharness/cli。关闭标签页会停止对应运行;再次打开可以读取保存的运行记录。底部资源与轨迹面板提供 KV、知识库和执行诊断入口。

Core Agent 通过标准输出展示协议将上下文圆环固定到输入栏右侧,悬停或键盘聚焦时通过浅灰提示框查看百分比与精确 token 数。每个会话保留自己的输出,等待确认和重新打开历史记录时仍可查看。

对话和小助手的输入区随可用高度调整;较矮窗口中的长文本、附件和主参数在输入区内滚动,底部发送与参数操作保留可见。Steam 模式的默认小助手和新建小助手标签使用相同布局。

内置小助手使用独立工作目录,提供代码工具、项目技能、长期记忆和资源卡。Studio Control 连接 VS Code 扩展宿主,可读取当前编辑器和工作区状态、查询错误与警告、打开文件并定位行列、切换已安装主题、打开终端以及文件、搜索、源代码管理或小助手视图。

小助手加载失败时,点击 重试 会立即显示正在重试和旋转图标,期间按钮不可重复点击。成功后进入对话;再次失败时显示重试失败及具体原因,并可继续重试。

小助手的工具权限中,Skills 是技能分区,List and read skill guides(skill)是读取入口;“1 个工具”表示一个入口,技能名称和数量以 list 结果为准。可以让小助手“列出可用技能”:它先用 {"action":"list"} 查看随包指南,再用 {"action":"read","skill":"workflow-generator"} 读取 SteamHarness 项目开发指南,按需通过 path 读取其中的引用文件。技能不安装到用户全局目录;执行指南中的文件修改和命令时使用相应工具。完整示例见 createSkillTools。

内置小助手启用持久会话,意外退出后恢复原运行,关闭宿主保留检查点,显式停止才持久取消。任务能力集中在底部 Trace 面板的任务、计划、记录、用量页签,原有执行轨迹继续保留。可以查看完整任务树和历史、打开子对话或分叉来源、更新计划步骤、压缩/重置上下文及分范围停止。选择 Trace 历史不切换正文,眼睛标记跟随编辑器实际打开的对话。CLI Web 不再显示任务侧栏,输入队列、补充本轮、撤回和分叉仍在对话内;主回答保持正文展示。项目可委派最多 4 个只读子 Agent,结果单次回传。Studio Control 在首次搜索授权工具时连接;Code Mode 默认关闭,由宿主显式启用。界面和操作详见 持久 Agent 与 Studio Trace。

小助手的 Permission 默认选择 Auto approve,可访问当前进程有权限的所有本地目录,包括工作区外的绝对路径。Workspace 和 Read only 将文件与检索范围限定在登记的工作区内;Read only 不提供写入、编辑和命令工具。小助手的提示词和 Studio Control 跟随每轮选择的权限,状态查询返回实际权限与目录访问范围。

编辑器操作遵循工具权限与 Build/Plan 审批,状态、诊断和关联项目查询默认自动批准;打开终端不会执行命令。会话关闭、工作区移除或信任撤销后,控制能力失效。该能力需要 Node 扩展宿主,纯浏览器扩展不可用;旧 Desktop 的 Dock、更新与开机自启等能力不提供。

项目信息与关联项目​

打开 Workflow 项目后,活动栏的 信息 显示项目类型、版本、UUID、语言与平台声明、存储位置和关联项目授权。可以复制字段值或打开项目声明文件;多项目工作区可以切换要查看的项目。

资源管理器中的 关联项目 展示项目声明的关系及导入状态。已导入的关联项目可以直接打开,尚未导入的项目会显示提示,不会自动下载或导入。

也可以让小助手查询某个项目的关联项目。它通过 get_related_projects 读取指定项目的关联别名、UUID、名称、导入状态及已核验的本地目录。项目目录遵循当前 Permission;Auto approve 下也可查询工作区外的项目。未导入或 UUID 已变化的项目会标记为不可用;远程导入返回 URI,不会当作本地目录。查询不会自动导入项目或代替双向数据授权。

运行时会使用已导入项目的目录,导入后的关系在已打开项目的下一次运行中生效。双方声明中的 UUID 必须匹配,数据和入口访问遵守目标项目的授权;仅显示“已导入”不会替代双向确认。服务器存储使用 Studio 的当前账号,本地存储使用目标项目自己的数据目录。遇到 CLI 协议不兼容提示时,更新当前项目的 @steamharness/cli 后重新打开。

Studio 的项目工具和嵌入的 CLI 页面支持英文与简体中文,并跟随 VS Code 当前显示语言。项目提供多语言名称时按该语言展示;用户输入、执行结果和日志保留原文。

上传、下载与版本​

登录 SteamHarness Server 后,点击顶部 运行项目 右侧的云上传按钮,或当前项目卡片上的上传按钮,打开上传弹窗。弹窗展示当前项目、版本、服务器和项目目录,填写多行发布说明后点击 上传;上传进度、结果和错误均在弹窗中展示,可取消上传。顶部按钮跟随当前项目,项目卡片上的按钮上传该卡片对应项目。Studio 保存该项目中尚未保存的文件,复用 CLI 打包源码,等待服务器完成静态文件校验后发布 package.json.version 对应的不可变版本;不会在服务器安装依赖、构建或执行项目。已有版本号不能覆盖,需要先修改项目版本号。上传需要工作区信任及服务器项目管理权限,数据写入权限不等于项目管理权限。

左侧活动栏的 版本 只展示当前打开项目的本地版本、服务器历史版本、最新版本标记、发布时间、上传者、发布说明、源码校验值和关联项目版本,不再选择服务器项目。多项目工作区随当前活动项目切换;尚未打开项目时显示空状态,仍可从开始页的 下载项目 选择服务器项目和版本。项目运行标签、状态栏、最近项目、关联项目及 KV、知识库与轨迹面板也会展示对应项目的版本。

Studio 登录后自动比较本地版本与服务器最新发布版本。版本 和 信息 页顶部并列展示两者;服务器版本更高时突出显示 有新版本可用 和 升级...,开始页项目卡片与状态栏也显示升级入口。版本相同显示 已是最新版本,本地版本更高则显示 本地版本较新,不会提示降级。重新聚焦窗口时按需检查,窗口活动期间每五分钟检查一次,也可使用页面右上角的刷新按钮;检查失败不会把缓存结果当作已确认的最新状态。

点击 升级... 可查看版本变化和发布说明,并选择:

  • 升级当前目录:先完整下载并校验项目组,准备就绪后保存项目文件、停止使用该项目的 Studio 运行会话,再替换源码。原源码及本地源码修改保留在同级隐藏备份目录,完成后可点击 打开源码备份。Git 信息、编辑器设置、已安装依赖、环境配置及本地 KV、PersistentValue 和文件数据继续保留,包含嵌套目录中的宿主数据。取消或替换失败时恢复原目录;若恢复也失败,会保留恢复材料并提示其位置。新的关联项目版本会重新登记,旧关联目录保留。若依赖声明变化,需重新安装依赖。
  • 下载到新目录:使用默认项目目录创建带服务器版本号的独立副本,已有目录及本地修改保留,完成后可在新窗口打开。

原地升级需要受信任的文件工作区和源码下载权限。若当前目录是另一个下载项目组的锁定关联副本,仅提供下载到新目录,保留原项目组的版本关系。升级前会重新核验服务器版本、账号和本地项目身份;不会自动安装依赖、运行项目或进行版本降级。Studio 只停止自身管理的运行会话,独立终端等外部启动的进程需先停止。

点击版本行的云下载按钮,或开始页的 下载项目,选择项目和版本。源码下载需要项目访客及以上权限。Studio 使用 Node 扩展宿主用户主目录下的 Documents/steamharness-projects,为每个项目创建 <项目名>-<版本号> 文件夹,例如 demo-1.2.3。重复下载会创建 demo-1.2.3-2、demo-1.2.3-3,已有目录及其中的修改保留。

通过分享链接导入使用相同的目录、项目组校验与防覆盖流程,只下载链接固定的版本。接收者需登录该链接所属服务器并拥有源码下载权限;未登录时 Studio 打开账户页,登录后继续导入。链接服务器与当前登录服务器不一致时会提示先登录对应服务器,不会向链接地址发送当前账号凭据。导入完成后可在新窗口打开项目,不会自动安装依赖或执行源码。

项目组中包含的关联项目也下载到各自版本目录,并登记为该副本的关联项目;已有其他版本不被替换或复用。组内任一项目都使用本组的关联副本;手动重新导入缺失目录时也会核验锁定版本。关联源码不可用或缺少授权时本次下载失败,不留下半成品目录。取消或失败会清理本次传输的临时文件。下载后可选择在新窗口打开;依赖不会自动安装,可在项目终端执行 pnpm install 后运行。上传下载需要 Node 扩展宿主,纯浏览器扩展不提供文件传输。

本地分析​

执行命令 Workflow: 打开 Studio 分析,或点击项目列表标题栏的图表按钮,打开内置 build-in-analysis Kanban。也可以将该仓库作为普通 Kanban 项目在 Studio 中运行。

看板汇总当前工作区和 Studio 已导入的本地 Workflow、Conversation 与 Kanban 项目,按实际目录去重。未导入的磁盘目录不参与统计,声明服务器存储的项目被排除,不读取服务器数据。

总览显示项目数量与类型、运行状态分布、近 14 天趋势、运行中和等待输入的任务、排队输入、成功率及平均耗时。项目表和运行表支持时间、类型、项目与状态筛选、搜索、分页和 CSV 导出;自动刷新间隔为 5 秒,可关闭。成功率按当前时间范围的已结束记录计算,未知、运行中与等待输入不进入分母。

历史来自 Studio 的 CLI 本地存储;支持活动记录的 CLI 同时提供跨窗口实时状态。旧 CLI 的未确认运行显示为未知,读取失败的项目显示为不可用,不会填充示例数据。独立浏览器和没有 Studio 连接的 CLI 不提供该数据接口。

账号与服务器​

左下角账号入口提供登录、验证和退出。通过应用设置 studio.workflow.serverUrl 选择 SteamHarness Server;登录凭据由 VS Code SecretStorage 保存,不写入项目源码。

Server Web 管理端继续提供云端项目、版本、知识库和 KV 等数据管理。打包、上传和远程管理命令见 Workspace CLI。

源码运行​

Studio 源码要求 Node 24.18.0 或更新的 24.x、npm 11 或 12,以及本机原生构建工具链。在 Studio 仓库中执行:

npm ci
npm run setup
npm run build
npm run dev

setup 默认跳过 Foundry Local / ONNX 原生运行库的 NuGet 下载。这项运行库仅用于上游聊天的本地语音听写;Studio 的编辑器和 Workflow 功能不依赖它,其它原生依赖仍正常安装。需要该语音功能时,将 FOUNDRY_LOCAL_SKIP_INSTALL 设为 0 后重新运行 npm run setup,并确保 SDK 使用的 NuGet 下载源可访问。

浏览器工作站使用 npm run dev:web。当前文档提供源码运行入口;安装包和发布通道后续单独配置。

桌面和 Web 启动会先应用内核补丁,再检查源码、依赖和环境的构建指纹;有变化时自动重建,即使上游提交号未变。更新源码后退出应用并重新运行启动命令即可;仅在应用内重载窗口不会执行这一步。构建失败时启动会停止,修复错误后重试。

项目配置​

三种项目类型均支持字段、命名配置及完整导入导出。Studio 与本地 CLI 共用本地存储,Server 按项目和账号隔离。面板关闭时 Studio Control 仍能查询和管理配置。JSON 操作、版本检查和运行快照规则见项目配置。

首次上传时可选择个人项目或具有开发者权限的归属组;组内创建不会自动提升角色。权限错误会提示当前操作不可用;组或项目撤权后需重新获得权限再重试。私有项目分享链接可在 Server Web 中申请访客权限。

项目 Server 的默认地址随 Studio 构建渠道选择:dev 使用 http://localhost:7126,alpha 与 main 使用对应的部署站点。用户在设置或登录页明确选择的地址继续优先。