|
|
@@ -237,13 +237,13 @@ let cursor = 0,
|
|
|
const selected = computed(() => (typeof route.params.id === 'string' ? route.params.id : undefined))
|
|
|
const selectedTask = computed(() => typeof route.query.taskId === 'string' ? route.query.taskId : '')
|
|
|
const shell=ref<InstanceType<typeof WorkspaceShell>>(),vmWorkspace=ref<InstanceType<typeof LocalVmWorkspace>>(),desktopViewer=ref<InstanceType<typeof ComputerPanel>>()
|
|
|
-const computerOpen=ref(false),dockView=ref<'computer'|'inspector'>(),twoDesktops=ref(false),desktopAgent=ref<Agent>(),desktopBackend=ref<'desktop'|'cloud'|'vm'>()
|
|
|
+const computerOpen=ref(false),dockView=ref<'computer'|'inspector'>(),twoDesktops=ref(false),desktopAgent=ref<Agent>(),desktopBackend=ref<'desktop'|'cloud'|'vm'>(),desktopHost=ref('')
|
|
|
const creatingTask=ref(false)
|
|
|
const CREATE_TASK_VALUE='__create_task__'
|
|
|
function toggleDock(view:'computer'|'inspector'){dockView.value=dockView.value===view?undefined:view}
|
|
|
-async function openComputer(agent:Agent,backend?:'desktop'|'cloud'|'vm'){
|
|
|
+async function openComputer(agent:Agent,backend?:'desktop'|'cloud'|'vm',host?:string){
|
|
|
if(window.yaoyaoDesktop?.openComputer){try{await window.yaoyaoDesktop.openComputer(agent.id)}catch(cause){error.value=cause instanceof Error?cause.message:'无法打开电脑窗口'}return}
|
|
|
- desktopAgent.value=agent;desktopBackend.value=backend;computerOpen.value=true
|
|
|
+ desktopAgent.value=agent;desktopBackend.value=backend;desktopHost.value=host??'';computerOpen.value=true
|
|
|
}
|
|
|
async function leaveComputer(){
|
|
|
if(twoDesktops.value&&vmWorkspace.value&&!await vmWorkspace.value.close())return false
|
|
|
@@ -1017,7 +1017,7 @@ onBeforeUnmount(() => {
|
|
|
</section>
|
|
|
<WorkspaceBotPanel v-if="dockView&&active" :conversation-id="active.id" :task-id="activeTask?.id" :mode="dockView" :active="!twoDesktops" :agents="computerCandidates" :is-admin="auth.user?.role === 'admin'" @close="dockView=undefined" @changed="refresh()" @settings="shell?.openLocalVm()" @desktop="openComputer" @workspace="desktopAgent=$event;twoDesktops=true" />
|
|
|
</div>
|
|
|
- <ComputerPanel ref="desktopViewer" v-if="computerOpen&&desktopAgent" :agents="[desktopAgent]" :backend="desktopBackend" auto-take @changed="load()" @close="computerOpen=false" />
|
|
|
+ <ComputerPanel ref="desktopViewer" v-if="computerOpen&&desktopAgent" :agents="[desktopAgent]" :backend="desktopBackend" :host="desktopHost" auto-take @changed="load()" @close="computerOpen=false" />
|
|
|
<LocalVmWorkspace ref="vmWorkspace" v-if="twoDesktops&&desktopAgent" :agents="agents.filter(a=>a.execution==='computer'&&!a.archived&&!a.computerEnvironmentId)" :primary="desktopAgent.id" @close="twoDesktops=false" />
|
|
|
<FloatingResourceSearch section="groups" label="搜索聊天" :items="searchItems" tabbed @open="searchActionError = ''" @select="select">
|
|
|
<template #item-actions="{ item }">
|