{{ toast.type === 'success' ? '✓' : toast.type === 'error' ? '✗' : 'ℹ' }} {{ toast.message }}

仪表板

{{ desktopOnline ? '🟢' : '🔴' }}
{{ desktopOnline ? '桌面应用在线' : '桌面应用离线' }}
{{ stats.pending }}
等待中
{{ stats.running }}
执行中
{{ stats.success }}
成功
{{ stats.failed }}
失败

最近操作

暂无操作记录
{{ actionLabel(cmd.action) }}
{{ formatTimeShort(cmd.created_at) }}

快捷入口

快捷操作

暂无工作区,请先在「工作区」页面添加或等待桌面应用同步

批量操作

对所有工作区执行操作

命令历史

{{ refreshCountdown }}s
📭
{{ historyFilter || historySearch ? '没有匹配的命令' : '暂无命令记录' }}
{{ statusLabel(cmd.status) }} {{ actionLabel(cmd.action) }}
{{ formatTime(cmd.created_at) }}
[{{ cmd.workspace_no }}] {{ cmd.workspace_name }} 脚本: {{ cmd.params.script }} IDs: {{ cmd.params.gerrit_ids }} 命令: {{ cmd.params.command }} Jenkins: {{ cmd.params.jenkins_ref }}
命令 ID: {{ cmd.id }}
状态: {{ statusLabel(cmd.status) }}
创建时间: {{ formatTimeFull(cmd.created_at) }}
更新时间: {{ formatTimeFull(cmd.updated_at) }}
任务 ID: {{ cmd.task_id }}
设备 ID: {{ cmd.device_id }}
参数:
{{ JSON.stringify(cmd.params, null, 2) }}
执行结果:
{{ cmd.result }}

工作区管理

工作区数据来源: {{ workspaceSyncInfo }}
📦
暂无工作区
可手动添加,或等待桌面应用同步
[{{ ws.no }}] {{ ws.name }} 当前选中
设备: {{ ws.device_name || ws.device_id || '-' }} 路径: {{ ws.path }}
{{ sub.path.endsWith('/mdep') ? 'mdep' : 'vendor' }} {{ sub.path }}

设置

API 连接

Cloudflare Pages 后端 API 地址(桌面应用 Web 触发器同步数据的地址)

用于验证 Web 控制台与桌面应用之间的通信。两端需使用相同的密钥。

自动刷新

命令历史页面的自动刷新间隔

仅供参考,实际值需在桌面应用中配置

数据管理

清除命令历史
删除 KV 中的所有命令记录
清除本地缓存
清除浏览器中的设置和工作区缓存

配置指南

1. 确认「API 地址」指向 Cloudflare 后端(默认已填好)

2. 输入 API 密钥(与 Cloudflare Pages 环境变量 API_KEY 一致)

3. 点击「保存设置」后测试连接

4. 桌面应用同步的工作区和设备会自动出现

远程终端

文件浏览

加载中...
请先选择设备
空目录
名称
{{ f.is_dir ? '📁' : '📄' }} {{ f.name }}

CI 工具

查询中...
编号{{ ciBuildDetail.number ?? '-' }}
状态 {{ ciBuildDetail.building ? '进行中' : (ciBuildDetail.result || '未知') }}
URL{{ ciBuildDetail.url }}

Rebuild 参数

{{ buildGerritQueryPreview }}
未找到匹配的变更
{{ ch.status }} {{ ch.subject }}
#{{ ch.number }}
{{ ch.project }} {{ ch.branch }} {{ ch.owner }} {{ ch.updated }}
第 {{ gerritPage }} 页

编译构建

Gerrit Cherry-Pick

自定义命令

Jenkins 重建

添加工作区

{{ confirmDialog.title }}

{{ confirmDialog.message }}