From 9f61aac8be2e035b3b7efbd042021a315ee9cd7c Mon Sep 17 00:00:00 2001
From: CityFun <31820853+zhengkunwang223@users.noreply.github.com>
Date: Thu, 19 Mar 2026 18:26:37 +0800
Subject: [PATCH] feat: improve the OpenClaw terminal (#12230)
---
.../ai/agents/agent/components/terminal.vue | 110 ++++++++++++++++++
frontend/src/views/ai/agents/agent/index.vue | 11 +-
2 files changed, 118 insertions(+), 3 deletions(-)
create mode 100644 frontend/src/views/ai/agents/agent/components/terminal.vue
diff --git a/frontend/src/views/ai/agents/agent/components/terminal.vue b/frontend/src/views/ai/agents/agent/components/terminal.vue
new file mode 100644
index 000000000..f9c896262
--- /dev/null
+++ b/frontend/src/views/ai/agents/agent/components/terminal.vue
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/views/ai/agents/agent/index.vue b/frontend/src/views/ai/agents/agent/index.vue
index faecf693f..c2781f9df 100644
--- a/frontend/src/views/ai/agents/agent/index.vue
+++ b/frontend/src/views/ai/agents/agent/index.vue
@@ -120,7 +120,7 @@
-
+
@@ -143,7 +143,7 @@ import ConfigDrawer from '@/views/ai/agents/agent/config/index.vue';
import AppUpgrade from '@/views/app-store/installed/upgrade/index.vue';
import TaskLog from '@/components/log/task/index.vue';
import ComposeLogs from '@/components/log/compose/index.vue';
-import TerminalDialog from '@/views/container/container/terminal/index.vue';
+import AgentTerminalDialog from '@/views/ai/agents/agent/components/terminal.vue';
import i18n from '@/lang';
import PortJumpDialog from '@/components/port-jump/index.vue';
import DockerStatus from '@/views/container/docker-status/index.vue';
@@ -307,7 +307,12 @@ const openLog = (row: AI.AgentItem) => {
const openTerminal = (row: AI.AgentItem) => {
const title = i18n.global.t('aiTools.agents.agent') + ' ' + row.name;
- dialogTerminalRef.value?.acceptParams({ containerID: row.containerName, title });
+ dialogTerminalRef.value?.acceptParams({
+ containerID: row.containerName,
+ title,
+ users: ['node', 'root'],
+ shell: '/bin/bash',
+ });
};
const openWorkDir = (row: AI.AgentItem) => {