openclaw-agent-dashboard 1.0.21 → 1.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -321
- package/frontend-dist/assets/index-B7XqKAxm.css +1 -0
- package/frontend-dist/assets/index-CxJaSYyo.js +24 -0
- package/{frontend → frontend-dist}/index.html +2 -1
- package/{plugin/openclaw.plugin.json → openclaw.plugin.json} +2 -2
- package/package.json +21 -13
- package/.github/workflows/release.yml +0 -56
- package/VERSION_DISPLAY_delivery.md +0 -242
- package/VERSION_DISPLAY_implementation_summary.md +0 -315
- package/design_manifest.md +0 -100
- package/docs/CHANGELOG_AGENT_MODIFICATIONS.md +0 -132
- package/docs/MAINTAINER_RELEASE_WORKFLOW.md +0 -211
- package/docs/Openclaw-Agent-Dashboard/345/217/221/345/270/203/344/270/216/346/233/264/346/226/260.md +0 -147
- package/docs/RELEASE-LATEST.md +0 -189
- package/docs/RELEASE-MODEL-CONFIG.md +0 -95
- package/docs/WINDOWS_INSTALL_TROUBLESHOOTING.md +0 -171
- package/docs/design/.gitkeep +0 -0
- package/docs/design/VERSION_DISPLAY_design.md +0 -1236
- package/docs/release-guide.md +0 -259
- package/docs/release-operations-manual.md +0 -167
- package/docs/reviews/.gitkeep +0 -0
- package/docs/reviews/approval_history.json +0 -14
- package/docs/reviews/cr_VERSION_DISPLAY.md +0 -397
- package/docs/reviews/traceability_manifest.json +0 -279
- package/docs/specs/VERSION_DISPLAY_spec.md +0 -371
- package/docs/specs/tr3-install-system.md +0 -580
- package/docs/windows-collaboration-model-paths-troubleshooting.md +0 -0
- package/frontend/package-lock.json +0 -1240
- package/frontend/package.json +0 -19
- package/frontend/src/App.vue +0 -355
- package/frontend/src/components/AgentCard.vue +0 -796
- package/frontend/src/components/AgentConfigPanel.vue +0 -539
- package/frontend/src/components/AgentDetailPanel.vue +0 -738
- package/frontend/src/components/ErrorAnalysisView.vue +0 -546
- package/frontend/src/components/ErrorCenterPanel.vue +0 -844
- package/frontend/src/components/PerformanceMonitor.vue +0 -515
- package/frontend/src/components/SettingsPanel.vue +0 -236
- package/frontend/src/components/TokenAnalysisPanel.vue +0 -683
- package/frontend/src/components/chain/ChainEdge.vue +0 -85
- package/frontend/src/components/chain/ChainNode.vue +0 -166
- package/frontend/src/components/chain/TaskChainView.vue +0 -425
- package/frontend/src/components/chain/index.ts +0 -3
- package/frontend/src/components/chain/types.ts +0 -70
- package/frontend/src/components/collaboration/CollaborationFlowSection.vue +0 -1032
- package/frontend/src/components/collaboration/CollaborationFlowWrapper.vue +0 -113
- package/frontend/src/components/common/VersionDisplay.vue +0 -187
- package/frontend/src/components/performance/PerformancePanel.vue +0 -119
- package/frontend/src/components/performance/PerformanceSection.vue +0 -1137
- package/frontend/src/components/tasks/TaskStatusSection.vue +0 -973
- package/frontend/src/components/timeline/TimelineConnector.vue +0 -31
- package/frontend/src/components/timeline/TimelineRound.vue +0 -135
- package/frontend/src/components/timeline/TimelineStep.vue +0 -691
- package/frontend/src/components/timeline/TimelineToolLink.vue +0 -109
- package/frontend/src/components/timeline/TimelineView.vue +0 -540
- package/frontend/src/components/timeline/index.ts +0 -5
- package/frontend/src/components/timeline/types.ts +0 -120
- package/frontend/src/composables/index.ts +0 -7
- package/frontend/src/composables/useDebounce.ts +0 -48
- package/frontend/src/composables/useRealtime.ts +0 -52
- package/frontend/src/composables/useState.ts +0 -52
- package/frontend/src/composables/useThrottle.ts +0 -46
- package/frontend/src/composables/useVirtualScroll.ts +0 -106
- package/frontend/src/main.ts +0 -4
- package/frontend/src/managers/EventDispatcher.ts +0 -127
- package/frontend/src/managers/RealtimeDataManager.ts +0 -302
- package/frontend/src/managers/StateManager.ts +0 -128
- package/frontend/src/managers/index.ts +0 -5
- package/frontend/src/types/collaboration.ts +0 -135
- package/frontend/src/types/index.ts +0 -20
- package/frontend/src/types/performance.ts +0 -105
- package/frontend/src/types/task.ts +0 -38
- package/frontend/vite.config.ts +0 -18
- package/legacy_code_anatomy.md +0 -518
- package/plugin/README.md +0 -99
- package/plugin/config.json.example +0 -1
- package/plugin/package.json +0 -26
- package/scripts/build-plugin.js +0 -81
- package/scripts/bundle.sh +0 -62
- package/scripts/install-plugin.sh +0 -162
- package/scripts/install-python-deps.sh +0 -226
- package/scripts/install.js +0 -684
- package/scripts/install.sh +0 -367
- package/scripts/lib/common.sh +0 -137
- package/scripts/release-pack.sh +0 -110
- package/scripts/start.js +0 -50
- package/scripts/test_available_models.py +0 -284
- package/scripts/test_version_display.sh +0 -128
- package/scripts/test_websocket_ping.py +0 -44
- package/session_registry.json +0 -58
- package/tests/.gitkeep +0 -0
- package/tests/qa_regression_report.md +0 -359
- package/tests/qa_version_display_report.md +0 -598
- /package/{src/backend → dashboard}/agents.py +0 -0
- /package/{src/backend → dashboard}/api/__init__.py +0 -0
- /package/{src/backend → dashboard}/api/agent_config_api.py +0 -0
- /package/{src/backend → dashboard}/api/agents.py +0 -0
- /package/{src/backend → dashboard}/api/agents_config.py +0 -0
- /package/{src/backend → dashboard}/api/chains.py +0 -0
- /package/{src/backend → dashboard}/api/collaboration.py +0 -0
- /package/{src/backend → dashboard}/api/debug_paths.py +0 -0
- /package/{src/backend → dashboard}/api/error_analysis.py +0 -0
- /package/{src/backend → dashboard}/api/errors.py +0 -0
- /package/{src/backend → dashboard}/api/performance.py +0 -0
- /package/{src/backend → dashboard}/api/subagents.py +0 -0
- /package/{src/backend → dashboard}/api/timeline.py +0 -0
- /package/{src/backend → dashboard}/api/version.py +0 -0
- /package/{src/backend → dashboard}/api/websocket.py +0 -0
- /package/{src/backend → dashboard}/collaboration.py +0 -0
- /package/{src/backend → dashboard}/data/__init__.py +0 -0
- /package/{src/backend → dashboard}/data/agent_config_manager.py +0 -0
- /package/{src/backend → dashboard}/data/chain_reader.py +0 -0
- /package/{src/backend → dashboard}/data/config_reader.py +0 -0
- /package/{src/backend → dashboard}/data/error_analyzer.py +0 -0
- /package/{src/backend → dashboard}/data/session_reader.py +0 -0
- /package/{src/backend → dashboard}/data/subagent_reader.py +0 -0
- /package/{src/backend → dashboard}/data/task_history.py +0 -0
- /package/{src/backend → dashboard}/data/timeline_reader.py +0 -0
- /package/{src/backend → dashboard}/data/version_info_reader.py +0 -0
- /package/{src/backend → dashboard}/errors.py +0 -0
- /package/{src/backend → dashboard}/main.py +0 -0
- /package/{src/backend → dashboard}/mechanism_reader.py +0 -0
- /package/{src/backend → dashboard}/mechanisms.py +0 -0
- /package/{src/backend → dashboard}/performance.py +0 -0
- /package/{src/backend → dashboard}/requirements.txt +0 -0
- /package/{src/backend → dashboard}/session_reader.py +0 -0
- /package/{src/backend → dashboard}/status/__init__.py +0 -0
- /package/{src/backend → dashboard}/status/change_tracker.py +0 -0
- /package/{src/backend → dashboard}/status/error_detector.py +0 -0
- /package/{src/backend → dashboard}/status/status_cache.py +0 -0
- /package/{src/backend → dashboard}/status/status_calculator.py +0 -0
- /package/{src/backend → dashboard}/status_calculator.py +0 -0
- /package/{src/backend → dashboard}/subagent_reader.py +0 -0
- /package/{src/backend → dashboard}/watchers/__init__.py +0 -0
- /package/{src/backend → dashboard}/watchers/file_watcher.py +0 -0
- /package/{plugin/index.js → index.js} +0 -0
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
// 任务状态类型定义
|
|
2
|
-
|
|
3
|
-
export type TaskStatus = 'pending' | 'running' | 'completed' | 'failed' | 'cancelled'
|
|
4
|
-
|
|
5
|
-
export interface Task {
|
|
6
|
-
id: string
|
|
7
|
-
name: string
|
|
8
|
-
task?: string // 完整任务内容(用于显示全量)
|
|
9
|
-
status: TaskStatus
|
|
10
|
-
progress: number // 0-100
|
|
11
|
-
startTime?: number
|
|
12
|
-
endTime?: number
|
|
13
|
-
agentId?: string
|
|
14
|
-
agentName?: string
|
|
15
|
-
agentWorkspace?: string // Agent 工作区路径
|
|
16
|
-
taskPath?: string
|
|
17
|
-
subtasks?: Task[]
|
|
18
|
-
error?: string
|
|
19
|
-
output?: string // 任务成功时 Agent 的输出内容
|
|
20
|
-
generatedFiles?: string[] // 本次任务生成/修改的文件路径
|
|
21
|
-
metadata?: Record<string, unknown>
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export interface TaskStatusSummary {
|
|
25
|
-
tasks: Task[]
|
|
26
|
-
total: number
|
|
27
|
-
completed: number
|
|
28
|
-
failed: number
|
|
29
|
-
running: number
|
|
30
|
-
pending: number
|
|
31
|
-
cancelled: number
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export interface TaskFilters {
|
|
35
|
-
status?: TaskStatus[]
|
|
36
|
-
search?: string
|
|
37
|
-
agentId?: string
|
|
38
|
-
}
|
package/frontend/vite.config.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { defineConfig } from 'vite'
|
|
2
|
-
import vue from '@vitejs/plugin-vue'
|
|
3
|
-
|
|
4
|
-
export default defineConfig({
|
|
5
|
-
plugins: [vue()],
|
|
6
|
-
server: {
|
|
7
|
-
proxy: {
|
|
8
|
-
'/api': {
|
|
9
|
-
target: 'http://localhost:8000',
|
|
10
|
-
changeOrigin: true
|
|
11
|
-
},
|
|
12
|
-
'/ws': {
|
|
13
|
-
target: 'ws://localhost:8000',
|
|
14
|
-
ws: true
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
})
|
package/legacy_code_anatomy.md
DELETED
|
@@ -1,518 +0,0 @@
|
|
|
1
|
-
# OpenClaw Agent Dashboard - 存量代码摸排报告
|
|
2
|
-
|
|
3
|
-
## 1. 技术栈与框架识别
|
|
4
|
-
|
|
5
|
-
### 1.1 前端技术栈
|
|
6
|
-
- **核心框架**: Vue 3 (3.4.0+) - Composition API 为主
|
|
7
|
-
- **构建工具**: Vite 5.0+ - 现代化前端构建工具
|
|
8
|
-
- **类型系统**: TypeScript 5.3+ - 类型安全开发
|
|
9
|
-
- **开发语言**: JavaScript/TypeScript
|
|
10
|
-
- **版本管理**: npm 包管理,版本 1.0.10(最新)
|
|
11
|
-
|
|
12
|
-
### 1.2 后端技术栈
|
|
13
|
-
- **Web框架**: FastAPI 0.109.0 - 现代 Python Web 框架
|
|
14
|
-
- **异步服务器**: Uvicorn 0.27.0 - ASGI 服务器
|
|
15
|
-
- **数据验证**: Pydantic 2.5.0 - 数据建模和验证
|
|
16
|
-
- **文件监控**: watchdog 3.0+ - 文件变更监听
|
|
17
|
-
- **Python版本**: 支持 3.8+(Python 依赖:fastapi、uvicorn、pydantic、python-multipart、watchdog、tzdata)
|
|
18
|
-
|
|
19
|
-
### 1.3 实时通信
|
|
20
|
-
- **WebSocket**: 原生 WebSocket 支持,包含心跳检测和断线重连
|
|
21
|
-
- **HTTP轮询**: WebSocket 失败时的回退机制
|
|
22
|
-
- **文件监听**: watchdog 监听 OpenClaw 配置文件变更,触发实时推送
|
|
23
|
-
|
|
24
|
-
### 1.4 数据存储
|
|
25
|
-
- **OpenClaw原生**: 读取 `~/.openclaw/` 目录下的配置和会话文件
|
|
26
|
-
- **Dashboard自定义**: `~/.openclaw-agent-dashboard/` 目录存储任务历史等数据
|
|
27
|
-
- **文件格式**: 主要使用 JSON 格式(.json, .jsonl)
|
|
28
|
-
|
|
29
|
-
## 2. 目录结构梳理
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
openclaw-agent-dashboard/
|
|
33
|
-
├── frontend/ # Vue 3 前端项目
|
|
34
|
-
│ ├── dist/ # 构建输出(生产版本)
|
|
35
|
-
│ ├── src/
|
|
36
|
-
│ │ ├── components/ # Vue 组件(21个)
|
|
37
|
-
│ │ │ ├── chain/ # 任务链路相关组件
|
|
38
|
-
│ │ │ ├── collaboration/ # 协作流程组件
|
|
39
|
-
│ │ │ ├── performance/ # 性能监控组件
|
|
40
|
-
│ │ │ ├── tasks/ # 任务状态组件
|
|
41
|
-
│ │ │ └── timeline/ # 时序分析组件
|
|
42
|
-
│ │ ├── composables/ # Vue 3 组合式函数
|
|
43
|
-
│ │ ├── managers/ # 前端管理器
|
|
44
|
-
│ │ │ ├── RealtimeDataManager.ts # 实时数据管理
|
|
45
|
-
│ │ │ ├── StateManager.ts # 状态管理
|
|
46
|
-
│ │ │ └── EventDispatcher.ts # 事件分发
|
|
47
|
-
│ │ └── types/ # TypeScript 类型定义
|
|
48
|
-
│ ├── package.json # 前端依赖配置
|
|
49
|
-
│ └── vite.config.ts # Vite 构建配置
|
|
50
|
-
├── src/backend/ # FastAPI 后端项目
|
|
51
|
-
│ ├── api/ # API 路由(12个模块)
|
|
52
|
-
│ │ ├── agents.py # Agent 状态 API
|
|
53
|
-
│ │ ├── collaboration.py # 协作流程 API
|
|
54
|
-
│ │ ├── performance.py # 性能监控 API
|
|
55
|
-
│ │ ├── timeline.py # 时序分析 API
|
|
56
|
-
│ │ ├── chains.py # 任务链路 API
|
|
57
|
-
│ │ ├── websocket.py # WebSocket 路由
|
|
58
|
-
│ │ ├── errors.py # 错误分析 API
|
|
59
|
-
│ │ ├── agent_config_api.py # Agent 配置 API
|
|
60
|
-
│ │ ├── subagents.py # 子 Agent API
|
|
61
|
-
│ │ ├── agents_config.py # Agent 配置管理
|
|
62
|
-
│ │ └── debug_paths.py # 调试路径 API
|
|
63
|
-
│ ├── data/ # 数据读取层(7个核心模块)
|
|
64
|
-
│ │ ├── config_reader.py # 配置读取器
|
|
65
|
-
│ │ ├── subagent_reader.py # 子 Agent 数据读取
|
|
66
|
-
│ │ ├── session_reader.py # 会话数据读取
|
|
67
|
-
│ │ ├── task_history.py # 任务历史管理
|
|
68
|
-
│ │ ├── error_analyzer.py # 错误分析器
|
|
69
|
-
│ │ ├── chain_reader.py # 链路数据读取
|
|
70
|
-
│ │ └── timeline_reader.py # 时序数据读取
|
|
71
|
-
│ ├── status/ # 状态计算模块
|
|
72
|
-
│ │ └── status_calculator.py # Agent 状态计算
|
|
73
|
-
│ ├── watchers/ # 文件监听模块
|
|
74
|
-
│ │ └── file_watcher.py # 文件变更监听
|
|
75
|
-
│ ├── requirements.txt # Python 依赖
|
|
76
|
-
│ └── main.py # FastAPI 应用入口
|
|
77
|
-
├── plugin/ # 插件打包配置
|
|
78
|
-
│ ├── dashboard/ # 后端打包目录
|
|
79
|
-
│ ├── frontend-dist/ # 前端构建输出
|
|
80
|
-
│ ├── openclaw.plugin.json # 插件元数据配置
|
|
81
|
-
│ └── package.json # 插件 npm 配置
|
|
82
|
-
├── scripts/ # 构建和安装脚本
|
|
83
|
-
│ ├── build-plugin.js # 插件打包脚本
|
|
84
|
-
│ ├── install.js # 安装脚本(跨平台)
|
|
85
|
-
│ ├── install.sh # 一键安装脚本
|
|
86
|
-
│ ├── bundle.sh # 分发打包脚本
|
|
87
|
-
│ └── lib/ # 公共函数库
|
|
88
|
-
├── docs/ # 项目文档
|
|
89
|
-
├── .github/workflows/ # CI/CD 配置
|
|
90
|
-
└── .staging/ # 工作区暂存目录
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
## 3. 核心模块与文件说明
|
|
94
|
-
|
|
95
|
-
### 3.1 后端核心模块
|
|
96
|
-
|
|
97
|
-
#### 3.1.1 API 路由模块(12个)
|
|
98
|
-
- **`agents.py`**: Agent 状态查询、输出获取
|
|
99
|
-
- **`collaboration.py`**: 协作流程数据、模型配置、多任务并行展示
|
|
100
|
-
- **`performance.py`**: 性能监控(TPM/RPM)、调用统计
|
|
101
|
-
- **`timeline.py`**: 时序分析、执行步骤追踪
|
|
102
|
-
- **`chains.py`**: 任务链路分析、Agent间任务派发关系
|
|
103
|
-
- **`websocket.py`**: WebSocket 实时通信、状态广播
|
|
104
|
-
- **`errors.py`**: 错误状态查询
|
|
105
|
-
- **`agent_config_api.py`**: Agent 配置管理(读取/更新)
|
|
106
|
-
- **`subagents.py`**: 子 Agent 状态查询
|
|
107
|
-
- **`agents_config.py`**: Agent 配置管理
|
|
108
|
-
- **`debug_paths.py`**: 调试路径查询
|
|
109
|
-
|
|
110
|
-
#### 3.1.2 数据读取层(7个核心模块)
|
|
111
|
-
- **`config_reader.py`**: OpenClaw 配置读取,支持环境变量(`OPENCLAW_STATE_DIR`, `OPENCLAW_HOME`)
|
|
112
|
-
- **`subagent_reader.py`**: 子 Agent 运行记录读取(`runs.json`)
|
|
113
|
-
- **`session_reader.py`**: 会话数据读取,工具调用分析
|
|
114
|
-
- **`task_history.py`**: 任务历史持久化,避免 `runs.json` 清空后数据丢失
|
|
115
|
-
- **`error_analyzer.py`**: 错误分析,根因追溯,修复建议
|
|
116
|
-
- **`chain_reader.py`**: 任务链路数据读取和构建
|
|
117
|
-
- **`timeline_reader.py`**: 时序数据读取,步骤解析
|
|
118
|
-
|
|
119
|
-
#### 3.1.3 状态计算模块
|
|
120
|
-
- **`status_calculator.py`**: Agent 状态计算逻辑,支持子状态(空闲/工作中/异常)
|
|
121
|
-
|
|
122
|
-
#### 3.1.4 文件监听模块
|
|
123
|
-
- **`file_watcher.py`**: 使用 watchdog 监听关键文件变更,触发 WebSocket 推送
|
|
124
|
-
|
|
125
|
-
### 3.2 前端核心模块
|
|
126
|
-
|
|
127
|
-
#### 3.2.1 Vue 组件(21个)
|
|
128
|
-
- **协作流程组件**: `CollaborationFlowWrapper.vue`, `CollaborationFlowSection.vue`
|
|
129
|
-
- **任务链路组件**: `TaskChainView.vue`, `ChainNode.vue`, `ChainEdge.vue`
|
|
130
|
-
- **时序分析组件**: `TimelineView.vue`, `TimelineStep.vue`, `TimelineConnector.vue`
|
|
131
|
-
- **性能监控组件**: `PerformancePanel.vue`, `PerformanceMonitor.vue`
|
|
132
|
-
- **任务状态组件**: `TaskStatusSection.vue`
|
|
133
|
-
- **错误分析组件**: `ErrorAnalysisView.vue`, `ErrorCenterPanel.vue`
|
|
134
|
-
- **Agent 组件**: `AgentCard.vue`, `AgentDetailPanel.vue`, `AgentConfigPanel.vue`
|
|
135
|
-
|
|
136
|
-
#### 3.2.2 前端管理器
|
|
137
|
-
- **`RealtimeDataManager.ts`**: WebSocket 连接管理,HTTP 轮询回退,事件订阅
|
|
138
|
-
- **`StateManager.ts`**: 集中状态管理和数据缓存
|
|
139
|
-
- **`EventDispatcher.ts`**: 事件分发机制
|
|
140
|
-
|
|
141
|
-
#### 3.2.3 组合式函数
|
|
142
|
-
- **`useRealtime.ts`**: 实时数据处理钩子
|
|
143
|
-
- **`useState.ts`**: 状态管理钩子
|
|
144
|
-
- **`useDebounce.ts`**: 防抖处理
|
|
145
|
-
- **`useThrottle.ts`**: 节流处理
|
|
146
|
-
- **`useVirtualScroll.ts`**: 虚拟滚动支持
|
|
147
|
-
|
|
148
|
-
### 3.3 构建和部署
|
|
149
|
-
|
|
150
|
-
#### 3.3.1 构建脚本
|
|
151
|
-
- **`build-plugin.js`**: 插件打包流程:
|
|
152
|
-
1. 构建前端(`npm run build`)
|
|
153
|
-
2. 复制 backend 到 `plugin/dashboard`
|
|
154
|
-
3. 复制 frontend/dist 到 `plugin/frontend-dist`
|
|
155
|
-
- **`install.js`**: 跨平台安装脚本,支持本地和远程模式
|
|
156
|
-
- **`bundle.sh`**: 生成可分发的压缩包
|
|
157
|
-
- **`install.sh`**: Linux/macOS 一键安装脚本
|
|
158
|
-
|
|
159
|
-
#### 3.3.2 版本管理
|
|
160
|
-
- **主版本控制**: `plugin/openclaw.plugin.json` 和 `plugin/package.json`
|
|
161
|
-
- **自动发布**: GitHub Actions 根据 git tag 自动创建 Release
|
|
162
|
-
- **一键安装**: `npx openclaw-agent-dashboard` 从 GitHub Release 下载安装
|
|
163
|
-
|
|
164
|
-
## 4. 现有功能清单
|
|
165
|
-
|
|
166
|
-
### 4.1 核心功能
|
|
167
|
-
|
|
168
|
-
#### 4.1.1 协作流程可视化
|
|
169
|
-
- **工位视图**: 以卡片形式展示主 Agent 和子 Agent 状态
|
|
170
|
-
- **实时连线**: 展示主 Agent 与子 Agent 的任务派发链路
|
|
171
|
-
- **多任务并行**: 支持展示 Agent 同时执行多个任务的状态
|
|
172
|
-
- **模型配置可视化**: 展示各 Agent 配置的模型及使用关系
|
|
173
|
-
- **最近调用光球**: 展示最近的模型调用记录
|
|
174
|
-
|
|
175
|
-
#### 4.1.2 任务状态监控
|
|
176
|
-
- **实时状态**: Agent 状态实时更新(空闲/工作中/异常)
|
|
177
|
-
- **任务进度**: 显示当前执行的任务名称和进度
|
|
178
|
-
- **子状态展示**: 详细的子状态(思考中/工具执行/等待模型/等待子代理)
|
|
179
|
-
- **异常检测**: 自动检测 Agent 异常状态并提供警告
|
|
180
|
-
|
|
181
|
-
#### 4.1.3 性能监控
|
|
182
|
-
- **TPM/RPM统计**: 实时统计每分钟Token数和请求数
|
|
183
|
-
- **调用详情**: 按分钟查看具体的调用记录和触发内容
|
|
184
|
-
- **模型使用分析**: 各模型的使用频率和性能表现
|
|
185
|
-
- **性能趋势图**: 可视化展示性能变化趋势
|
|
186
|
-
|
|
187
|
-
#### 4.1.4 错误分析
|
|
188
|
-
- **错误分类**: 自动分类错误类型(API认证、限流、模型错误、超时等)
|
|
189
|
-
- **根因分析**: 追溯错误发生的上下文和工具调用链
|
|
190
|
-
- **修复建议**: 根据错误类型提供具体的修复建议
|
|
191
|
-
- **错误统计**: 按类型、严重程度统计错误分布
|
|
192
|
-
|
|
193
|
-
#### 4.1.5 时序分析
|
|
194
|
-
- **执行时序图**: 展示用户与 Agent 的完整交互时序
|
|
195
|
-
- **LLM轮次分组**: 将交互按LLM轮次分组展示
|
|
196
|
-
- **步骤详情**: 显示每个步骤的详细信息(用户消息、思考、工具调用、结果)
|
|
197
|
-
- **性能统计**: 显示总时长、Token使用量、工具调用次数等
|
|
198
|
-
|
|
199
|
-
#### 4.1.6 任务链路分析
|
|
200
|
-
- **链路可视化**: 展示 Agent 间的任务派发链路
|
|
201
|
-
- **链路追踪**: 追踪任务从主 Agent 到子 Agent 的完整执行路径
|
|
202
|
-
- **进度监控**: 显示链路中各节点的执行状态和进度
|
|
203
|
-
- **产物展示**: 展示各节点生成的文件和产出物
|
|
204
|
-
|
|
205
|
-
### 4.2 辅助功能
|
|
206
|
-
|
|
207
|
-
#### 4.2.1 Agent 配置管理
|
|
208
|
-
- **配置查看**: 查看各 Agent 的详细配置信息
|
|
209
|
-
- **模型配置修改**: 在线修改 Agent 的主模型和备用模型
|
|
210
|
-
- **模型列表**: 获取所有可用模型列表(支持白名单过滤)
|
|
211
|
-
- **配置验证**: 配置修改前的有效性验证
|
|
212
|
-
|
|
213
|
-
#### 4.2.2 实时通信
|
|
214
|
-
- **WebSocket 连接**: 支持实时数据推送
|
|
215
|
-
- **断线重连**: 自动重连机制,支持指数退避
|
|
216
|
-
- **HTTP 轮询**: WebSocket 失败时的回退机制
|
|
217
|
-
- **心跳检测**: 定期心跳检测连接状态
|
|
218
|
-
|
|
219
|
-
#### 4.2.3 文件监听
|
|
220
|
-
- **配置监听**: 监听 OpenClaw 配置文件变更
|
|
221
|
-
- **会话监听**: 监听会话文件变更
|
|
222
|
-
- **实时更新**: 文件变更时自动推送更新
|
|
223
|
-
- **防抖处理**: 避免短时间多次变更触发频繁推送
|
|
224
|
-
|
|
225
|
-
#### 4.2.4 调试支持
|
|
226
|
-
- **调试路径**: 显示重要的文件路径信息
|
|
227
|
-
- **详细日志**: 支持调试级别的日志输出
|
|
228
|
-
- **会话详情**: 查看完整的会话交互记录
|
|
229
|
-
- **工具调用追踪**: 追踪工具调用的完整过程
|
|
230
|
-
|
|
231
|
-
## 5. 架构图(文字描述)
|
|
232
|
-
|
|
233
|
-
### 5.1 整体架构
|
|
234
|
-
|
|
235
|
-
```
|
|
236
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
237
|
-
│ OpenClaw Agent Dashboard │
|
|
238
|
-
├─────────────────────────────────────────────────────────────┤
|
|
239
|
-
│ 前端层 (Vue 3 + TypeScript) │
|
|
240
|
-
│ ├── App.vue (主应用) │
|
|
241
|
-
│ ├── 组件层 (21个Vue组件) │
|
|
242
|
-
│ │ ├── 协作流程组件 │
|
|
243
|
-
│ │ ├── 任务链路组件 │
|
|
244
|
-
│ │ ├── 性能监控组件 │
|
|
245
|
-
│ │ ├── 时序分析组件 │
|
|
246
|
-
│ │ └── 其他功能组件 │
|
|
247
|
-
│ ├── 管理器层 │
|
|
248
|
-
│ │ ├── RealtimeDataManager (实时数据) │
|
|
249
|
-
│ │ ├── StateManager (状态管理) │
|
|
250
|
-
│ │ └── EventDispatcher (事件分发) │
|
|
251
|
-
│ └── 组合式函数 │
|
|
252
|
-
├─────────────────────────────────────────────────────────────┤
|
|
253
|
-
│ 通信层 (WebSocket + HTTP) │
|
|
254
|
-
│ ├── WebSocket 连接管理 │
|
|
255
|
-
│ ├── HTTP 请求封装 │
|
|
256
|
-
│ ├── 断线重连机制 │
|
|
257
|
-
│ └── 心跳检测 │
|
|
258
|
-
├─────────────────────────────────────────────────────────────┤
|
|
259
|
-
│ 后端层 (FastAPI + Python) │
|
|
260
|
-
│ ├── API 路由层 (12个模块) │
|
|
261
|
-
│ │ ├── agents API │
|
|
262
|
-
│ │ ├── collaboration API │
|
|
263
|
-
│ │ ├── performance API │
|
|
264
|
-
│ │ ├── timeline API │
|
|
265
|
-
│ │ ├── chains API │
|
|
266
|
-
│ │ ├── websocket API │
|
|
267
|
-
│ │ └── 其他 API │
|
|
268
|
-
│ ├── 数据读取层 (7个核心模块) │
|
|
269
|
-
│ │ ├── config_reader (配置读取) │
|
|
270
|
-
│ │ ├── subagent_reader (子Agent数据) │
|
|
271
|
-
│ │ ├── session_reader (会话数据) │
|
|
272
|
-
│ │ ├── error_analyzer (错误分析) │
|
|
273
|
-
│ │ ├── chain_reader (链路数据) │
|
|
274
|
-
│ │ └── timeline_reader (时序数据) │
|
|
275
|
-
│ ├── 业务逻辑层 │
|
|
276
|
-
│ │ ├── status_calculator (状态计算) │
|
|
277
|
-
│ │ └── file_watcher (文件监听) │
|
|
278
|
-
│ └── FastAPI 应用入口 │
|
|
279
|
-
├─────────────────────────────────────────────────────────────┤
|
|
280
|
-
│ 数据存储层 │
|
|
281
|
-
│ ├── OpenClaw 原生数据 │
|
|
282
|
-
│ │ ├── ~/.openclaw/openclaw.json │
|
|
283
|
-
│ │ ├── ~/.openclaw/agents/*/sessions/ │
|
|
284
|
-
│ │ ├── ~/.openclaw/subagents/runs.json │
|
|
285
|
-
│ │ └── ... │
|
|
286
|
-
│ └── Dashboard 自定义数据 │
|
|
287
|
-
│ └── ~/.openclaw-agent-dashboard/ │
|
|
288
|
-
├─────────────────────────────────────────────────────────────┤
|
|
289
|
-
│ 插件部署层 │
|
|
290
|
-
│ ├── 构建脚本 (build-plugin.js) │
|
|
291
|
-
│ ├── 安装脚本 (install.js, install.sh) │
|
|
292
|
-
│ ├── 插件配置 (openclaw.plugin.json) │
|
|
293
|
-
│ └── CI/CD (.github/workflows/) │
|
|
294
|
-
└─────────────────────────────────────────────────────────────┘
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
### 5.2 数据流向
|
|
298
|
-
|
|
299
|
-
```
|
|
300
|
-
用户浏览器 ←→ 前端Vue应用 ←→ WebSocket/HTTP ←→ FastAPI后端 ←→ 数据存储层
|
|
301
|
-
│ │ │ │
|
|
302
|
-
│ │ │ ┌──────┴──────┐
|
|
303
|
-
│ │ │ │ OpenClaw │
|
|
304
|
-
│ │ │ │ 原生数据 │
|
|
305
|
-
│ │ │ └─────────────┘
|
|
306
|
-
│ │ │ │
|
|
307
|
-
│ │ │ ┌──────┴──────┐
|
|
308
|
-
│ │ │ │ Dashboard │
|
|
309
|
-
│ │ │ │ 自定义数据│
|
|
310
|
-
│ │ │ └─────────────┘
|
|
311
|
-
│ │ │ │
|
|
312
|
-
│ │ ┌────────▼─────────┐ │
|
|
313
|
-
│ │ │ 文件监听服务 │ │
|
|
314
|
-
│ │ │ (watchdog) │ │
|
|
315
|
-
│ │ └──────────────────┘ │
|
|
316
|
-
│ │ │
|
|
317
|
-
│ ┌─────▼─────┐ │
|
|
318
|
-
│ │ 实时数据 │ │
|
|
319
|
-
│ │ 管理器 │ │
|
|
320
|
-
│ └───────────┘ │
|
|
321
|
-
│ │
|
|
322
|
-
└─────┬────────────┘
|
|
323
|
-
│
|
|
324
|
-
用户界面展示
|
|
325
|
-
```
|
|
326
|
-
|
|
327
|
-
### 5.3 实时通信架构
|
|
328
|
-
|
|
329
|
-
```
|
|
330
|
-
┌─────────────────┐ WebSocket连接 ┌─────────────────┐
|
|
331
|
-
│ 前端组件 │ ←────────────────→ │ FastAPI后端 │
|
|
332
|
-
│ │ │ │
|
|
333
|
-
│ • Realtime │ │ • WebSocket │
|
|
334
|
-
│ DataManager │ │ 路由 │
|
|
335
|
-
│ • 状态更新 │ │ • 文件监听 │
|
|
336
|
-
│ • 事件订阅 │ │ 触发推送 │
|
|
337
|
-
└─────────────────┘ └─────────────────┘
|
|
338
|
-
│ │
|
|
339
|
-
│ │
|
|
340
|
-
▼ ▼
|
|
341
|
-
HTTP轮询回退 数据变更监听
|
|
342
|
-
(WebSocket失败时) (watchdog)
|
|
343
|
-
```
|
|
344
|
-
|
|
345
|
-
## 6. 扩展点分析
|
|
346
|
-
|
|
347
|
-
### 6.1 高优先级扩展点
|
|
348
|
-
|
|
349
|
-
#### 6.1.1 新增可视化面板(UI扩展)
|
|
350
|
-
**位置**: `frontend/src/components/` 和 `frontend/src/App.vue`
|
|
351
|
-
**扩展方式**: 新增 Vue 组件并在主应用中注册
|
|
352
|
-
**优势点**:
|
|
353
|
-
- 组件化架构清晰,易于扩展
|
|
354
|
-
- 已有统一的样式系统和布局管理
|
|
355
|
-
- 实时数据管理器支持新模块的事件订阅
|
|
356
|
-
|
|
357
|
-
**建议扩展**:
|
|
358
|
-
- 日志分析面板:实时展示 Agent 执行日志
|
|
359
|
-
- 资源监控面板:CPU、内存、磁盘使用率
|
|
360
|
-
- 网络监控面板:API 响应时间、成功率统计
|
|
361
|
-
|
|
362
|
-
#### 6.1.2 新增 API 数据源(后端扩展)
|
|
363
|
-
**位置**: `src/backend/api/` 和 `src/backend/data/`
|
|
364
|
-
**扩展方式**: 新增 API 路由模块和数据读取模块
|
|
365
|
-
**优势点**:
|
|
366
|
-
- 现有 API 架构规范,易于遵循
|
|
367
|
-
- 数据读取层有成熟的配置读取模式
|
|
368
|
-
- WebSocket 实时推送机制完善
|
|
369
|
-
|
|
370
|
-
**建议扩展**:
|
|
371
|
-
- 系统监控 API:读取系统性能指标
|
|
372
|
-
- 日志分析 API:解析和分类日志文件
|
|
373
|
-
- 告警管理 API:配置和管理告警规则
|
|
374
|
-
|
|
375
|
-
#### 6.1.3 新增分析模块(算法扩展)
|
|
376
|
-
**位置**: `src/backend/data/` 和 `src/backend/status/`
|
|
377
|
-
**扩展方式**: 新增分析器模块,遵循现有错误分析器模式
|
|
378
|
-
**优势点**:
|
|
379
|
-
- 已有错误分析器的完整实现模式
|
|
380
|
-
- 状态计算器支持复杂的状态判断逻辑
|
|
381
|
-
- 结果可通过 WebSocket 实时推送
|
|
382
|
-
|
|
383
|
-
**建议扩展**:
|
|
384
|
-
- 性能瓶颈分析器:识别性能问题的根因
|
|
385
|
-
- 异常行为检测器:基于历史数据检测异常模式
|
|
386
|
-
- 智能推荐分析器:基于错误类型提供智能优化建议
|
|
387
|
-
|
|
388
|
-
### 6.2 中优先级扩展点
|
|
389
|
-
|
|
390
|
-
#### 6.2.1 配置管理增强
|
|
391
|
-
**位置**: `src/backend/data/agent_config_manager.py` 和相关 API
|
|
392
|
-
**扩展方式**: 扩展现有的配置管理功能
|
|
393
|
-
**优势点**:
|
|
394
|
-
- 已有完整的配置读写机制
|
|
395
|
-
- 支持配置备份和回滚
|
|
396
|
-
- 前端有现成的配置界面组件
|
|
397
|
-
|
|
398
|
-
**建议扩展**:
|
|
399
|
-
- 批量配置修改:支持同时修改多个 Agent 的配置
|
|
400
|
-
- 配置模板管理:创建和应用配置模板
|
|
401
|
-
- 配置版本管理:跟踪配置变更历史
|
|
402
|
-
|
|
403
|
-
#### 6.2.2 告警功能扩展
|
|
404
|
-
**位置**: 新增 `src/backend/api/alerts.py` 和相关组件
|
|
405
|
-
**扩展方式**: 基于现有的状态计算和错误分析机制
|
|
406
|
-
**优势点**:
|
|
407
|
-
- 可复用现有的状态计算逻辑
|
|
408
|
-
- 错误分析已提供分类基础
|
|
409
|
-
- WebSocket 支持实时告警推送
|
|
410
|
-
|
|
411
|
-
**建议扩展**:
|
|
412
|
-
- 告警规则配置:支持自定义告警条件和阈值
|
|
413
|
-
- 告警通知渠道:邮件、Webhook、钉钉等
|
|
414
|
-
- 告警历史和统计分析
|
|
415
|
-
|
|
416
|
-
#### 6.2.3 数据导出功能
|
|
417
|
-
**位置**: 扩展现有 API 模块,新增导出端点
|
|
418
|
-
**扩展方式**: 在现有 API 基础上增加数据导出功能
|
|
419
|
-
**优势点**:
|
|
420
|
-
- 现有数据读取层提供完整的数据访问
|
|
421
|
-
- 支持多种数据格式(JSON、CSV、Excel)
|
|
422
|
-
- 可基于现有查询结果进行导出
|
|
423
|
-
|
|
424
|
-
**建议扩展**:
|
|
425
|
-
- 性能数据导出:支持不同时间范围的性能数据导出
|
|
426
|
-
- 错误日志导出:支持按时间、类型筛选的错误日志导出
|
|
427
|
-
- 任务报告导出:生成任务执行报告并导出
|
|
428
|
-
|
|
429
|
-
### 6.3 低优先级扩展点
|
|
430
|
-
|
|
431
|
-
#### 6.3.1 主题和样式定制
|
|
432
|
-
**位置**: `frontend/src/` 样式文件
|
|
433
|
-
**扩展方式**: 扩展现有的样式变量系统
|
|
434
|
-
**优势点**:
|
|
435
|
-
- 已有完整的 CSS 变量系统
|
|
436
|
-
- 组件样式统一管理
|
|
437
|
-
- 支持响应式设计
|
|
438
|
-
|
|
439
|
-
**建议扩展**:
|
|
440
|
-
- 多主题支持:浅色/深色主题切换
|
|
441
|
-
- 自定义主题:用户自定义颜色和样式
|
|
442
|
-
- 布局定制:支持拖拽调整布局
|
|
443
|
-
|
|
444
|
-
#### 6.3.2 权限管理
|
|
445
|
-
**位置**: 新增认证和权限模块
|
|
446
|
-
**扩展方式**: 基于现有的 FastAPI 框架集成权限管理
|
|
447
|
-
**优势点**:
|
|
448
|
-
- FastAPI 内置支持认证和授权
|
|
449
|
-
- 可与 OpenClaw 现有用户系统集成
|
|
450
|
-
- API 级别的权限控制
|
|
451
|
-
|
|
452
|
-
**建议扩展**:
|
|
453
|
-
- 基于角色的访问控制(RBAC)
|
|
454
|
-
- 操作权限细化到具体功能
|
|
455
|
-
- 审计日志记录
|
|
456
|
-
|
|
457
|
-
#### 6.3.3 插件系统
|
|
458
|
-
**位置**: 扩展现有的插件架构
|
|
459
|
-
**扩展方式**: 基于现有插件机制开发扩展插件
|
|
460
|
-
**优势点**:
|
|
461
|
-
- 已有完整的插件打包和分发机制
|
|
462
|
-
- 支持热插拔和动态加载
|
|
463
|
-
- 标准化的插件接口
|
|
464
|
-
|
|
465
|
-
**建议扩展**:
|
|
466
|
-
- 第三方插件支持:允许开发者扩展功能
|
|
467
|
-
- 插件市场:插件的发布和发现平台
|
|
468
|
-
- 插件开发工具包:简化插件开发
|
|
469
|
-
|
|
470
|
-
### 6.4 技术架构扩展建议
|
|
471
|
-
|
|
472
|
-
#### 6.4.1 微服务化改造
|
|
473
|
-
**考虑因素**: 当前是单体应用,可根据需要逐步拆分
|
|
474
|
-
**拆分建议**:
|
|
475
|
-
1. 数据采集服务:负责从 OpenClaw 采集数据
|
|
476
|
-
2. 分析引擎服务:负责数据分析和状态计算
|
|
477
|
-
3. API 网关服务:统一的 API 入口和路由
|
|
478
|
-
4. 前端资源服务:静态资源和前端应用
|
|
479
|
-
|
|
480
|
-
#### 6.4.2 数据库集成
|
|
481
|
-
**当前状态**: 主要基于文件系统存储
|
|
482
|
-
**集成建议**:
|
|
483
|
-
- 时序数据库:存储性能指标和时序数据
|
|
484
|
-
- 关系型数据库:存储配置和结构化数据
|
|
485
|
-
- 缓存层:提高数据访问性能
|
|
486
|
-
|
|
487
|
-
#### 6.4.3 容器化部署
|
|
488
|
-
**考虑因素**: 当前支持插件化部署,可进一步容器化
|
|
489
|
-
**建议方案**:
|
|
490
|
-
- Docker 容器化:打包应用和依赖
|
|
491
|
-
- Kubernetes 编排:支持大规模部署
|
|
492
|
-
- Helm 图表:标准化部署流程
|
|
493
|
-
|
|
494
|
-
---
|
|
495
|
-
|
|
496
|
-
## 总结
|
|
497
|
-
|
|
498
|
-
OpenClaw Agent Dashboard 是一个架构清晰、功能完善的 Agent 可视化监控系统。项目采用现代化的技术栈,具有良好的模块化设计和扩展性。
|
|
499
|
-
|
|
500
|
-
**主要优势**:
|
|
501
|
-
1. **技术栈现代化**: Vue 3 + FastAPI,支持 TypeScript
|
|
502
|
-
2. **架构设计合理**: 前后端分离,模块化清晰
|
|
503
|
-
3. **实时性能优秀**: WebSocket + 文件监听,实时性强
|
|
504
|
-
4. **功能覆盖全面**: 涵盖监控、分析、调试等主要场景
|
|
505
|
-
5. **部署方式灵活**: 支持插件化部署和一键安装
|
|
506
|
-
|
|
507
|
-
**关键扩展点**:
|
|
508
|
-
1. **高优先级**: 新增可视化面板、API 数据源、分析模块
|
|
509
|
-
2. **中优先级**: 配置管理增强、告警功能、数据导出
|
|
510
|
-
3. **低优先级**: 主题定制、权限管理、插件系统
|
|
511
|
-
|
|
512
|
-
**建议的增量开发方向**:
|
|
513
|
-
1. 优先从高优先级扩展点入手,快速增加业务价值
|
|
514
|
-
2. 遵循现有架构模式,保持代码风格一致性
|
|
515
|
-
3. 充分利用现有的实时数据管理和状态管理机制
|
|
516
|
-
4. 注重用户体验,提供直观的可视化界面
|
|
517
|
-
|
|
518
|
-
此摸排报告为后续的业务分析(BA)和系统架构(SA)工作提供了详细的技术基础和扩展指导。
|
package/plugin/README.md
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
# OpenClaw Agent Dashboard 插件
|
|
2
|
-
|
|
3
|
-
多 Agent 可视化看板 - 作为 OpenClaw 插件安装后,随 OpenClaw 启动自动运行。
|
|
4
|
-
|
|
5
|
-
## 快速开始
|
|
6
|
-
|
|
7
|
-
克隆仓库后,在项目根目录执行:
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
npm run deploy
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
该命令会自动完成:
|
|
14
|
-
1. 检查前置条件(Node.js、Python 3、OpenClaw)
|
|
15
|
-
2. 构建前端
|
|
16
|
-
3. 打包并安装插件到 `~/.openclaw/extensions/`
|
|
17
|
-
4. 自动安装 Python 依赖(fastapi、uvicorn 等)
|
|
18
|
-
|
|
19
|
-
**前置要求**:
|
|
20
|
-
- Node.js(构建前端)
|
|
21
|
-
- Python 3.10+
|
|
22
|
-
- OpenClaw(`npm install -g openclaw`)
|
|
23
|
-
|
|
24
|
-
安装完成后,执行任意 `openclaw` 命令即可自动启动 Dashboard。
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## 命令说明
|
|
29
|
-
|
|
30
|
-
| 命令 | 说明 |
|
|
31
|
-
|------|------|
|
|
32
|
-
| `npm run deploy` | 打包 + 安装到 OpenClaw(首次安装或升级) |
|
|
33
|
-
| `npm run upgrade` | 拉取最新代码 + 部署(推荐用于升级) |
|
|
34
|
-
| `npm run pack` | 仅打包插件,不安装(开发调试用) |
|
|
35
|
-
| `npm run bundle` | 生成可分发的压缩包(离线分发) |
|
|
36
|
-
|
|
37
|
-
### 升级插件
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
cd openclaw-agent-dashboard
|
|
41
|
-
npm run upgrade
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
输出示例:
|
|
45
|
-
```
|
|
46
|
-
=== OpenClaw Agent Dashboard 插件升级 ===
|
|
47
|
-
|
|
48
|
-
1.0.0 → 1.1.0
|
|
49
|
-
|
|
50
|
-
✓ 前置条件检查通过
|
|
51
|
-
>>> 1/4 构建前端...
|
|
52
|
-
>>> 2/4 打包插件...
|
|
53
|
-
>>> 3/4 移除旧版本...
|
|
54
|
-
>>> 4/4 安装新版本...
|
|
55
|
-
>>> 检查 Python 依赖...
|
|
56
|
-
✓ Python 依赖已就绪
|
|
57
|
-
|
|
58
|
-
=== 升级完成 (1.0.0 → 1.1.0) ===
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## 使用
|
|
64
|
-
|
|
65
|
-
插件加载后(执行任意 `openclaw` 命令时)会自动启动 Dashboard 服务。
|
|
66
|
-
|
|
67
|
-
**访问地址**:http://localhost:38271(或你配置的端口)
|
|
68
|
-
|
|
69
|
-
### 端口配置(便于移植,无需改 openclaw.json)
|
|
70
|
-
|
|
71
|
-
优先级从高到低:
|
|
72
|
-
|
|
73
|
-
1. **环境变量**:`DASHBOARD_PORT=38271`
|
|
74
|
-
2. **独立配置文件**:`~/.openclaw-agent-dashboard/config.json`(可与 `OPENCLAW_AGENT_DASHBOARD_DATA` 环境变量配合)
|
|
75
|
-
```json
|
|
76
|
-
{ "port": 38271 }
|
|
77
|
-
```
|
|
78
|
-
3. **openclaw.json**:`plugins.entries.openclaw-agent-dashboard.config.port`
|
|
79
|
-
4. **默认**:38271
|
|
80
|
-
|
|
81
|
-
端口被占用时会自动尝试 38272、38273...
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
## 手动安装(故障恢复)
|
|
86
|
-
|
|
87
|
-
若 `npm run deploy` 失败,可分步执行:
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
# 1. 打包
|
|
91
|
-
npm run pack
|
|
92
|
-
|
|
93
|
-
# 2. 安装插件
|
|
94
|
-
openclaw plugins install ./plugin
|
|
95
|
-
|
|
96
|
-
# 3. 安装 Python 依赖(通常不需要,脚本会自动完成;Debian/Ubuntu 请用 venv)
|
|
97
|
-
cd ~/.openclaw/extensions/openclaw-agent-dashboard/dashboard
|
|
98
|
-
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt
|
|
99
|
-
```
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"port":38271}
|