管理 Desktop 设置
设置页用于确认当前账号、切换外观主题、查看系统 AI 权益、维护内置项目,以及检查Desktop 版本和更新状态。登录入口也会出现在首页左下角账号区域中。
设置导航
设置页包含五个区域:
| 区域 | 用途 |
|---|---|
| 个人信息 | 修改账号资料,查看本地与云端项目统计和退出入口。 |
| 外观 | 切换主题和界面语言。 |
| 内置项目 | 查看、安装、更新或移除独立发布的内置 workflow。 |
| 系统AI配置 | 查看当前账号已订阅套餐、周期额度、已开启按量计费用量和账户余额。 |
| 系统偏好 | 管理开机后台启动,并查看 Desktop 版本、自动更新状态和运行诊断说明。 |
设置页侧栏宽度和隐藏状态会复用首页的本地布局偏好;这些偏好只影响当前设备上的界面表现。
个人信息
- 已登录时顶部展示真实账号摘要,账号 ID 以名称右侧的小号灰字呈现;点击整行即可打开“编辑个人资料”弹窗。
- 未登录时展示空状态和“登录账号”按钮。
- 头像、显示名称和邮箱统一在编辑弹窗中修改;内容有效且发生变化后才能保存。
- 账号 ID 使用可完整换行的等宽文本展示,不提供单独复制按钮。
- “项目概览”分别统计首页可见的本地项目和当前账号可访问的云端项目,并按 Workflow、Conversation、Kanban 展示数量。
- 页面不再展示访问令牌、登录状态或会话到期日;退出账号继续保留在独立安全区域。
- 五个设置分区使用相同的内容宽度,切换分区时页面主体不会横向跳变。
- 登录后保存的用户凭证会用于发布、拉取、远程运行、服务器历史读取,以及本地 workflow 获取当前账户的服务器 AI 配置。
- Desktop 登录签发的账号凭证初始有效期为 90 天。Desktop 启动或继续使用该凭证并成功完成服务器鉴权时,有效期会从当前时间自动向后延长 90 天,并把新的到期时间保存到当前设备。
自动延长只适用于尚未过期且未撤销的 Desktop 登录凭证;已经过期、被撤销或账号已停用时不会恢复凭证。此时 Desktop 会提示重新登录,而不是要求手工编辑 token。
Workflow Server 管理员 Key 只表示服务器管理权限,不对应具体用户,不能代替 Desktop 账号登录去读取某个账户的订阅或余额 AI 配置。Desktop 已保存的有效用户登录态会优先用于这些账户级请求。
本地开发只需在 desktop/.env 配置 WORKFLOW_DESKTOP_DEFAULT_SERVER_URL。Desktop 每次启动都会重新解析服务器地址:WORKFLOW_SERVER_URL 优先,其次是 WORKFLOW_DESKTOP_DEFAULT_SERVER_URL;已保存登录态中的用户 API Key 和账号资料会保留,但服务器地址会跟随配置更新。端口或域名调整后重启 Desktop 即可生效;如果新服务器不接受原有 API Key,Desktop 会要求重新登录。WORKFLOW_SERVER_ADMIN_KEY 和管理员 bootstrap 凭据只配置在 Server 环境中,不放入Desktop。
内置项目
“内置项目”区域列出独立发布的内置 workflow,并显示当前兼容版本、已安装版本、安装状态、更新状态和依赖关系。下载期间,每个项目会显示独立进度条、真实百分比、已下载量、总大小和实时速率;可以暂停、继续或取消下载,取消后会清理未完成文件。下载完成后,界面会切换为不确定进度,明确提示正在校验资源并注册项目。
当前兼容版本必须同时满足索引中的 minDesktopVersion、精确 Core 组件与精确 CLI 组件。Desktop 对 Core 和 CLI 分别只比较 major.minor,同线任意 patch 可直接使用;缺少组件声明、任一兼容线不匹配,或下载包中的精确依赖与索引不一致时都不会安装。旧索引仍可解析,但新 Desktop 不会选择其中缺少 components 的发布。
Desktop 不为内置资源下载设置 60 秒等应用层总时限,慢速网络可以继续传输。安装或更新期间,已有可用版本不会被未完成内容替换;失败会按当前界面语言保留行内错误和重试入口,也不会把未完成版本标记为可用。更新索引暂时不可访问时,已有安装会标记为离线可用并继续运行。
小助手与 Desktop Control 是隐藏内置项目:它们可以在设置页维护,但不会出现在首页项目列表、搜索或计数中。通常无需提前安装;从普通用户本地项目详情首次打开小助手时,Desktop 会先安装或更新它声明的 OpenCode 与 Desktop Control 依赖,再注册小助手。依赖失败时不会替换已有可用版本。
已安装的小助手依赖 OpenCode 与 Desktop Control,因此两个依赖的移除入口都会被禁用并说明原因;需要移除时先移除小助手。移除小助手不会自动移除依赖,直接使用 OpenCode 的项目和会话不受影响。
Windows x64 的 OpenCode 使用内置项目资源中已打包的原生运行时,不依赖系统 Node 或安装后的 postinstall。旧版 OpenCode 内置项目如果启动时报 spawn UNKNOWN,表示它误用了资源中的脚本桩;请在此页检查更新并安装最新 OpenCode 版本,重复安装同一个旧版本不会改变该启动文件。
系统 AI 配置
“系统AI配置”只读取当前登录账号在 Workflow Server 上的 AI 权益,不在 Desktop 本地同步或保存 Sub2API 订阅、用量、余额和密钥。
- 已订阅套餐展示名称、平台、到期时间,以及每日、每周、每月额度和使用进度。额度没有上限时显示“不限”。
- 已开启的按量计费配置展示今日用量、过去 30 天用量和总用量。
- Sub2API 账户余额在页面顶部单独展示,并由所有已开启的按量计费配置共享。
“使用偏好”列出管理员开放的全部 AI 配置,包括当前未订阅、已停用或暂时不可用的配置。使用上移、下移调整完整顺序并保存后,偏好写入当前 Workflow Server 用户账号;同一账号的 Web /settings/ai 会读取相同顺序。运行时会依次跳过不可用项,恢复后仍回到原优先级。另一端已经打开时,点击刷新或重新进入页面即可同步最新偏好。
Desktop 不提供订阅、续费、充值、启用或停用操作。点击“Web 管理”会在浏览器中打开当前 Workflow Server 的 /settings/ai 页面;所有权益变更都在该页面完成,返回 Desktop 后点击“刷新”读取最新状态。偏好回退只影响新一次 provider 选择,不会重放已经开始的模型请求。
外观
Desktop 支持三种主题:
- 跟随系统:根据系统外观自动切换。
- 浅色:使用亮灰背景、白色面板和深色正文。
- 深色:使用黑灰背景、中性灰强调色和可读的状态色;成功、等待和错误仍保留各自的语义颜色。
主题偏好保存到本地,并统一应用到 Desktop 外壳、弹窗、运行工作区和编辑器。
界面语言
Desktop 支持“跟随系统”、“简体中文”和“English”三种语言偏好。语言偏好只保存到当前设备,切换后会立即应用到 Desktop 界面、运行结果中的本地化反馈和 Desktop 内发布日志。
- 跟随系统:Desktop 读取操作系统的首选语言顺序,使用第一个受支持的中文或英文;Web 端没有 Electron 宿主时回退浏览器语言。
- 简体中文:固定使用中文界面。
- English:固定使用英文界面。
桌面系统语言调整后,重新启动 Desktop 以读取新的首选语言列表。
后台定时运行
系统偏好的“开机后台启动”默认关闭。启用后,Desktop 会随当前系统账号登录以 --background 模式启动,不自动打开主窗口;本地 Workflow 计划仍由 Electron Main 执行,不依赖 renderer 窗口存活。Desktop 使用单实例锁,手动再次启动只会恢复已有窗口,不会创建第二个调度器。可以从系统托盘恢复窗口或明确退出 Desktop。
关闭全部窗口只隐藏界面并驻留托盘,不等于退出。明确退出、关机或休眠会停止调度;再次启动或唤醒后,错过的触发不会补跑。设置保存期间开关会进入 loading 并禁止重复操作,失败时保留原值和错误提示。
版本与自动更新
系统偏好页会常驻展示“当前版本 vX.Y.Z”。发现新版本、下载中和等待安装时,还会额外展示“待更新版本 vX.Y.Z”;Desktop、Core、CLI、Server 与 Server Web 的完整历史分别维护在 Docs 的独立发布日志页面。全局状态栏右下角会并列显示 Desktop vX.Y.Z 和 Core vX.Y.Z:点击 Desktop 版本直接进入“系统偏好”的 Desktop 更新区,点击 Core 版本在浏览器打开该核心依赖对应的 Core 发布日志。已打包的 macOS 和 Windows x64 Desktop 会自动检查当前选择的更新通道,开发模式和不支持自动更新的平台会显示不可用说明。
Desktop 在每个安装包中精确绑定 Core 与 CLI。项目也必须精确声明 devDependencies.workflow-code,但运行时只比较 Core 的 major.minor 兼容线:同线 patch 或日期 Alpha 直接运行,major 或 minor 变化会在运行、恢复、定时、参数解析或结构检查前提示升级 Desktop。精确项目依赖不能写成 ^、0.2.x 或其它 range。
正式版与 Alpha 通道
Desktop 只需要安装一次。系统偏好的“更新通道”分段控件可以在“正式版”和“Alpha”之间切换,不需要另外下载安装测试包:
| 通道 | Desktop 更新源 | 默认 Workflow Server | 用途 |
|---|---|---|---|
| 正式版 | https://wfupdates.yuhe.space/desktop/stable/ | https://wfapi.yuhe.space | 默认通道,接收正式发布版本。 |
| Alpha | https://wfupdates.yuhe.space/desktop/alpha/ | https://wfalpha.yuhe.space | 提前验证 dev 与正式版之间的候选改动。 |
选择会保存到当前设备。切换完成后,Desktop 会立即改用对应更新源和 Server 地址、重新验证连接并检查更新;账号 API Key 会保留。Alpha 与正式版 Server 共用账号、项目和业务数据库,因此无需创建第二套账号,但 Alpha 代码可能包含尚未进入正式版的变化。正在检查、下载或等待安装更新时不能切换通道。
Alpha 版本使用 X.Y.Z-YYYYMMDDNNN,其中日期按上海时区生成,最后三位是当天从 001 开始的独立累加序号。更新源只保留最新三个 Alpha 制品;较旧的 Alpha 安装仍可直接检查并升级到当前最新版本。切回正式版时,Desktop 会以正式版更新源为准,必要时允许安装其当前版本。
当前版本和待更新版本各自提供“查看更新日志”。点击后会在 Desktop 内弹窗渲染该版本的完整 Markdown,并可通过“全部发布记录”打开同语言 Desktop 发布日志中的对应版本锚点。安装包同时携带中文 CHANGELOG.md 和英文 CHANGELOG.en.md,当前版本即使离线也会按界面语言显示;待更新版本日志来自当前更新源的 releaseNotes.localizations。旧更新源没有本地化字段时回退 releaseNotes.body,更新源完全没有日志时 Desktop 仍显示待更新版本号并明确提示日志缺失。
发现新版本后,状态栏会用高亮的“快速更新”入口显示目标版本。点击后直接开始下载;设置页按钮和状态栏会持续显示下载活动与进度,下载完成后入口切换为安装操作,仍需确认当前工作已保存才会重启安装。
安装完成后的首次启动会展示一次当前版本的完整更新内容。Desktop 会在当前设备记录已经看过的版本,同一版本关闭后不会重复弹出;后续仍可从系统偏好页手动查看当前版本日志。安装后说明直接复用随 Desktop 发布的历史日志,不另行维护副本。
更新状态会明确展示:
- 检查中:按钮进入 loading 并禁用重复触发。
- 有新版本:展示可用版本,用户可以开始下载。
- 下载中:展示进度条、百分比和下载大小。
- 等待安装:下载完成后,点击“重启并安装”并确认。
- 已是最新:不会重复下载或降级安装。
- 检查失败:显示可读错误信息。
macOS 自动更新要求 Workflow Code.app 位于可写的 /Applications 或 ~/Applications。如果 Desktop 仍在 Downloads、浏览器解压目录、DMG 或其它只读挂载卷中运行,下载或安装入口会被禁用并提示移动位置。
Windows x64 自动更新使用 latest.yml 与 NSIS 安装程序。检查更新、下载和重启安装入口与 macOS 共用同一个设置区;如果安装流程被系统策略或安全软件阻断,可以从 Desktop 下载 页面手动下载安装程序覆盖安装。
诊断入口
设置页不再提供“运行后自动打开 Diagram”开关。普通 workflow 或 conversation 运行后会继续停留在“运行”主视图;Trace 和 Logs 需要从输出区域、消息操作或诊断按钮手动打开。
与本地工作区的关系
Electron Desktop 按 workflowCode.projectInfo.dataStorage.mode 严格决定项目能访问的数据位置。local 只允许本地普通 KV、PersistentValue 和知识库,可不登录离线运行;server 只允许服务器存储,必须登录并绑定同 UUID 云端项目;both 允许项目代码和界面显式选择两端,只有实际访问服务器时才要求登录。禁止的位置会直接报错,不回退、复制、合并或删除另一端数据。
项目工作区中的“知识库”和“KV 数据”各自记忆当前选择。local 只显示带硬盘图标、青绿色和“本地”文字的入口;server 只显示带云图标、信息蓝和“服务器”文字的入口;both 同时显示两个分段入口。切换只改变正在查看和编辑的数据集,不会自动上传、下载、合并或同步。
本地 both 或 server 项目首次切到服务器时会打开登录流程。登录成功后,Desktop 创建或恢复同 UUID 云端绑定、同步完整项目声明,再继续切换;登录、绑定或同步失败时保留原数据源并清理服务器缓存。缺少 dataStorage.mode 的旧项目只能进入“信息”页补声明,保存时会把 Core 与 CLI 精确依赖更新为 0.2.0,但不会迁移已有数据。