@auto-ai/agent 2.1.159 → 2.1.160
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/.env.example +7 -0
- package/dist/404/index.html +1 -1
- package/dist/404.html +1 -1
- package/dist/_next/static/chunks/0bb72b120dc81a85.js +1 -0
- package/dist/_next/static/chunks/0eeaf05fe8e92617.js +1 -0
- package/dist/_next/static/chunks/14114800ef3e692e.js +1 -0
- package/dist/_next/static/chunks/1d51ed7830318474.js +1 -0
- package/dist/_next/static/chunks/1ffb3acecdbda566.js +1 -0
- package/dist/_next/static/chunks/22d483db0dece6fa.js +1 -0
- package/dist/_next/static/chunks/289e2d5005a099d3.js +1 -0
- package/dist/_next/static/chunks/292d0b687a419387.js +1 -0
- package/dist/_next/static/chunks/2bbdc3c6bbaac93f.js +1 -0
- package/dist/_next/static/chunks/{87e12ecbe9521f9b.js → 314d4f64173e0e4f.js} +1 -1
- package/dist/_next/static/chunks/376aaeae24164c1a.js +1 -0
- package/dist/_next/static/chunks/39fed6244d398269.js +1 -0
- package/dist/_next/static/chunks/48bc54794d1c3561.js +1 -0
- package/dist/_next/static/chunks/5534f66638e5a2e8.js +1 -0
- package/dist/_next/static/chunks/5817c66b26ce8538.css +1 -0
- package/dist/_next/static/chunks/{4d129d4e15c8c424.js → 59baceab6698f9f7.js} +1 -1
- package/dist/_next/static/chunks/5d5fe2c255f43fec.js +1 -0
- package/dist/_next/static/chunks/61676890ad8fe194.js +1 -0
- package/dist/_next/static/chunks/67bb401596b3c723.js +1 -0
- package/dist/_next/static/chunks/{5d79b7f202080232.js → 6c49d19eb7e88b9c.js} +1 -1
- package/dist/_next/static/chunks/{9ccf7a8bca1730bf.js → 76a71d344cc15a9f.js} +1 -1
- package/dist/_next/static/chunks/7de1ab3b78f48430.js +1 -0
- package/dist/_next/static/chunks/{94029062f236cadc.js → 83e39d76d6f07968.js} +1 -1
- package/dist/_next/static/chunks/{522518d740397639.js → 91adb7bdb9870c6a.js} +1 -1
- package/dist/_next/static/chunks/{8f5be275907dd98c.js → 93102efda2769ba5.js} +1 -1
- package/dist/_next/static/chunks/950875832bab2141.js +1 -0
- package/dist/_next/static/chunks/98a41a7efbe71682.js +1 -0
- package/dist/_next/static/chunks/{3dcb1dcf23e7ab9c.js → 9aea16dd9db3a8bd.js} +1 -1
- package/dist/_next/static/chunks/9e2cffe3c17fd0e7.js +1 -0
- package/dist/_next/static/chunks/a79654d570ac30eb.js +1 -0
- package/dist/_next/static/chunks/a8e06ee8243e3389.js +1 -0
- package/dist/_next/static/chunks/{cd5eec7d305aa041.js → aadf128359998a2d.js} +1 -1
- package/dist/_next/static/chunks/ad419be63e291696.js +1 -0
- package/dist/_next/static/chunks/{b30f1da4e57f459a.js → b929fc868619ccb9.js} +1 -1
- package/dist/_next/static/chunks/{106955e3cc6a6843.js → b99d7c931432a00e.js} +1 -1
- package/dist/_next/static/chunks/bcefc2c679f3ada6.js +1 -0
- package/dist/_next/static/chunks/c1cfc60c17638a73.js +1 -0
- package/dist/_next/static/chunks/c26f95ab8ad3dcf0.js +1 -0
- package/dist/_next/static/chunks/{270d7571d2eea071.js → c5af60c028e52cf8.js} +1 -1
- package/dist/_next/static/chunks/cb4dec27441d471a.js +1 -0
- package/dist/_next/static/chunks/{63ec034afca4b5d6.js → cbb200599eb3e6d0.js} +1 -1
- package/dist/_next/static/chunks/d3af8988bf25a7de.js +1 -0
- package/dist/_next/static/chunks/d3ccfb3dcef5974f.js +1 -0
- package/dist/_next/static/chunks/d504c4e2ebc5319a.js +1 -0
- package/dist/_next/static/chunks/e2833182a81cd867.js +1 -0
- package/dist/_next/static/chunks/e520aa06a5014225.js +1 -0
- package/dist/_next/static/chunks/e7bd145455a541af.css +4 -0
- package/dist/_next/static/chunks/eae304701469d3a8.js +1 -0
- package/dist/_next/static/chunks/eba0719a42605421.js +1 -0
- package/dist/_next/static/chunks/f2a87f0c7c1ec9f4.js +1 -0
- package/dist/_next/static/chunks/{7bdf0e5b41aeb209.css → fa361913d47fdc14.css} +3 -0
- package/dist/_next/static/chunks/faaf4e0c2d5cffda.js +1 -0
- package/dist/_next/static/chunks/fc4be3bcf72559a0.js +1 -0
- package/dist/_next/static/chunks/{turbopack-63952675b1d69124.js → turbopack-030a42d60560a927.js} +1 -1
- package/dist/agent-office.html +226 -155
- package/dist/index.html +2 -2
- package/dist/index.txt +21 -21
- package/dist/manage/about/index.html +2 -2
- package/dist/manage/about/index.txt +22 -23
- package/dist/manage/add-account/basic/index.html +2 -0
- package/dist/manage/add-account/basic/index.txt +38 -0
- package/dist/manage/add-account/index.html +2 -0
- package/dist/manage/add-account/index.txt +36 -0
- package/dist/manage/env/index.html +2 -2
- package/dist/manage/env/index.txt +24 -25
- package/dist/manage/general/index.html +2 -2
- package/dist/manage/general/index.txt +22 -23
- package/dist/manage/index.html +2 -2
- package/dist/manage/index.txt +19 -20
- package/dist/manage/mcp/index.html +2 -2
- package/dist/manage/mcp/index.txt +21 -22
- package/dist/manage/permissions/index.html +2 -2
- package/dist/manage/permissions/index.txt +22 -23
- package/dist/manage/skills/index.html +2 -2
- package/dist/manage/skills/index.txt +21 -22
- package/dist/manage/task/index.html +2 -2
- package/dist/manage/task/index.txt +21 -22
- package/dist/manage/teams/index.html +2 -2
- package/dist/manage/teams/index.txt +21 -22
- package/dist/manage/tools/index.html +2 -2
- package/dist/manage/tools/index.txt +21 -22
- package/dist/ws-test.css +2880 -0
- package/dist/ws-test.html +77 -9740
- package/dist/ws-test.js +7442 -0
- package/package.json +6 -6
- package/skills-runtime/deploy-test-env/SKILL.md +1 -1
- package/skills-runtime/dev-task-flow/SKILL.md +4 -4
- package/skills-runtime/self-test-flow/SKILL.md +2 -2
- package/skills-runtime/workflow-hub/SKILL.md +1 -1
- package/dist/_next/static/chunks/06b383e8ee499be7.js +0 -1
- package/dist/_next/static/chunks/0ce6504fc10ce408.js +0 -1
- package/dist/_next/static/chunks/0fa3b1f693a23b15.js +0 -1
- package/dist/_next/static/chunks/1c9321874fea5f0d.js +0 -1
- package/dist/_next/static/chunks/1cb7453376657ffb.css +0 -1
- package/dist/_next/static/chunks/2014b101125849fd.js +0 -1
- package/dist/_next/static/chunks/2df3e464b6247e75.js +0 -1
- package/dist/_next/static/chunks/32b9bdd82a961878.js +0 -1
- package/dist/_next/static/chunks/371449b804c846f7.js +0 -1
- package/dist/_next/static/chunks/38b035f49fa68570.js +0 -1
- package/dist/_next/static/chunks/3ddf56f78e79b076.js +0 -1
- package/dist/_next/static/chunks/46b326fcd7b2e8ab.js +0 -1
- package/dist/_next/static/chunks/489266ff75dbd7fd.js +0 -1
- package/dist/_next/static/chunks/4b1cbde821e7ad65.js +0 -1
- package/dist/_next/static/chunks/5853f68e75f5f7ab.js +0 -1
- package/dist/_next/static/chunks/5bad5163b6e015f5.js +0 -1
- package/dist/_next/static/chunks/5f6769a92729c6c3.js +0 -1
- package/dist/_next/static/chunks/65efa67b7efe0f72.js +0 -1
- package/dist/_next/static/chunks/6e61f670898cb297.css +0 -1
- package/dist/_next/static/chunks/6f4460bd0b8a57af.js +0 -1
- package/dist/_next/static/chunks/73930967cfa80238.js +0 -1
- package/dist/_next/static/chunks/73e518d4b3543b8f.js +0 -1
- package/dist/_next/static/chunks/799f92e88bfeb469.js +0 -1
- package/dist/_next/static/chunks/7f52fbd725b13904.js +0 -1
- package/dist/_next/static/chunks/a6737fc58619eae5.js +0 -1
- package/dist/_next/static/chunks/a7d1ae46740fe1db.js +0 -1
- package/dist/_next/static/chunks/b896987ddf6315c9.js +0 -1
- package/dist/_next/static/chunks/bbcf9daa108b22fb.js +0 -1
- package/dist/_next/static/chunks/bf2c1c402dbcccdf.js +0 -1
- package/dist/_next/static/chunks/bfc6ee42cec583d5.js +0 -1
- package/dist/_next/static/chunks/c79da9dd69089e4f.js +0 -1
- package/dist/_next/static/chunks/c933951b3113492f.js +0 -1
- package/dist/_next/static/chunks/d2d432a9facf4278.js +0 -1
- package/dist/_next/static/chunks/d4fd1b2f761be57f.css +0 -7
- package/dist/_next/static/chunks/d5e3d29f769997cc.js +0 -1
- package/dist/_next/static/chunks/da89e354de542422.js +0 -1
- package/dist/_next/static/chunks/e7bcbeb465fa49cf.js +0 -1
- package/dist/_next/static/chunks/ecaea9e9321ec538.js +0 -1
- package/dist/_next/static/media/data-loading.be8d921a.png +0 -0
- package/dist/_next/static/media/no-data.48c973b9.png +0 -0
- /package/dist/_next/static/{dWDLJEjbROOXL8bVYlZoO → WYrSrJ9dye9qgdGCYVOpA}/_buildManifest.js +0 -0
- /package/dist/_next/static/{dWDLJEjbROOXL8bVYlZoO → WYrSrJ9dye9qgdGCYVOpA}/_clientMiddlewareManifest.json +0 -0
- /package/dist/_next/static/{dWDLJEjbROOXL8bVYlZoO → WYrSrJ9dye9qgdGCYVOpA}/_ssgManifest.js +0 -0
package/dist/agent-office.html
CHANGED
|
@@ -3,136 +3,157 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
-
<title
|
|
6
|
+
<title>办公室</title>
|
|
7
|
+
<link rel="stylesheet" href="/ws-test.css" />
|
|
7
8
|
<style>
|
|
8
|
-
:root {
|
|
9
|
-
color-scheme: light;
|
|
10
|
-
--ds-page: #f2f2f7;
|
|
11
|
-
--ds-bg: #ffffff;
|
|
12
|
-
--ds-border: #e5e5ea;
|
|
13
|
-
--ds-text: #1c1c1e;
|
|
14
|
-
--ds-muted: #8e8e93;
|
|
15
|
-
--ds-accent: #0a84ff;
|
|
16
|
-
--ds-accent-hover: #0070e0;
|
|
17
|
-
--ds-danger: #ff3b30;
|
|
18
|
-
}
|
|
19
|
-
* { box-sizing: border-box; }
|
|
20
|
-
html, body { height: 100%; margin: 0; }
|
|
21
9
|
body {
|
|
22
|
-
font-family: 'PingFang SC', 'Microsoft YaHei', ui-sans-serif, system-ui, sans-serif;
|
|
23
|
-
background: var(--ds-page);
|
|
24
|
-
color: var(--ds-text);
|
|
25
10
|
overflow: hidden;
|
|
11
|
+
-webkit-font-smoothing: antialiased;
|
|
26
12
|
}
|
|
27
|
-
|
|
13
|
+
.office-app {
|
|
28
14
|
display: flex;
|
|
29
15
|
flex-direction: column;
|
|
30
16
|
width: 100%;
|
|
31
17
|
height: 100%;
|
|
18
|
+
background: var(--ds-bg);
|
|
32
19
|
}
|
|
33
|
-
.office-
|
|
20
|
+
.office-header {
|
|
34
21
|
flex-shrink: 0;
|
|
35
22
|
display: flex;
|
|
36
23
|
align-items: center;
|
|
37
24
|
justify-content: space-between;
|
|
38
|
-
|
|
39
|
-
|
|
25
|
+
gap: 16px;
|
|
26
|
+
min-height: 52px;
|
|
27
|
+
padding: 0 20px;
|
|
40
28
|
border-bottom: 1px solid var(--ds-border);
|
|
29
|
+
background: var(--ds-bg);
|
|
41
30
|
}
|
|
42
|
-
.office-
|
|
31
|
+
.office-header-main {
|
|
32
|
+
min-width: 0;
|
|
33
|
+
flex: 1;
|
|
34
|
+
}
|
|
35
|
+
.office-header-title {
|
|
43
36
|
margin: 0;
|
|
44
|
-
font-size:
|
|
37
|
+
font-size: 16px;
|
|
45
38
|
font-weight: 600;
|
|
39
|
+
line-height: 1.3;
|
|
40
|
+
color: var(--ds-text);
|
|
46
41
|
}
|
|
47
|
-
.office-
|
|
48
|
-
margin:
|
|
49
|
-
font-size:
|
|
42
|
+
.office-header-sub {
|
|
43
|
+
margin: 2px 0 0;
|
|
44
|
+
font-size: 12px;
|
|
50
45
|
color: var(--ds-muted);
|
|
46
|
+
line-height: 1.4;
|
|
51
47
|
}
|
|
52
|
-
.office-
|
|
53
|
-
|
|
54
|
-
|
|
48
|
+
.btn-office-new {
|
|
49
|
+
flex-shrink: 0;
|
|
50
|
+
display: inline-flex;
|
|
51
|
+
align-items: center;
|
|
52
|
+
gap: 6px;
|
|
53
|
+
padding: 8px 14px;
|
|
54
|
+
border: none;
|
|
55
|
+
border-radius: 999px;
|
|
56
|
+
background: var(--ds-accent);
|
|
57
|
+
color: #fff;
|
|
58
|
+
font-size: 14px;
|
|
59
|
+
font-weight: 500;
|
|
60
|
+
font-family: inherit;
|
|
61
|
+
cursor: pointer;
|
|
62
|
+
transition: background 120ms ease;
|
|
63
|
+
}
|
|
64
|
+
.btn-office-new:hover {
|
|
65
|
+
background: var(--ds-accent-hover);
|
|
66
|
+
}
|
|
67
|
+
.btn-office-new svg {
|
|
68
|
+
flex-shrink: 0;
|
|
55
69
|
}
|
|
56
70
|
.office-main {
|
|
57
71
|
flex: 1;
|
|
58
72
|
display: flex;
|
|
59
73
|
min-height: 0;
|
|
60
74
|
overflow: hidden;
|
|
75
|
+
background: var(--ds-bg);
|
|
61
76
|
}
|
|
62
|
-
|
|
77
|
+
.office-list-root {
|
|
63
78
|
flex: 1;
|
|
64
79
|
overflow: auto;
|
|
65
|
-
padding:
|
|
80
|
+
padding: 20px;
|
|
66
81
|
min-width: 0;
|
|
67
82
|
}
|
|
68
83
|
.agent-list {
|
|
69
84
|
list-style: none;
|
|
70
|
-
margin: 0;
|
|
85
|
+
margin: 0 auto;
|
|
71
86
|
padding: 0;
|
|
72
87
|
display: flex;
|
|
73
88
|
flex-direction: column;
|
|
74
|
-
gap:
|
|
75
|
-
max-width:
|
|
89
|
+
gap: 2px;
|
|
90
|
+
max-width: 640px;
|
|
76
91
|
}
|
|
77
92
|
.agent-list-empty {
|
|
78
93
|
color: var(--ds-muted);
|
|
79
|
-
font-size:
|
|
80
|
-
padding:
|
|
94
|
+
font-size: 14px;
|
|
95
|
+
padding: 64px 16px;
|
|
81
96
|
text-align: center;
|
|
97
|
+
max-width: 640px;
|
|
98
|
+
margin: 0 auto;
|
|
82
99
|
}
|
|
83
100
|
.agent-list-item {
|
|
84
|
-
display:
|
|
85
|
-
align-items: center;
|
|
86
|
-
gap: 14px;
|
|
101
|
+
display: block;
|
|
87
102
|
width: 100%;
|
|
88
|
-
padding: 14px
|
|
89
|
-
border:
|
|
90
|
-
border-radius:
|
|
91
|
-
background:
|
|
103
|
+
padding: 12px 14px;
|
|
104
|
+
border: none;
|
|
105
|
+
border-radius: 10px;
|
|
106
|
+
background: transparent;
|
|
92
107
|
cursor: pointer;
|
|
93
108
|
text-align: left;
|
|
94
109
|
font: inherit;
|
|
95
110
|
color: inherit;
|
|
96
|
-
transition:
|
|
111
|
+
transition: background 120ms ease;
|
|
97
112
|
}
|
|
98
113
|
.agent-list-item:hover {
|
|
99
|
-
|
|
100
|
-
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
|
|
114
|
+
background: var(--ds-item-hover);
|
|
101
115
|
}
|
|
102
116
|
.agent-list-item.is-selected {
|
|
103
|
-
|
|
104
|
-
box-shadow: 0 0 0 1px var(--ds-accent);
|
|
105
|
-
}
|
|
106
|
-
.agent-list-accent {
|
|
107
|
-
flex-shrink: 0;
|
|
108
|
-
width: 4px;
|
|
109
|
-
height: 40px;
|
|
110
|
-
border-radius: 2px;
|
|
117
|
+
background: var(--ds-item-active);
|
|
111
118
|
}
|
|
112
119
|
.agent-list-body {
|
|
113
|
-
flex: 1;
|
|
114
|
-
min-width: 0;
|
|
115
120
|
display: flex;
|
|
116
121
|
flex-direction: column;
|
|
117
|
-
gap:
|
|
122
|
+
gap: 3px;
|
|
123
|
+
min-width: 0;
|
|
118
124
|
}
|
|
119
|
-
.agent-list-
|
|
120
|
-
font-size:
|
|
125
|
+
.agent-list-name {
|
|
126
|
+
font-size: 15px;
|
|
121
127
|
font-weight: 600;
|
|
128
|
+
line-height: 1.35;
|
|
129
|
+
color: var(--ds-text);
|
|
130
|
+
overflow: hidden;
|
|
131
|
+
text-overflow: ellipsis;
|
|
132
|
+
white-space: nowrap;
|
|
122
133
|
}
|
|
123
|
-
.agent-list-
|
|
124
|
-
font-size:
|
|
134
|
+
.agent-list-id-sub {
|
|
135
|
+
font-size: 12px;
|
|
136
|
+
font-family: ui-monospace, Menlo, monospace;
|
|
125
137
|
color: var(--ds-muted);
|
|
126
|
-
white-space: nowrap;
|
|
127
138
|
overflow: hidden;
|
|
128
139
|
text-overflow: ellipsis;
|
|
140
|
+
white-space: nowrap;
|
|
141
|
+
}
|
|
142
|
+
.agent-list-desc {
|
|
143
|
+
font-size: 13px;
|
|
144
|
+
color: var(--ds-secondary);
|
|
145
|
+
line-height: 1.45;
|
|
146
|
+
display: -webkit-box;
|
|
147
|
+
-webkit-box-orient: vertical;
|
|
148
|
+
-webkit-line-clamp: 2;
|
|
149
|
+
overflow: hidden;
|
|
129
150
|
}
|
|
130
151
|
.agent-list-team {
|
|
131
|
-
font-size:
|
|
132
|
-
color: var(--ds-
|
|
133
|
-
white-space: nowrap;
|
|
152
|
+
font-size: 12px;
|
|
153
|
+
color: var(--ds-muted);
|
|
134
154
|
overflow: hidden;
|
|
135
155
|
text-overflow: ellipsis;
|
|
156
|
+
white-space: nowrap;
|
|
136
157
|
}
|
|
137
158
|
.office-team-section {
|
|
138
159
|
margin-bottom: 1rem;
|
|
@@ -155,11 +176,11 @@
|
|
|
155
176
|
display: inline-flex;
|
|
156
177
|
align-items: center;
|
|
157
178
|
gap: 4px;
|
|
158
|
-
padding:
|
|
179
|
+
padding: 4px 10px;
|
|
159
180
|
border-radius: 999px;
|
|
160
|
-
background:
|
|
161
|
-
border: 1px solid
|
|
162
|
-
font-size:
|
|
181
|
+
background: var(--ds-item-hover);
|
|
182
|
+
border: 1px solid var(--ds-border);
|
|
183
|
+
font-size: 12px;
|
|
163
184
|
}
|
|
164
185
|
.office-team-chip button {
|
|
165
186
|
border: none;
|
|
@@ -189,22 +210,18 @@
|
|
|
189
210
|
padding: 0.45rem 0.55rem;
|
|
190
211
|
font: inherit;
|
|
191
212
|
}
|
|
192
|
-
.agent-list-arrow {
|
|
193
|
-
flex-shrink: 0;
|
|
194
|
-
color: var(--ds-muted);
|
|
195
|
-
font-size: 1.2rem;
|
|
196
|
-
line-height: 1;
|
|
197
|
-
}
|
|
198
213
|
.office-btn {
|
|
199
214
|
border: 1px solid var(--ds-border);
|
|
200
215
|
background: var(--ds-bg);
|
|
201
216
|
color: var(--ds-text);
|
|
202
|
-
border-radius:
|
|
203
|
-
padding:
|
|
204
|
-
font-size:
|
|
217
|
+
border-radius: var(--ds-radius-sm);
|
|
218
|
+
padding: 8px 14px;
|
|
219
|
+
font-size: 13px;
|
|
220
|
+
font-family: inherit;
|
|
205
221
|
cursor: pointer;
|
|
222
|
+
transition: background 120ms ease, border-color 120ms ease;
|
|
206
223
|
}
|
|
207
|
-
.office-btn:hover { background:
|
|
224
|
+
.office-btn:hover { background: var(--ds-item-hover); }
|
|
208
225
|
.office-btn-primary {
|
|
209
226
|
background: var(--ds-accent);
|
|
210
227
|
border-color: var(--ds-accent);
|
|
@@ -213,86 +230,121 @@
|
|
|
213
230
|
.office-btn-primary:hover { background: var(--ds-accent-hover); }
|
|
214
231
|
.office-btn-danger {
|
|
215
232
|
color: var(--ds-danger);
|
|
216
|
-
border-color: rgba(
|
|
233
|
+
border-color: rgba(220, 38, 38, 0.25);
|
|
234
|
+
background: #fff;
|
|
217
235
|
}
|
|
218
|
-
|
|
236
|
+
.office-btn-danger:hover {
|
|
237
|
+
background: #fef2f2;
|
|
238
|
+
border-color: var(--ds-danger);
|
|
239
|
+
}
|
|
240
|
+
.office-panel {
|
|
219
241
|
flex-shrink: 0;
|
|
220
|
-
width: min(
|
|
242
|
+
width: min(400px, 44vw);
|
|
221
243
|
background: var(--ds-bg);
|
|
222
244
|
border-left: 1px solid var(--ds-border);
|
|
223
245
|
display: none;
|
|
224
246
|
flex-direction: column;
|
|
225
247
|
min-height: 0;
|
|
226
248
|
}
|
|
227
|
-
|
|
249
|
+
.office-panel.is-open {
|
|
228
250
|
display: flex;
|
|
229
251
|
}
|
|
230
252
|
.office-panel-head {
|
|
231
253
|
display: flex;
|
|
232
254
|
align-items: center;
|
|
233
255
|
justify-content: space-between;
|
|
234
|
-
|
|
256
|
+
gap: 12px;
|
|
257
|
+
padding: 14px 16px;
|
|
235
258
|
border-bottom: 1px solid var(--ds-border);
|
|
259
|
+
flex-shrink: 0;
|
|
236
260
|
}
|
|
237
261
|
.office-panel-head h2 {
|
|
238
262
|
margin: 0;
|
|
239
|
-
font-size:
|
|
263
|
+
font-size: 15px;
|
|
264
|
+
font-weight: 600;
|
|
265
|
+
line-height: 1.3;
|
|
266
|
+
overflow: hidden;
|
|
267
|
+
text-overflow: ellipsis;
|
|
268
|
+
white-space: nowrap;
|
|
269
|
+
min-width: 0;
|
|
240
270
|
}
|
|
241
271
|
.office-panel-close {
|
|
272
|
+
flex-shrink: 0;
|
|
273
|
+
width: 28px;
|
|
274
|
+
height: 28px;
|
|
242
275
|
border: none;
|
|
276
|
+
border-radius: 6px;
|
|
243
277
|
background: transparent;
|
|
244
|
-
font-size:
|
|
278
|
+
font-size: 18px;
|
|
245
279
|
line-height: 1;
|
|
246
280
|
cursor: pointer;
|
|
247
281
|
color: var(--ds-muted);
|
|
248
282
|
}
|
|
283
|
+
.office-panel-close:hover {
|
|
284
|
+
background: var(--ds-item-hover);
|
|
285
|
+
color: var(--ds-text);
|
|
286
|
+
}
|
|
249
287
|
.office-panel-body {
|
|
250
|
-
padding:
|
|
288
|
+
padding: 16px;
|
|
251
289
|
overflow: auto;
|
|
252
290
|
flex: 1;
|
|
253
291
|
min-height: 0;
|
|
254
292
|
}
|
|
255
293
|
.office-panel-meta {
|
|
256
|
-
margin: 0 0
|
|
257
|
-
font-size:
|
|
294
|
+
margin: 0 0 14px;
|
|
295
|
+
font-size: 12px;
|
|
258
296
|
color: var(--ds-muted);
|
|
297
|
+
line-height: 1.45;
|
|
259
298
|
}
|
|
260
299
|
.office-form-row {
|
|
261
300
|
display: flex;
|
|
262
301
|
flex-direction: column;
|
|
263
|
-
gap:
|
|
264
|
-
margin-bottom:
|
|
302
|
+
gap: 6px;
|
|
303
|
+
margin-bottom: 14px;
|
|
265
304
|
}
|
|
266
305
|
.office-form-row label {
|
|
267
|
-
font-size:
|
|
306
|
+
font-size: 12px;
|
|
307
|
+
font-weight: 500;
|
|
268
308
|
color: var(--ds-muted);
|
|
269
309
|
}
|
|
270
310
|
.office-form-row input,
|
|
271
|
-
.office-form-row textarea
|
|
311
|
+
.office-form-row textarea,
|
|
312
|
+
.office-team-add select {
|
|
272
313
|
width: 100%;
|
|
273
314
|
border: 1px solid var(--ds-border);
|
|
274
|
-
border-radius:
|
|
275
|
-
padding:
|
|
315
|
+
border-radius: var(--ds-radius-sm);
|
|
316
|
+
padding: 9px 11px;
|
|
276
317
|
font: inherit;
|
|
318
|
+
font-size: 14px;
|
|
277
319
|
resize: vertical;
|
|
320
|
+
background: var(--ds-bg);
|
|
321
|
+
color: var(--ds-text);
|
|
278
322
|
}
|
|
279
|
-
.office-form-row
|
|
323
|
+
.office-form-row input:focus,
|
|
324
|
+
.office-form-row textarea:focus,
|
|
325
|
+
.office-team-add select:focus {
|
|
326
|
+
outline: none;
|
|
327
|
+
border-color: var(--ds-accent);
|
|
328
|
+
box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.12);
|
|
329
|
+
}
|
|
330
|
+
.office-form-row textarea { min-height: 80px; line-height: 1.5; }
|
|
280
331
|
.office-form-actions {
|
|
281
332
|
display: flex;
|
|
282
333
|
flex-wrap: wrap;
|
|
283
334
|
gap: 8px;
|
|
284
|
-
margin-top:
|
|
335
|
+
margin-top: 8px;
|
|
336
|
+
padding-top: 4px;
|
|
285
337
|
}
|
|
286
338
|
#officeToast {
|
|
287
339
|
position: fixed;
|
|
288
340
|
left: 50%;
|
|
289
341
|
bottom: 28px;
|
|
290
342
|
transform: translateX(-50%) translateY(12px);
|
|
291
|
-
background:
|
|
343
|
+
background: var(--ds-text);
|
|
292
344
|
color: #fff;
|
|
293
|
-
padding:
|
|
294
|
-
border-radius:
|
|
295
|
-
font-size:
|
|
345
|
+
padding: 10px 16px;
|
|
346
|
+
border-radius: var(--ds-radius);
|
|
347
|
+
font-size: 13px;
|
|
296
348
|
opacity: 0;
|
|
297
349
|
pointer-events: none;
|
|
298
350
|
transition: opacity 0.2s, transform 0.2s;
|
|
@@ -304,10 +356,19 @@
|
|
|
304
356
|
opacity: 1;
|
|
305
357
|
transform: translateX(-50%) translateY(0);
|
|
306
358
|
}
|
|
307
|
-
#officeToast.is-error { background:
|
|
359
|
+
#officeToast.is-error { background: var(--ds-danger); }
|
|
360
|
+
.office-list-root::-webkit-scrollbar,
|
|
361
|
+
.office-panel-body::-webkit-scrollbar {
|
|
362
|
+
width: 5px;
|
|
363
|
+
}
|
|
364
|
+
.office-list-root::-webkit-scrollbar-thumb,
|
|
365
|
+
.office-panel-body::-webkit-scrollbar-thumb {
|
|
366
|
+
background: rgba(0, 0, 0, 0.15);
|
|
367
|
+
border-radius: 999px;
|
|
368
|
+
}
|
|
308
369
|
@media (max-width: 768px) {
|
|
309
370
|
.office-main { flex-direction: column; }
|
|
310
|
-
|
|
371
|
+
.office-panel {
|
|
311
372
|
width: 100%;
|
|
312
373
|
border-left: none;
|
|
313
374
|
border-top: 1px solid var(--ds-border);
|
|
@@ -317,21 +378,24 @@
|
|
|
317
378
|
</style>
|
|
318
379
|
</head>
|
|
319
380
|
<body>
|
|
320
|
-
<div id="officeApp">
|
|
321
|
-
<header class="office-
|
|
322
|
-
<div class="office-
|
|
323
|
-
<h1
|
|
324
|
-
<p id="officeSubtitle">加载中…</p>
|
|
325
|
-
</div>
|
|
326
|
-
<div class="office-top-actions">
|
|
327
|
-
<button type="button" class="office-btn office-btn-primary" id="btnOfficeNewAgent">新建 Agent</button>
|
|
381
|
+
<div id="officeApp" class="office-app">
|
|
382
|
+
<header class="office-header">
|
|
383
|
+
<div class="office-header-main">
|
|
384
|
+
<h1 class="office-header-title">办公室</h1>
|
|
385
|
+
<p class="office-header-sub" id="officeSubtitle">加载中…</p>
|
|
328
386
|
</div>
|
|
387
|
+
<button type="button" class="btn-office-new" id="btnOfficeNewAgent">
|
|
388
|
+
<svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true">
|
|
389
|
+
<path d="M12 5v14M5 12h14"/>
|
|
390
|
+
</svg>
|
|
391
|
+
<span>新建 Agent</span>
|
|
392
|
+
</button>
|
|
329
393
|
</header>
|
|
330
394
|
|
|
331
395
|
<div class="office-main">
|
|
332
|
-
<div id="agentListRoot" aria-label="Agent 列表"></div>
|
|
396
|
+
<div id="agentListRoot" class="office-list-root" aria-label="Agent 列表"></div>
|
|
333
397
|
|
|
334
|
-
<aside id="officePanel" aria-label="Agent 管理面板">
|
|
398
|
+
<aside id="officePanel" class="office-panel" aria-label="Agent 管理面板">
|
|
335
399
|
<div class="office-panel-head">
|
|
336
400
|
<h2 id="officePanelTitle">Agent</h2>
|
|
337
401
|
<button type="button" class="office-panel-close" id="btnOfficePanelClose" aria-label="关闭">×</button>
|
|
@@ -598,31 +662,21 @@
|
|
|
598
662
|
return id
|
|
599
663
|
}
|
|
600
664
|
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
'
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
const KNOWN_ACCENTS = {
|
|
611
|
-
dev: '#22d3c5',
|
|
612
|
-
edr: '#4da3ff',
|
|
613
|
-
qihoo: '#8b5cf6',
|
|
665
|
+
/** 列表主标题:优先 displayName,否则用 id */
|
|
666
|
+
function agentListTitle(row) {
|
|
667
|
+
const id = String(row.id || '').trim()
|
|
668
|
+
const dn =
|
|
669
|
+
row && typeof row.displayName === 'string' && row.displayName.trim()
|
|
670
|
+
? row.displayName.trim()
|
|
671
|
+
: ''
|
|
672
|
+
return dn || id
|
|
614
673
|
}
|
|
615
674
|
|
|
616
|
-
/**
|
|
617
|
-
function
|
|
618
|
-
const
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
let h = 0
|
|
622
|
-
for (let i = 0; i < s.length; i++) {
|
|
623
|
-
h = (h + s.charCodeAt(i) * 17) % AGENT_ACCENT_COLORS.length
|
|
624
|
-
}
|
|
625
|
-
return AGENT_ACCENT_COLORS[h]
|
|
675
|
+
/** 列表副 id:displayName 与 id 不同时展示 id */
|
|
676
|
+
function agentListSubId(row) {
|
|
677
|
+
const id = String(row.id || '').trim()
|
|
678
|
+
const title = agentListTitle(row)
|
|
679
|
+
return title !== id ? id : ''
|
|
626
680
|
}
|
|
627
681
|
|
|
628
682
|
/** 列表页选中状态:仅维护当前 agent id */
|
|
@@ -672,7 +726,7 @@
|
|
|
672
726
|
if (!agents.length) {
|
|
673
727
|
const empty = document.createElement('div')
|
|
674
728
|
empty.className = 'agent-list-empty'
|
|
675
|
-
empty.textContent = '暂无 Agent
|
|
729
|
+
empty.textContent = '暂无 Agent,点击「新建 Agent」创建'
|
|
676
730
|
this.container.appendChild(empty)
|
|
677
731
|
return
|
|
678
732
|
}
|
|
@@ -693,22 +747,26 @@
|
|
|
693
747
|
'agent-list-item' + (selectedId === id ? ' is-selected' : '')
|
|
694
748
|
btn.setAttribute('aria-pressed', selectedId === id ? 'true' : 'false')
|
|
695
749
|
|
|
696
|
-
const accent = document.createElement('span')
|
|
697
|
-
accent.className = 'agent-list-accent'
|
|
698
|
-
accent.style.background = accentColorForId(id)
|
|
699
|
-
|
|
700
750
|
const body = document.createElement('span')
|
|
701
751
|
body.className = 'agent-list-body'
|
|
702
752
|
|
|
703
753
|
const title = document.createElement('span')
|
|
704
|
-
title.className = 'agent-list-
|
|
705
|
-
title.textContent =
|
|
754
|
+
title.className = 'agent-list-name'
|
|
755
|
+
title.textContent = agentListTitle(row)
|
|
756
|
+
|
|
757
|
+
body.appendChild(title)
|
|
758
|
+
|
|
759
|
+
const subId = agentListSubId(row)
|
|
760
|
+
if (subId) {
|
|
761
|
+
const idEl = document.createElement('span')
|
|
762
|
+
idEl.className = 'agent-list-id-sub'
|
|
763
|
+
idEl.textContent = subId
|
|
764
|
+
body.appendChild(idEl)
|
|
765
|
+
}
|
|
706
766
|
|
|
707
767
|
const desc = document.createElement('span')
|
|
708
768
|
desc.className = 'agent-list-desc'
|
|
709
|
-
desc.textContent = truncateListDesc(row.whentouse,
|
|
710
|
-
|
|
711
|
-
body.appendChild(title)
|
|
769
|
+
desc.textContent = truncateListDesc(row.whentouse, 120)
|
|
712
770
|
body.appendChild(desc)
|
|
713
771
|
|
|
714
772
|
const teamLine = formatAgentTeamLine(row)
|
|
@@ -719,13 +777,7 @@
|
|
|
719
777
|
body.appendChild(team)
|
|
720
778
|
}
|
|
721
779
|
|
|
722
|
-
const arrow = document.createElement('span')
|
|
723
|
-
arrow.className = 'agent-list-arrow'
|
|
724
|
-
arrow.textContent = '›'
|
|
725
|
-
|
|
726
|
-
btn.appendChild(accent)
|
|
727
780
|
btn.appendChild(body)
|
|
728
|
-
btn.appendChild(arrow)
|
|
729
781
|
|
|
730
782
|
btn.addEventListener('click', () => {
|
|
731
783
|
if (this.onPick) this.onPick(id)
|
|
@@ -1002,7 +1054,12 @@
|
|
|
1002
1054
|
if (!agentId) return
|
|
1003
1055
|
this.mode = 'edit'
|
|
1004
1056
|
this.editingId = agentId
|
|
1005
|
-
|
|
1057
|
+
const cached = this.agents.find(function (a) {
|
|
1058
|
+
return String(a.id || '').trim() === agentId
|
|
1059
|
+
})
|
|
1060
|
+
if (this.panelTitleEl) {
|
|
1061
|
+
this.panelTitleEl.textContent = cached ? agentListTitle(cached) : agentId
|
|
1062
|
+
}
|
|
1006
1063
|
if (this.panelMetaEl) this.panelMetaEl.textContent = '加载中…'
|
|
1007
1064
|
if (this.btnDelete) {
|
|
1008
1065
|
this.btnDelete.disabled = false
|
|
@@ -1027,6 +1084,15 @@
|
|
|
1027
1084
|
this.promptInput.value =
|
|
1028
1085
|
typeof agent.prompt === 'string' ? agent.prompt : ''
|
|
1029
1086
|
}
|
|
1087
|
+
if (this.panelTitleEl) {
|
|
1088
|
+
const dn =
|
|
1089
|
+
typeof agent.displayName === 'string' && agent.displayName.trim()
|
|
1090
|
+
? agent.displayName.trim()
|
|
1091
|
+
: cached
|
|
1092
|
+
? agentListTitle(cached)
|
|
1093
|
+
: agentId
|
|
1094
|
+
this.panelTitleEl.textContent = dn
|
|
1095
|
+
}
|
|
1030
1096
|
const members = Array.isArray(agent.agentTeamMembers)
|
|
1031
1097
|
? agent.agentTeamMembers
|
|
1032
1098
|
: []
|
|
@@ -1098,7 +1164,12 @@
|
|
|
1098
1164
|
this.btnDelete.disabled = false
|
|
1099
1165
|
}
|
|
1100
1166
|
if (this.btnWorkbench) this.btnWorkbench.disabled = false
|
|
1101
|
-
|
|
1167
|
+
const savedRow = this.agents.find(function (a) {
|
|
1168
|
+
return String(a.id || '').trim() === id
|
|
1169
|
+
})
|
|
1170
|
+
if (this.panelTitleEl) {
|
|
1171
|
+
this.panelTitleEl.textContent = savedRow ? agentListTitle(savedRow) : id
|
|
1172
|
+
}
|
|
1102
1173
|
this.controller.selectAgent(id)
|
|
1103
1174
|
this.syncUrlAgentParam(id)
|
|
1104
1175
|
if (isEdit) {
|
|
@@ -1197,7 +1268,7 @@
|
|
|
1197
1268
|
const subtitle = document.getElementById('officeSubtitle')
|
|
1198
1269
|
if (subtitle) {
|
|
1199
1270
|
subtitle.textContent =
|
|
1200
|
-
String(agents.length) + ' 个 Agent
|
|
1271
|
+
String(agents.length) + ' 个 Agent'
|
|
1201
1272
|
}
|
|
1202
1273
|
list.render(agents, controller.selectedId)
|
|
1203
1274
|
},
|