@yuku123/z-team-component 0.2.52 → 0.2.54

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.
Files changed (58) hide show
  1. package/dist/{ChangeLogView-nPAmM1X0.js → ChangeLogView-Cstbioyw.js} +137 -137
  2. package/dist/{ComponentDoc-Cky9jCGu.js → ComponentDoc-yvIrAz9-.js} +506 -461
  3. package/dist/{InvitationManagementPage-BsbaIGvB.js → InvitationManagementPage-CIouC3Fn.js} +1 -1
  4. package/dist/{OnboardingPage-CHVgeBiO.js → OnboardingPage-DScwVCi-.js} +2 -2
  5. package/dist/ScheduledTasks-Dd2lJrBF.js +9449 -0
  6. package/dist/{SystemShell-4OiqvM11.js → SystemShell-DtvyWy0u.js} +1 -1
  7. package/dist/{admin-logs-D6HtRcK6.js → admin-logs-B9KS6VJz.js} +2 -2
  8. package/dist/{api-C78tCfne.js → api-CALqShkO.js} +288 -270
  9. package/dist/{api-BT968Uwc.js → api-CdVRdA0g.js} +1 -1
  10. package/dist/createWorkspaceWsHandler-CL5-4wFp.js +13037 -0
  11. package/dist/{index-BX1Wd9x9.js → index-4YxdJwFm.js} +3 -3
  12. package/dist/index-7Pe_xBrh.js +582 -0
  13. package/dist/{index-DFY3lzq0.js → index-C2Wkg1b5.js} +3 -3
  14. package/dist/{index-CdlfWFvS.js → index-C3B7CbHo.js} +610 -529
  15. package/dist/{index-BkX0I2aB.js → index-C6S3MIu4.js} +56 -56
  16. package/dist/{index-BAY37t4f.js → index-CGWttFLb.js} +41 -35
  17. package/dist/{index-LwKUkzKI.js → index-CKS65_Dw.js} +3 -3
  18. package/dist/{index-Bdu31aRV.js → index-CLWgeKwr.js} +2 -2
  19. package/dist/{index-DxFZKDq-.js → index-C_2o9qgM.js} +6 -6
  20. package/dist/index-CgQH7-9F.js +130 -0
  21. package/dist/{index-B_C7H9WL.js → index-D6V-4vNa.js} +5 -5
  22. package/dist/index-DC5lxCN8.js +474 -0
  23. package/dist/{index-D9AqC2O-.js → index-DET70T3j.js} +1 -1
  24. package/dist/index-DEx5rtXv.js +242 -0
  25. package/dist/{index-DpcrvKsK.js → index-DJOyOVn_.js} +87 -74
  26. package/dist/{index-qK6pyAGy.js → index-DKeYG0Fu.js} +4 -4
  27. package/dist/index-DLQoecEe.js +1143 -0
  28. package/dist/{index-CR3sbzOU.js → index-DLyAy3cr.js} +7 -7
  29. package/dist/index-DOygBsXO.js +2826 -0
  30. package/dist/index-DRrBkbr_.js +100 -0
  31. package/dist/index-DWsfQMp8.js +208 -0
  32. package/dist/index-Pk7OkJrk.js +1133 -0
  33. package/dist/index-TDZM-Zv3.js +9287 -0
  34. package/dist/index-WIsi8fln.js +339 -0
  35. package/dist/{index-BAK7UDvY.js → index-aw72ID7y.js} +1 -1
  36. package/dist/{index-ClA0896K.js → index-lftFkqfI.js} +4 -4
  37. package/dist/{index-JMzBzwiO.js → index-usrA11ZG.js} +618 -617
  38. package/dist/index.js +1 -1
  39. package/dist/{instance-D5dhjbgg.js → instance-f3C-1qYl.js} +3 -3
  40. package/dist/pages.js +1 -1
  41. package/dist/schedule-DfkgwPdE.js +497 -0
  42. package/dist/{send-default-agent-team-message-C882sJLV.js → send-default-agent-team-message-d_ECdczr.js} +1 -1
  43. package/dist/{sso-user-Bi9_l9yi.js → sso-user-HcsSzg8P.js} +1 -1
  44. package/dist/{training-Ba09KItE.js → training-DnNQN0An.js} +1 -1
  45. package/dist/{useAppStore-ibJyVIAX.js → useAppStore-kRZEA5WZ.js} +19 -19
  46. package/dist/webide-DPjFYxLl.js +7845 -0
  47. package/dist/z-team-component.css +2 -2
  48. package/package.json +1 -1
  49. package/dist/SmartWorkbench.module-xRRmpTTw.js +0 -85
  50. package/dist/createWorkspaceWsHandler-mq-UTF2O.js +0 -13028
  51. package/dist/index-7nSly-MA.js +0 -405
  52. package/dist/index-B11_fFjX.js +0 -1182
  53. package/dist/index-B3-0eXYQ.js +0 -844
  54. package/dist/index-Cp3DAwNx.js +0 -13862
  55. package/dist/index-NaBR2aQE.js +0 -6685
  56. package/dist/index-UsGqMo11.js +0 -848
  57. package/dist/schedule-C-4ksDPw.js +0 -239
  58. package/dist/webide-RsFP9pHM.js +0 -8087
@@ -0,0 +1,242 @@
1
+ import { jsx as e, jsxs as n } from "react/jsx-runtime";
2
+ import { Navigate as i, useLocation as b } from "react-router-dom";
3
+ import { Alert as u } from "antd";
4
+ import { DashboardOutlined as v, ClusterOutlined as r, ContainerOutlined as y, CloudServerOutlined as l, BranchesOutlined as O, RocketOutlined as g, AlertOutlined as k, FileTextOutlined as S, DatabaseOutlined as c, CloudOutlined as f, DeploymentUnitOutlined as z } from "@ant-design/icons";
5
+ import { W as P } from "./index-DRrBkbr_.js";
6
+ import { M as D } from "./ComponentDoc-yvIrAz9-.js";
7
+ import "./index-TDZM-Zv3.js";
8
+ const a = "K8s 管理面的数据源在**独立运维平台 z-ops**:/z-team/ops/k8s/** 由 z-ops 仓的 z-ops-web 提供(K8sController 注册 /z-team/ops/k8s,HpaController 注册 /z-team/ops/k8s/hpa)。**z-opc 主壳不承载它**:主壳制品 BOOT-INF/lib 里 0 个 z-ops-*,主壳 nginx 路由总表里也没有^/z-team/ops 这条反代规则 ⇒ 实测 GET /z-team/ops/k8s/nodes 得到的是 SPA 兜底页(HTTP 200 + text/html + 451B,与必假路径逐字节相同),不是后端 JSON。该页面的真实入口在 z-ops 独立平台(集群内端口 8886,其前端路由 /ops/k8s)。", E = [
9
+ {
10
+ title: "DevOps 运维",
11
+ icon: /* @__PURE__ */ e(r, {}),
12
+ items: [
13
+ {
14
+ key: "devops-dashboard",
15
+ label: "运维总览",
16
+ icon: /* @__PURE__ */ e(v, {}),
17
+ path: "/ops/devops/dashboard",
18
+ desc: "集群概览与资源统计"
19
+ },
20
+ {
21
+ key: "devops-nodes",
22
+ label: "节点管理",
23
+ icon: /* @__PURE__ */ e(r, {}),
24
+ path: "/ops/devops/nodes",
25
+ desc: "K8s 节点列表与状态"
26
+ },
27
+ {
28
+ key: "devops-pods",
29
+ label: "Pod 管理",
30
+ icon: /* @__PURE__ */ e(y, {}),
31
+ path: "/ops/devops/pods",
32
+ desc: "Pod 列表、日志、终端"
33
+ },
34
+ {
35
+ key: "devops-hpa",
36
+ label: "弹性伸缩",
37
+ icon: /* @__PURE__ */ e(l, {}),
38
+ path: "/ops/devops/hpa",
39
+ desc: "HPA 自动扩缩容策略"
40
+ },
41
+ {
42
+ key: "devops-registry",
43
+ label: "镜像仓库",
44
+ icon: /* @__PURE__ */ e(l, {}),
45
+ path: "/ops/devops/registry",
46
+ desc: "容器镜像统一管理"
47
+ },
48
+ {
49
+ key: "devops-pipeline",
50
+ label: "流水线",
51
+ icon: /* @__PURE__ */ e(O, {}),
52
+ path: "/ops/devops/pipeline",
53
+ desc: "CI/CD 流水线编排"
54
+ },
55
+ {
56
+ key: "devops-release",
57
+ label: "发布管理",
58
+ icon: /* @__PURE__ */ e(g, {}),
59
+ path: "/ops/devops/release",
60
+ desc: "应用发布与回滚"
61
+ },
62
+ {
63
+ key: "devops-monitor",
64
+ label: "监控告警",
65
+ icon: /* @__PURE__ */ e(k, {}),
66
+ path: "/ops/devops/monitor",
67
+ desc: "Prometheus/Grafana 监控"
68
+ },
69
+ {
70
+ key: "devops-logs",
71
+ label: "日志管理",
72
+ icon: /* @__PURE__ */ e(S, {}),
73
+ path: "/ops/devops/logs",
74
+ desc: "Loki 集中日志查询"
75
+ },
76
+ {
77
+ key: "devops-dba",
78
+ label: "DBA 工单",
79
+ icon: /* @__PURE__ */ e(c, {}),
80
+ path: "/ops/devops/dba",
81
+ desc: "数据库运维工单"
82
+ }
83
+ ]
84
+ },
85
+ {
86
+ title: "基础设施",
87
+ icon: /* @__PURE__ */ e(r, {}),
88
+ items: [
89
+ {
90
+ key: "ops-channel",
91
+ label: "渠道管理",
92
+ icon: /* @__PURE__ */ e(f, {}),
93
+ path: "/ops/channel",
94
+ desc: "部署渠道配置与管理"
95
+ },
96
+ {
97
+ key: "ops-env",
98
+ label: "环境管理",
99
+ icon: /* @__PURE__ */ e(l, {}),
100
+ path: "/ops/delivery",
101
+ desc: "运行环境配置与管理"
102
+ },
103
+ {
104
+ key: "ops-deploy",
105
+ label: "部署管理",
106
+ icon: /* @__PURE__ */ e(z, {}),
107
+ path: "/ops/deployment",
108
+ desc: "应用部署与发布管理"
109
+ },
110
+ {
111
+ key: "ops-repo",
112
+ label: "仓库管理",
113
+ icon: /* @__PURE__ */ e(c, {}),
114
+ path: "/ops/repo-mgmt",
115
+ desc: "代码仓库与镜像管理"
116
+ }
117
+ ]
118
+ },
119
+ {
120
+ title: "资源管理",
121
+ icon: /* @__PURE__ */ e(l, {}),
122
+ items: [
123
+ {
124
+ key: "resource",
125
+ label: "资源管理",
126
+ icon: /* @__PURE__ */ e(l, {}),
127
+ path: "/resource/domain",
128
+ desc: "域名、ECS、RDS、OSS 管理"
129
+ }
130
+ ]
131
+ }
132
+ ];
133
+ function p({ label: o }) {
134
+ return /* @__PURE__ */ n("div", { style: { padding: 40, textAlign: "center", color: "#999" }, children: [
135
+ /* @__PURE__ */ n("h2", { children: [
136
+ "🚧 ",
137
+ o
138
+ ] }),
139
+ /* @__PURE__ */ e("p", { children: "功能开发中..." })
140
+ ] });
141
+ }
142
+ function t({ label: o, reason: d, message: h = "该页面未孵化,因为后端接口尚不可用" }) {
143
+ return /* @__PURE__ */ n("div", { style: { padding: 40, maxWidth: 720, margin: "0 auto" }, children: [
144
+ /* @__PURE__ */ n("h2", { style: { textAlign: "center" }, children: [
145
+ "🧪 ",
146
+ o
147
+ ] }),
148
+ /* @__PURE__ */ e(
149
+ u,
150
+ {
151
+ type: "warning",
152
+ showIcon: !0,
153
+ message: h,
154
+ description: d
155
+ }
156
+ )
157
+ ] });
158
+ }
159
+ function s({ label: o }) {
160
+ return /* @__PURE__ */ e(
161
+ t,
162
+ {
163
+ label: o,
164
+ message: "该页面未孵化,因为组件从来不在本仓",
165
+ reason: "组件从未迁进本仓:z-opc 的 src 目录下没有这个组件,历史上也没有任何提交 import 过它(OPS_ROUTES 里留着一个解析不到的标识符)。要恢复这一页,得先把组件从 z-ops 迁进来并接上它自己的后端;在那之前这里刻意不放假表格。"
166
+ }
167
+ );
168
+ }
169
+ function m() {
170
+ const { pathname: o } = b();
171
+ return /* @__PURE__ */ e(i, { to: `${o}?mode=middleware`, replace: !0 });
172
+ }
173
+ const A = [...D, "/script"], T = [
174
+ // ─── 运维中心 ───
175
+ // ⚠ 这一族路由的组件从来没有从 z-ops 迁进来(见 UnmigratedPage 注释)。原先直接写
176
+ // <ChannelPage/> 之类会在**模块求值期**抛 ReferenceError 并白屏整个前端,不是只坏这一页。
177
+ { path: "/ops", element: /* @__PURE__ */ e(i, { to: "/ops/devops", replace: !0 }) },
178
+ { path: "/ops/channel", element: /* @__PURE__ */ e(s, { label: "渠道管理" }) },
179
+ { path: "/ops/delivery", element: /* @__PURE__ */ e(s, { label: "环境管理" }) },
180
+ { path: "/ops/deployment", element: /* @__PURE__ */ e(s, { label: "部署管理" }) },
181
+ { path: "/ops/deployment/:id", element: /* @__PURE__ */ e(s, { label: "部署管理" }) },
182
+ { path: "/ops/repo-mgmt", element: /* @__PURE__ */ e(s, { label: "仓库管理" }) },
183
+ { path: "/ops/git-platform", element: /* @__PURE__ */ e(s, { label: "仓库管理" }) },
184
+ // ─── DevOps 子路由(K8s 管理面:**本宿主不承载** ⇒ 显式占位,见 DEVOPS_MIGRATED_NOTE)───
185
+ // ⚠ 这 4 条原先挂的是真组件(OpsDashboard / K8sNodeList / K8sPodList / K8sHpaList),
186
+ // 而它们的 API_BASE = '/z-team/ops/k8s'(OpsK8s/api.ts)——
187
+ // **该前缀的 handler 在 z-ops 仓的 z-ops-web 里**(K8sController @RequestMapping("/z-team/ops/k8s")
188
+ // / HpaController @RequestMapping("/z-team/ops/k8s/hpa")),**不在 z-opc 主壳**:
189
+ // ① 主壳 boot jar 的 BOOT-INF/lib 里 0 个 z-ops-*;
190
+ // ② 主壳 nginx 路由总表里没有 `^/z-team/ops` 这条反代规则;
191
+ // ⇒ 生产实测 GET /z-team/ops/k8s/nodes → HTTP 200 + text/html + 451B
192
+ // (sha16 92c38b6b20edc50d,与必假路径逐字节相同)= **SPA 兜底页**。
193
+ // ⇒ 这 4 条是「菜单项点进去是页面、数据源在后端不存在」的**断头路**
194
+ // (卡 TASK-20261023-056 · ops-001~004)。
195
+ // ⇒ 修法 = **撤菜单项的落地形态**:不再渲染真组件、不再发任何打到 /z-team/ops 的请求,
196
+ // 改渲染显式占位并写明**实测到的堵点**与归属平台(口径见 003_辅助能力/
197
+ // frontend-incubation-audit/SKILL.md:占位不许写成空表/全 0 的假绿)。
198
+ // ⚠ 菜单项**保留**(不删条目):深链进来要有明确去处,而不是白屏或落回 SPA 兜底。
199
+ { path: "/ops/devops", element: /* @__PURE__ */ e(t, { label: "DevOps 运维", reason: a, message: "该页面已迁至独立运维平台 z-ops,本宿主不承载" }) },
200
+ { path: "/ops/devops/dashboard", element: /* @__PURE__ */ e(t, { label: "运维总览", reason: a, message: "该页面已迁至独立运维平台 z-ops,本宿主不承载" }) },
201
+ { path: "/ops/devops/nodes", element: /* @__PURE__ */ e(t, { label: "节点管理", reason: a, message: "该页面已迁至独立运维平台 z-ops,本宿主不承载" }) },
202
+ { path: "/ops/devops/pods", element: /* @__PURE__ */ e(t, { label: "Pod 管理", reason: a, message: "该页面已迁至独立运维平台 z-ops,本宿主不承载" }) },
203
+ { path: "/ops/devops/hpa", element: /* @__PURE__ */ e(t, { label: "弹性伸缩", reason: a, message: "该页面已迁至独立运维平台 z-ops,本宿主不承载" }) },
204
+ { path: "/ops/devops/registry", element: /* @__PURE__ */ e(p, { label: "镜像仓库" }) },
205
+ { path: "/ops/devops/pipeline", element: /* @__PURE__ */ e(p, { label: "流水线" }) },
206
+ { path: "/ops/devops/release", element: /* @__PURE__ */ e(p, { label: "发布管理" }) },
207
+ { path: "/ops/devops/monitor", element: /* @__PURE__ */ e(p, { label: "监控告警" }) },
208
+ { path: "/ops/devops/logs", element: /* @__PURE__ */ e(p, { label: "日志管理" }) },
209
+ { path: "/ops/devops/dba", element: /* @__PURE__ */ e(p, { label: "DBA 工单" }) },
210
+ // ─── 资源管理 ───
211
+ { path: "/resource", element: /* @__PURE__ */ e(i, { to: "/resource/domain", replace: !0 }) },
212
+ { path: "/resource/domain", element: /* @__PURE__ */ e(s, { label: "域名管理" }) },
213
+ { path: "/resource/ecs", element: /* @__PURE__ */ e(s, { label: "ECS 管理" }) },
214
+ { path: "/resource/rds", element: /* @__PURE__ */ e(s, { label: "RDS 管理" }) },
215
+ { path: "/resource/oss", element: /* @__PURE__ */ e(s, { label: "OSS 管理" }) },
216
+ // ─── 已迁到中间件面的前缀 → 旧深链交还中间件面 ───
217
+ // ⚠ 必须排在最后:matchWorkbenchPath 先全表精确、再全表通配,
218
+ // 但本面自己的 /ops/* 与 /resource/* 都在前面,不会被这几条吃掉。
219
+ ...A.flatMap((o) => [
220
+ { path: o, element: /* @__PURE__ */ e(m, {}) },
221
+ { path: `${o}/*`, element: /* @__PURE__ */ e(m, {}) }
222
+ ])
223
+ ];
224
+ function U({
225
+ activePathOverride: o,
226
+ menuOnly: d = !1
227
+ } = {}) {
228
+ return /* @__PURE__ */ e(
229
+ P,
230
+ {
231
+ groups: E,
232
+ routes: T,
233
+ mode: "ops",
234
+ emptyText: "请从左侧菜单选择运维模块",
235
+ activePathOverride: o,
236
+ menuOnly: d
237
+ }
238
+ );
239
+ }
240
+ export {
241
+ U as default
242
+ };
@@ -1,52 +1,61 @@
1
1
  import { jsxs as n, jsx as e } from "react/jsx-runtime";
2
- import { useState as N, useRef as A, useEffect as d, useCallback as h } from "react";
3
- import { h as _ } from "./history-BlrA1eaW.js";
4
- import { C as u } from "./ChangeLogView-nPAmM1X0.js";
5
- const T = "_docs_t4zom_6", v = "_bgLayer_t4zom_33", p = "_bgGrid_t4zom_47", y = "_navbar_t4zom_65", f = "_navLeft_t4zom_81", z = "_navBack_t4zom_87", k = "_navBrand_t4zom_104", I = "_navLogo_t4zom_110", q = "_navTitle_t4zom_124", B = "_navLink_t4zom_130", L = "_layout_t4zom_144", C = "_sidebar_t4zom_154", S = "_sidebarInner_t4zom_165", G = "_sidebarTitle_t4zom_169", E = "_tocItem_t4zom_179", D = "_tocActive_t4zom_201", K = "_tocNum_t4zom_207", F = "_content_t4zom_219", w = "_section_t4zom_229", O = "_secTitle_t4zom_234", R = "_subTitle_t4zom_244", x = "_lead_t4zom_251", W = "_list_t4zom_266", M = "_olist_t4zom_297", Z = "_callout_t4zom_332", Q = "_calloutGreen_t4zom_344", P = "_calloutBlue_t4zom_356", U = "_calloutRed_t4zom_368", V = "_inlineCode_t4zom_385", H = "_codeBlock_t4zom_398", j = "_tableWrap_t4zom_413", Y = "_table_t4zom_413", $ = "_tableKey_t4zom_452", J = "_tableIcon_t4zom_457", X = "_faqList_t4zom_463", ee = "_faqItem_t4zom_469", le = "_faqQ_t4zom_481", ne = "_faqA_t4zom_488", ce = "_changelogEmbed_t4zom_495", ie = "_changelogTip_t4zom_499", te = "_changelogLink_t4zom_505", ae = "_docFooter_t4zom_516", se = "_backBtn_t4zom_525", re = "_docFooterText_t4zom_544", l = {
2
+ import { useState as b, useRef as N, useEffect as r, useCallback as h } from "react";
3
+ import { h as o } from "./history-BlrA1eaW.js";
4
+ import { C as A } from "./ChangeLogView-Cstbioyw.js";
5
+ const T = "_docs_lzhu5_12", v = "_bgLayer_lzhu5_59", p = "_bgGrid_lzhu5_70", f = "_navbar_lzhu5_87", y = "_navLeft_lzhu5_103", z = "_navBack_lzhu5_110", k = "_navBrand_lzhu5_132", I = "_navLogo_lzhu5_139", B = "_navTitle_lzhu5_154", q = "_navLink_lzhu5_164", L = "_layout_lzhu5_191", C = "_sidebar_lzhu5_202", S = "_sidebarInner_lzhu5_213", G = "_sidebarTitle_lzhu5_217", D = "_tocItem_lzhu5_227", E = "_tocActive_lzhu5_249", K = "_tocNum_lzhu5_260", w = "_content_lzhu5_275", F = "_section_lzhu5_285", O = "_secTitle_lzhu5_290", R = "_subTitle_lzhu5_301", x = "_lead_lzhu5_309", W = "_list_lzhu5_329", M = "_olist_lzhu5_360", Z = "_callout_lzhu5_397", Q = "_calloutBlue_lzhu5_398", $ = "_calloutGreen_lzhu5_399", P = "_calloutRed_lzhu5_400", U = "_inlineCode_lzhu5_441", V = "_codeBlock_lzhu5_454", H = "_tableWrap_lzhu5_470", j = "_table_lzhu5_470", Y = "_tableKey_lzhu5_512", J = "_tableIcon_lzhu5_517", X = "_statusDot_lzhu5_523", ee = "_tone_pending_lzhu5_532", le = "_tone_running_lzhu5_536", ne = "_tone_suspended_lzhu5_541", ce = "_tone_done_lzhu5_546", ie = "_tone_failed_lzhu5_551", te = "_tone_cancelled_lzhu5_556", ae = "_markGood_lzhu5_562", se = "_markBad_lzhu5_563", de = "_faqList_lzhu5_577", re = "_faqItem_lzhu5_583", he = "_faqQ_lzhu5_597", oe = "_faqA_lzhu5_604", me = "_changelogEmbed_lzhu5_611", ge = "_changelogTip_lzhu5_619", ue = "_changelogLink_lzhu5_625", _e = "_docFooter_lzhu5_637", be = "_backBtn_lzhu5_648", Ne = "_docFooterText_lzhu5_671", l = {
6
6
  docs: T,
7
7
  bgLayer: v,
8
8
  bgGrid: p,
9
- navbar: y,
10
- navLeft: f,
9
+ navbar: f,
10
+ navLeft: y,
11
11
  navBack: z,
12
12
  navBrand: k,
13
13
  navLogo: I,
14
- navTitle: q,
15
- navLink: B,
14
+ navTitle: B,
15
+ navLink: q,
16
16
  layout: L,
17
17
  sidebar: C,
18
18
  sidebarInner: S,
19
19
  sidebarTitle: G,
20
- tocItem: E,
21
- tocActive: D,
20
+ tocItem: D,
21
+ tocActive: E,
22
22
  tocNum: K,
23
- content: F,
24
- section: w,
23
+ content: w,
24
+ section: F,
25
25
  secTitle: O,
26
26
  subTitle: R,
27
27
  lead: x,
28
28
  list: W,
29
29
  olist: M,
30
30
  callout: Z,
31
- calloutGreen: Q,
32
- calloutBlue: P,
33
- calloutRed: U,
34
- inlineCode: V,
35
- codeBlock: H,
36
- tableWrap: j,
37
- table: Y,
38
- tableKey: $,
31
+ calloutBlue: Q,
32
+ calloutGreen: $,
33
+ calloutRed: P,
34
+ inlineCode: U,
35
+ codeBlock: V,
36
+ tableWrap: H,
37
+ table: j,
38
+ tableKey: Y,
39
39
  tableIcon: J,
40
- faqList: X,
41
- faqItem: ee,
42
- faqQ: le,
43
- faqA: ne,
44
- changelogEmbed: ce,
45
- changelogTip: ie,
46
- changelogLink: te,
47
- docFooter: ae,
48
- backBtn: se,
49
- docFooterText: re
40
+ statusDot: X,
41
+ tone_pending: ee,
42
+ tone_running: le,
43
+ tone_suspended: ne,
44
+ tone_done: ce,
45
+ tone_failed: ie,
46
+ tone_cancelled: te,
47
+ markGood: ae,
48
+ markBad: se,
49
+ faqList: de,
50
+ faqItem: re,
51
+ faqQ: he,
52
+ faqA: oe,
53
+ changelogEmbed: me,
54
+ changelogTip: ge,
55
+ changelogLink: ue,
56
+ docFooter: _e,
57
+ backBtn: be,
58
+ docFooterText: Ne
50
59
  }, s = [
51
60
  { id: "overview", label: "产品概述", num: "一" },
52
61
  { id: "concepts", label: "核心概念", num: "二" },
@@ -62,7 +71,7 @@ const T = "_docs_t4zom_6", v = "_bgLayer_t4zom_33", p = "_bgGrid_t4zom_47", y =
62
71
  { id: "best-practices", label: "最佳实践", num: "十二" },
63
72
  { id: "glossary", label: "术语表", num: "十三" },
64
73
  { id: "changelog", label: "产品迭代日志", num: "十四" }
65
- ], de = [
74
+ ], Ae = [
66
75
  ["自然交互", "用自然语言描述需求即可,无需学习复杂操作指令"],
67
76
  ["智能派发", "系统自动分析消息意图,判断是否需要创建任务、分给哪个 Agent"],
68
77
  ["专业分工", "每个 Agent 绑定专属技能(Skill),具备特定领域的专业能力"],
@@ -70,7 +79,7 @@ const T = "_docs_t4zom_6", v = "_bgLayer_t4zom_33", p = "_bgGrid_t4zom_47", y =
70
79
  ["人机协同", "关键决策由人确认,执行细节交给 Agent,兼顾效率与安全"],
71
80
  ["持续学习", "Agent 会从交互中积累上下文,逐步理解团队的工作方式和偏好"],
72
81
  ["知识沉淀", "系统自动从交互中提取结构化知识,支持搜索和复用"]
73
- ], he = [
82
+ ], Te = [
74
83
  [
75
84
  "故障排查",
76
85
  "多个专业 Agent 协作排查系统故障,从日志检索到根因定位,输出诊断报告"
@@ -85,31 +94,31 @@ const T = "_docs_t4zom_6", v = "_bgLayer_t4zom_33", p = "_bgGrid_t4zom_47", y =
85
94
  ],
86
95
  ["数据分析", "Agent 可查询数据库、分析数据、生成图表和报告"],
87
96
  ["自定义场景", "根据业务需求灵活配置 Agent 和技能组合,满足个性化协作需求"]
88
- ], oe = [
89
- ["待执行", "⏳", "已创建,等待 Agent 接手", "等待或取消"],
90
- ["执行中", "⚡", "Agent 正在处理", "等待或取消"],
91
- ["挂起", "🔒", "等待您的输入或决策", "填写表单/回复消息恢复"],
92
- ["已完成", "✅", "任务结束,结果已返回", "查看结果"],
93
- ["失败", "❌", "执行异常", "重新执行"],
94
- ["已取消", "🚫", "被手动取消", "—"]
95
- ], me = [
97
+ ], ve = [
98
+ ["待执行", "pending", "已创建,等待 Agent 接手", "等待或取消"],
99
+ ["执行中", "running", "Agent 正在处理", "等待或取消"],
100
+ ["挂起", "suspended", "等待您的输入或决策", "填写表单/回复消息恢复"],
101
+ ["已完成", "done", "任务结束,结果已返回", "查看结果"],
102
+ ["失败", "failed", "执行异常", "重新执行"],
103
+ ["已取消", "cancelled", "被手动取消", "—"]
104
+ ], pe = [
96
105
  ["单选", "从多个选项中选择一个", "选择排查方向、确认方案"],
97
106
  ["多选", "从多个选项中选择多个", "选择需要检查的服务"],
98
107
  ["文本输入", "填写文本内容", "补充问题描述、输入参数"],
99
108
  ["Git 地址", "填写代码仓库地址", "指定需要分析的代码库"],
100
109
  ["环境选择", "选择目标环境", "确认排查的目标环境"]
101
- ], ge = [
110
+ ], fe = [
102
111
  ["中心运维数字大脑", "主控,协调排查流程,汇总诊断报告"],
103
112
  ["代码分析师", "分析代码逻辑、定位问题代码、审查变更"],
104
113
  ["基础设施检查员", "检查 DB、连接池、网络等基础设施状态"],
105
114
  ["诊断综合器", "汇总各 Agent 发现,输出诊断报告和修复建议"]
106
- ], be = [
115
+ ], ye = [
107
116
  ["项目助理(主 Agent)", "需求理解、任务协调、流程推进"],
108
117
  ["需求分析 Agent", "需求拆解、评审、边界条件识别"],
109
118
  ["方案设计 Agent", "技术方案设计、架构评审"],
110
119
  ["代码研发 Agent", "代码实现、单元测试"],
111
120
  ["验证执行 Agent", "测试验证、质量把关"]
112
- ], Ne = [
121
+ ], ze = [
113
122
  {
114
123
  q: "发消息后 Agent 没有响应?",
115
124
  a: "可能原因:Agent 服务未启动或不可用;Agent 未正确绑定技能;消息内容被 Observer 判定为闲聊,未创建任务。解决:检查消息是否包含明确的任务意图,或联系管理员检查 Agent 配置和技能绑定状态。"
@@ -162,7 +171,7 @@ const T = "_docs_t4zom_6", v = "_bgLayer_t4zom_33", p = "_bgGrid_t4zom_47", y =
162
171
  q: "如何通过钉钉群使用?",
163
172
  a: "联系管理员将您的钉钉群绑定到 FT 场景实例。绑定后,在钉钉群内 @机器人 即可触发 Agent 协作,使用方式与 Web 端一致。"
164
173
  }
165
- ], Ae = [
174
+ ], ke = [
166
175
  ["场景(Scenario)", "工作模板,定义 Agent 组合和技能配置"],
167
176
  ["实例(Scenario Instance)", "基于场景创建的具体工作空间"],
168
177
  ["Agent", "AI 智能助手,具备特定领域能力"],
@@ -183,13 +192,13 @@ const T = "_docs_t4zom_6", v = "_bgLayer_t4zom_33", p = "_bgGrid_t4zom_47", y =
183
192
  ["火箭跳转", "从消息中快速导航到相关页面的功能"],
184
193
  ["知识库", "系统从交互中自动提取的结构化知识,支持搜索复用"]
185
194
  ];
186
- function pe() {
187
- const [o, m] = N("overview"), g = A(null);
188
- d(() => {
195
+ function Ce() {
196
+ const [m, g] = b("overview"), u = N(null);
197
+ r(() => {
189
198
  const c = new IntersectionObserver(
190
199
  (i) => {
191
200
  i.forEach((t) => {
192
- t.isIntersecting && m(t.target.id);
201
+ t.isIntersecting && g(t.target.id);
193
202
  });
194
203
  },
195
204
  { rootMargin: "-20% 0px -60% 0px", threshold: 0 }
@@ -203,32 +212,30 @@ function pe() {
203
212
  var i;
204
213
  (i = document.getElementById(c)) == null || i.scrollIntoView({ behavior: "smooth" });
205
214
  }, []);
206
- d(() => {
215
+ r(() => {
207
216
  const c = window.location.hash.replace(/^#/, "");
208
- if (!c || !s.find((b) => b.id === c)) return;
217
+ if (!c || !s.find((_) => _.id === c)) return;
209
218
  const t = window.setTimeout(() => a(c), 120);
210
219
  return () => window.clearTimeout(t);
211
220
  }, [a]);
212
- const r = h(() => _.push("/welcome"), []);
221
+ const d = h(() => o.push("/welcome"), []);
213
222
  return /* @__PURE__ */ n("div", { className: l.docs, children: [
214
223
  /* @__PURE__ */ e("div", { className: l.bgLayer }),
215
224
  /* @__PURE__ */ e("div", { className: l.bgGrid }),
216
225
  /* @__PURE__ */ n("nav", { className: l.navbar, children: [
217
226
  /* @__PURE__ */ n("div", { className: l.navLeft, children: [
218
- /* @__PURE__ */ e("button", { className: l.navBack, onClick: r, children: "← 返回" }),
227
+ /* @__PURE__ */ e("button", { className: l.navBack, onClick: d, children: "← 返回" }),
219
228
  /* @__PURE__ */ n("div", { className: l.navBrand, children: [
220
229
  /* @__PURE__ */ e("div", { className: l.navLogo, children: "ZT" }),
221
230
  /* @__PURE__ */ e("span", { className: l.navTitle, children: "Z Team · 操作手册" })
222
231
  ] })
223
232
  ] }),
224
233
  /* @__PURE__ */ e(
225
- "a",
234
+ "button",
226
235
  {
227
236
  className: l.navLink,
228
- href: "#",
229
- target: "_blank",
230
- rel: "noopener noreferrer",
231
- children: "客户端详情 ↗"
237
+ onClick: () => o.push("/download"),
238
+ children: "下载客户端 →"
232
239
  }
233
240
  )
234
241
  ] }),
@@ -238,7 +245,7 @@ function pe() {
238
245
  s.map((c) => /* @__PURE__ */ n(
239
246
  "button",
240
247
  {
241
- className: `${l.tocItem} ${o === c.id ? l.tocActive : ""}`,
248
+ className: `${l.tocItem} ${m === c.id ? l.tocActive : ""}`,
242
249
  onClick: () => a(c.id),
243
250
  children: [
244
251
  /* @__PURE__ */ e("span", { className: l.tocNum, children: c.num }),
@@ -248,7 +255,7 @@ function pe() {
248
255
  c.id
249
256
  ))
250
257
  ] }) }),
251
- /* @__PURE__ */ n("main", { className: l.content, ref: g, children: [
258
+ /* @__PURE__ */ n("main", { className: l.content, ref: u, children: [
252
259
  /* @__PURE__ */ n("section", { id: "overview", className: l.section, children: [
253
260
  /* @__PURE__ */ e("h2", { className: l.secTitle, children: "一、产品概述" }),
254
261
  /* @__PURE__ */ e("p", { className: l.lead, children: 'Z Team 将即时通讯(IM)与 AI Agent 深度结合,打造了一个"人 + AI"混合协作的工作空间。 群聊即工作台——在群聊中发消息,AI Agent 自动理解意图、拉起任务、执行并回复结果。' }),
@@ -258,7 +265,7 @@ function pe() {
258
265
  /* @__PURE__ */ e("th", { children: "价值" }),
259
266
  /* @__PURE__ */ e("th", { children: "说明" })
260
267
  ] }) }),
261
- /* @__PURE__ */ e("tbody", { children: de.map((c, i) => /* @__PURE__ */ n("tr", { children: [
268
+ /* @__PURE__ */ e("tbody", { children: Ae.map((c, i) => /* @__PURE__ */ n("tr", { children: [
262
269
  /* @__PURE__ */ e("td", { className: l.tableKey, children: c[0] }),
263
270
  /* @__PURE__ */ e("td", { children: c[1] })
264
271
  ] }, i)) })
@@ -269,7 +276,7 @@ function pe() {
269
276
  /* @__PURE__ */ e("th", { children: "场景" }),
270
277
  /* @__PURE__ */ e("th", { children: "说明" })
271
278
  ] }) }),
272
- /* @__PURE__ */ e("tbody", { children: he.map((c, i) => /* @__PURE__ */ n("tr", { children: [
279
+ /* @__PURE__ */ e("tbody", { children: Te.map((c, i) => /* @__PURE__ */ n("tr", { children: [
273
280
  /* @__PURE__ */ e("td", { className: l.tableKey, children: c[0] }),
274
281
  /* @__PURE__ */ e("td", { children: c[1] })
275
282
  ] }, i)) })
@@ -475,13 +482,19 @@ function pe() {
475
482
  /* @__PURE__ */ e("div", { className: l.tableWrap, children: /* @__PURE__ */ n("table", { className: l.table, children: [
476
483
  /* @__PURE__ */ e("thead", { children: /* @__PURE__ */ n("tr", { children: [
477
484
  /* @__PURE__ */ e("th", { children: "状态" }),
478
- /* @__PURE__ */ e("th", { children: "图标" }),
485
+ /* @__PURE__ */ e("th", { children: "标识" }),
479
486
  /* @__PURE__ */ e("th", { children: "含义" }),
480
487
  /* @__PURE__ */ e("th", { children: "您可以做什么" })
481
488
  ] }) }),
482
- /* @__PURE__ */ e("tbody", { children: oe.map((c, i) => /* @__PURE__ */ n("tr", { children: [
489
+ /* @__PURE__ */ e("tbody", { children: ve.map((c, i) => /* @__PURE__ */ n("tr", { children: [
483
490
  /* @__PURE__ */ e("td", { className: l.tableKey, children: c[0] }),
484
- /* @__PURE__ */ e("td", { className: l.tableIcon, children: c[1] }),
491
+ /* @__PURE__ */ e("td", { className: l.tableIcon, children: /* @__PURE__ */ e(
492
+ "span",
493
+ {
494
+ className: `${l.statusDot} ${l[`tone_${c[1]}`]}`,
495
+ title: c[0]
496
+ }
497
+ ) }),
485
498
  /* @__PURE__ */ e("td", { children: c[2] }),
486
499
  /* @__PURE__ */ e("td", { children: c[3] })
487
500
  ] }, i)) })
@@ -520,7 +533,7 @@ function pe() {
520
533
  /* @__PURE__ */ e("th", { children: "说明" }),
521
534
  /* @__PURE__ */ e("th", { children: "示例场景" })
522
535
  ] }) }),
523
- /* @__PURE__ */ e("tbody", { children: me.map((c, i) => /* @__PURE__ */ n("tr", { children: [
536
+ /* @__PURE__ */ e("tbody", { children: pe.map((c, i) => /* @__PURE__ */ n("tr", { children: [
524
537
  /* @__PURE__ */ e("td", { className: l.tableKey, children: c[0] }),
525
538
  /* @__PURE__ */ e("td", { children: c[1] }),
526
539
  /* @__PURE__ */ e("td", { children: c[2] })
@@ -553,7 +566,7 @@ function pe() {
553
566
  /* @__PURE__ */ e("th", { children: "Agent" }),
554
567
  /* @__PURE__ */ e("th", { children: "职责" })
555
568
  ] }) }),
556
- /* @__PURE__ */ e("tbody", { children: ge.map((c, i) => /* @__PURE__ */ n("tr", { children: [
569
+ /* @__PURE__ */ e("tbody", { children: fe.map((c, i) => /* @__PURE__ */ n("tr", { children: [
557
570
  /* @__PURE__ */ e("td", { className: l.tableKey, children: c[0] }),
558
571
  /* @__PURE__ */ e("td", { children: c[1] })
559
572
  ] }, i)) })
@@ -574,7 +587,7 @@ function pe() {
574
587
  /* @__PURE__ */ e("th", { children: "Agent" }),
575
588
  /* @__PURE__ */ e("th", { children: "职责" })
576
589
  ] }) }),
577
- /* @__PURE__ */ e("tbody", { children: be.map((c, i) => /* @__PURE__ */ n("tr", { children: [
590
+ /* @__PURE__ */ e("tbody", { children: ye.map((c, i) => /* @__PURE__ */ n("tr", { children: [
578
591
  /* @__PURE__ */ e("td", { className: l.tableKey, children: c[0] }),
579
592
  /* @__PURE__ */ e("td", { children: c[1] })
580
593
  ] }, i)) })
@@ -686,7 +699,7 @@ function pe() {
686
699
  ] }),
687
700
  /* @__PURE__ */ n("section", { id: "faq", className: l.section, children: [
688
701
  /* @__PURE__ */ e("h2", { className: l.secTitle, children: "十一、常见问题" }),
689
- /* @__PURE__ */ e("div", { className: l.faqList, children: Ne.map((c, i) => /* @__PURE__ */ n("div", { className: l.faqItem, children: [
702
+ /* @__PURE__ */ e("div", { className: l.faqList, children: ze.map((c, i) => /* @__PURE__ */ n("div", { className: l.faqItem, children: [
690
703
  /* @__PURE__ */ n("div", { className: l.faqQ, children: [
691
704
  "Q",
692
705
  i + 1,
@@ -700,14 +713,14 @@ function pe() {
700
713
  /* @__PURE__ */ e("h2", { className: l.secTitle, children: "十二、最佳实践" }),
701
714
  /* @__PURE__ */ e("h3", { className: l.subTitle, children: "12.1 如何高效描述需求" }),
702
715
  /* @__PURE__ */ n("div", { className: l.calloutGreen, children: [
703
- "✅ ",
716
+ /* @__PURE__ */ e("span", { className: l.markGood, children: "✓" }),
704
717
  /* @__PURE__ */ e("strong", { children: "好的描述" }),
705
718
  ":",
706
719
  /* @__PURE__ */ e("br", {}),
707
720
  /* @__PURE__ */ e("code", { className: l.inlineCode, children: "nhyfy 环境工单 330511683,TID: dcba85cb454,报错信息:GetConnectionTimeoutException: wait millis 5000, active 8, maxActive 8。请帮忙排查根因。" })
708
721
  ] }),
709
722
  /* @__PURE__ */ n("div", { className: l.calloutRed, children: [
710
- "❌ ",
723
+ /* @__PURE__ */ e("span", { className: l.markBad, children: "✗" }),
711
724
  /* @__PURE__ */ e("strong", { children: "不好的描述" }),
712
725
  ":",
713
726
  /* @__PURE__ */ e("br", {}),
@@ -764,7 +777,7 @@ function pe() {
764
777
  /* @__PURE__ */ e("th", { children: "术语" }),
765
778
  /* @__PURE__ */ e("th", { children: "说明" })
766
779
  ] }) }),
767
- /* @__PURE__ */ e("tbody", { children: Ae.map((c, i) => /* @__PURE__ */ n("tr", { children: [
780
+ /* @__PURE__ */ e("tbody", { children: ke.map((c, i) => /* @__PURE__ */ n("tr", { children: [
768
781
  /* @__PURE__ */ e("td", { className: l.tableKey, children: c[0] }),
769
782
  /* @__PURE__ */ e("td", { children: c[1] })
770
783
  ] }, i)) })
@@ -773,7 +786,7 @@ function pe() {
773
786
  /* @__PURE__ */ n("section", { id: "changelog", className: l.section, children: [
774
787
  /* @__PURE__ */ e("h2", { className: l.secTitle, children: "十四、产品迭代日志" }),
775
788
  /* @__PURE__ */ e("p", { className: l.lead, children: "Z Team 的每一次迭代都会沉淀为一条产品要点。这里按版本倒序列出产品的完整演进历程: 迭代节奏与贡献分布、版本时间线,以及每个版本的变更要点明细 ——产品长什么样,看这一章就够了。" }),
776
- /* @__PURE__ */ e("div", { className: l.changelogEmbed, children: /* @__PURE__ */ e(u, { variant: "embed" }) }),
789
+ /* @__PURE__ */ e("div", { className: l.changelogEmbed, children: /* @__PURE__ */ e(A, { variant: "embed" }) }),
777
790
  /* @__PURE__ */ n("p", { className: l.changelogTip, children: [
778
791
  "需要更大的阅读空间?",
779
792
  /* @__PURE__ */ e(
@@ -789,7 +802,7 @@ function pe() {
789
802
  ] })
790
803
  ] }),
791
804
  /* @__PURE__ */ n("div", { className: l.docFooter, children: [
792
- /* @__PURE__ */ e("button", { className: l.backBtn, onClick: r, children: "← 返回欢迎页" }),
805
+ /* @__PURE__ */ e("button", { className: l.backBtn, onClick: d, children: "← 返回欢迎页" }),
793
806
  /* @__PURE__ */ e("span", { className: l.docFooterText, children: "Z Team · 操作手册 · 最后更新 2026-07-22" })
794
807
  ] })
795
808
  ] })
@@ -797,5 +810,5 @@ function pe() {
797
810
  ] });
798
811
  }
799
812
  export {
800
- pe as default
813
+ Ce as default
801
814
  };
@@ -1,17 +1,17 @@
1
1
  import { jsx as t, jsxs as l } from "react/jsx-runtime";
2
2
  import { f as ie, r as z } from "./ctc-sso-DtJHC-2M.js";
3
- import { r as ne, h as X, s as oe } from "./sso-user-Bi9_l9yi.js";
3
+ import { r as ne, h as X, s as oe } from "./sso-user-HcsSzg8P.js";
4
4
  import { CheckCircleFilled as le, QuestionCircleOutlined as ce, CloseOutlined as me } from "@ant-design/icons";
5
5
  import { message as k, Result as de, Button as D, Spin as G, Input as ue, Image as fe } from "antd";
6
6
  import pe from "query-string";
7
7
  import { useState as f, useRef as Y, useMemo as K, useCallback as w, useEffect as V } from "react";
8
8
  import { useLocation as ge } from "react-router-dom";
9
9
  import { h as W } from "./history-BlrA1eaW.js";
10
- import { q as he, d as be, e as _e } from "./api-C78tCfne.js";
11
- import { u as c } from "./useAppStore-ibJyVIAX.js";
10
+ import { l as he, d as be, e as _e } from "./api-CALqShkO.js";
11
+ import { u as c } from "./useAppStore-kRZEA5WZ.js";
12
12
  /* empty css */
13
13
  import { b as ye } from "./mobile-client-O3yr9h6t.js";
14
- import { a as ve, s as we } from "./send-default-agent-team-message-C882sJLV.js";
14
+ import { a as ve, s as we } from "./send-default-agent-team-message-d_ECdczr.js";
15
15
  const Ne = 5e3, E = 9, Ce = 10 * 1024 * 1024, Se = /^image\//i, Ie = /\.(png|jpe?g|gif|bmp|webp)$/i;
16
16
  function Pe(a) {
17
17
  return a.type && Se.test(a.type) ? !0 : Ie.test(a.name || "");