|
@@ -46,18 +46,18 @@ onBeforeUnmount(()=>{closed=true;revision++;clearTimeout(timer)})
|
|
|
<span v-if="frame" class="open-badge"><AppIcon name="external" :size="12"/>打开桌面</span>
|
|
<span v-if="frame" class="open-badge"><AppIcon name="external" :size="12"/>打开桌面</span>
|
|
|
</button>
|
|
</button>
|
|
|
<p v-if="error||state?.problem" class="problem" role="alert">{{error||state?.problem}}</p>
|
|
<p v-if="error||state?.problem" class="problem" role="alert">{{error||state?.problem}}</p>
|
|
|
- <label class="computer-select">此 Agent 使用的电脑<select aria-label="此 Agent 使用的电脑" :value="state?.enabled?'vm':'off'" :disabled="busy||state?.inUse||!!agent.remoteAgentId" @change="choose(($event.target as HTMLSelectElement).value)"><option value="off">不使用电脑</option><option value="vm">本地虚拟机</option></select></label>
|
|
|
|
|
|
|
+ <label class="computer-select">此 Agent 使用的电脑<select aria-label="此 Agent 使用的电脑" :value="state?.enabled?'vm':'off'" :disabled="busy||state?.inUse||!!agent.remoteAgentId||!!agent.temporaryGoalId" @change="choose(($event.target as HTMLSelectElement).value)"><option value="off">不使用电脑</option><option value="vm">本地虚拟机</option></select></label>
|
|
|
<template v-if="state?.enabled">
|
|
<template v-if="state?.enabled">
|
|
|
- <p>{{state.mode==='shared'?'共享虚拟机 · 与其他成员共用桌面和工作文件':'此 Agent 的独立虚拟机'}}</p>
|
|
|
|
|
|
|
+ <p>{{agent.temporaryGoalId?'临时助手的电脑由当前任务管理':state.mode==='shared'?'共享虚拟机 · 与其他成员共用桌面和工作文件':'此 Agent 的独立虚拟机'}}</p>
|
|
|
<button v-if="!state.image" class="primary" :disabled="!isAdmin" @click="emit('settings')">设置本地虚拟机</button>
|
|
<button v-if="!state.image" class="primary" :disabled="!isAdmin" @click="emit('settings')">设置本地虚拟机</button>
|
|
|
- <button v-else-if="state.container==='missing'" class="primary" :disabled="busy" @click="action('create')">创建 {{agent.name}} 的虚拟机</button>
|
|
|
|
|
- <button v-else-if="state.container==='stopped'" class="primary" :disabled="busy" @click="action('start')">启动虚拟机</button>
|
|
|
|
|
- <template v-else>
|
|
|
|
|
|
|
+ <button v-else-if="state.container==='missing'&&!agent.temporaryGoalId" class="primary" :disabled="busy" @click="action('create')">创建 {{agent.name}} 的虚拟机</button>
|
|
|
|
|
+ <button v-else-if="state.container==='stopped'&&!agent.temporaryGoalId" class="primary" :disabled="busy" @click="action('start')">启动虚拟机</button>
|
|
|
|
|
+ <template v-else-if="state.container==='running'">
|
|
|
<button class="primary" :disabled="!state.ready||busy" @click="emit('desktop',agent)">打开桌面</button>
|
|
<button class="primary" :disabled="!state.ready||busy" @click="emit('desktop',agent)">打开桌面</button>
|
|
|
<button v-if="state.mode==='per-bot'" :disabled="busy" @click="emit('workspace',agent)"><AppIcon name="panel"/>打开双桌面</button>
|
|
<button v-if="state.mode==='per-bot'" :disabled="busy" @click="emit('workspace',agent)"><AppIcon name="panel"/>打开双桌面</button>
|
|
|
<p class="control-state">{{state.controlMode==='human'?'你或其他操作者正在控制电脑':state.inUse?'Agent 正在操作':'仅查看 · 虚拟机空闲'}}</p>
|
|
<p class="control-state">{{state.controlMode==='human'?'你或其他操作者正在控制电脑':state.inUse?'Agent 正在操作':'仅查看 · 虚拟机空闲'}}</p>
|
|
|
</template>
|
|
</template>
|
|
|
- <div v-if="state.container!=='missing'" class="vm-actions"><button :disabled="busy||state.inUse" @click="action('stop')">停止虚拟机</button><button :disabled="busy||state.inUse" @click="action('recreate')">重建虚拟机</button></div>
|
|
|
|
|
|
|
+ <div v-if="state.container!=='missing'&&!agent.temporaryGoalId" class="vm-actions"><button :disabled="busy||state.inUse" @click="action('stop')">停止虚拟机</button><button :disabled="busy||state.inUse" @click="action('recreate')">重建虚拟机</button></div>
|
|
|
<p class="hint">重建会保留工作目录和浏览器资料。虚拟机空闲 5 分钟后自动停止。</p>
|
|
<p class="hint">重建会保留工作目录和浏览器资料。虚拟机空闲 5 分钟后自动停止。</p>
|
|
|
<button v-if="isAdmin" class="settings-link" @click="emit('settings')"><AppIcon name="settings" :size="14"/>本地虚拟机设置</button>
|
|
<button v-if="isAdmin" class="settings-link" @click="emit('settings')"><AppIcon name="settings" :size="14"/>本地虚拟机设置</button>
|
|
|
</template>
|
|
</template>
|