@yuku123/z-team-component 0.2.56 → 0.2.58

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 (54) hide show
  1. package/dist/{ChangeLogView-R6boINWk.js → ChangeLogView-Cstbioyw.js} +137 -137
  2. package/dist/{ComponentDoc-CXivBlKo.js → ComponentDoc-MWEULbua.js} +121 -121
  3. package/dist/{InvitationManagementPage-B2Kow6-8.js → InvitationManagementPage-DHomiF0D.js} +1 -1
  4. package/dist/{OnboardingPage-DbK9iTSY.js → OnboardingPage-D4ccf9Rj.js} +2 -2
  5. package/dist/{ScheduledTasks-DcM_HA5v.js → ScheduledTasks-xjtP-eIJ.js} +2992 -2957
  6. package/dist/SystemShell-XnTCunV0.js +907 -0
  7. package/dist/{admin-logs-DMF0dtG1.js → admin-logs-B9KS6VJz.js} +2 -2
  8. package/dist/{api-BPJ4ZHcq.js → api-BAOITIl4.js} +1 -1
  9. package/dist/{api-DhuqONeb.js → api-CALqShkO.js} +228 -210
  10. package/dist/createWorkspaceWsHandler-DP30xvug.js +13035 -0
  11. package/dist/{index-CZ9xxAL0.js → index-4YxdJwFm.js} +3 -3
  12. package/dist/{index-DnXcckr9.js → index-8gCovDDT.js} +6 -6
  13. package/dist/index-BADGOdUu.js +1229 -0
  14. package/dist/index-BPOiMJa1.js +2841 -0
  15. package/dist/{index-BV5g5lsS.js → index-Bw0a0nRQ.js} +3 -3
  16. package/dist/{index-B8eiFO_f.js → index-C2Wkg1b5.js} +3 -3
  17. package/dist/{index-BOcKPM37.js → index-C3B7CbHo.js} +1 -1
  18. package/dist/{index-D9UhloUj.js → index-C4-Sn2rx.js} +2 -2
  19. package/dist/{index-BkX0I2aB.js → index-C6S3MIu4.js} +56 -56
  20. package/dist/index-CDFDjyHa.js +9254 -0
  21. package/dist/{index-CzePRAbT.js → index-CGWttFLb.js} +4 -4
  22. package/dist/{index-Ct9MzvZV.js → index-CLWgeKwr.js} +2 -2
  23. package/dist/{index-JMzBzwiO.js → index-CinRd7Nz.js} +618 -617
  24. package/dist/{index-BKVWW3ba.js → index-DET70T3j.js} +1 -1
  25. package/dist/{index-DactZGbw.js → index-DHXxiZa9.js} +2 -2
  26. package/dist/{index-Otx98G8z.js → index-DJOyOVn_.js} +87 -74
  27. package/dist/{index-CbUsvCMy.js → index-DKeYG0Fu.js} +4 -4
  28. package/dist/index-DWsfQMp8.js +208 -0
  29. package/dist/index-DniCNHNJ.js +1143 -0
  30. package/dist/{index-vy0cRfLN.js → index-Dtm6ORr2.js} +5 -5
  31. package/dist/{index-B-XDBODG.js → index-Ot_5dG_I.js} +1 -1
  32. package/dist/{index-DdRJhUqt.js → index-UjMCPXHz.js} +3 -3
  33. package/dist/index-WIsi8fln.js +339 -0
  34. package/dist/{index-BM6XpIcw.js → index-aw72ID7y.js} +1 -1
  35. package/dist/{index-BP97Ev-W.js → index-lftFkqfI.js} +4 -4
  36. package/dist/{index-CZxihNo5.js → index-m8V5TniT.js} +7 -7
  37. package/dist/index.js +1 -1
  38. package/dist/{instance-Cr4_XM2r.js → instance-f3C-1qYl.js} +1 -1
  39. package/dist/pages.js +1 -1
  40. package/dist/{schedule-BNLns-p4.js → schedule-DfkgwPdE.js} +1 -1
  41. package/dist/{send-default-agent-team-message-C9VWSWKJ.js → send-default-agent-team-message-d_ECdczr.js} +1 -1
  42. package/dist/{sso-user-Cme2tmGq.js → sso-user-HcsSzg8P.js} +1 -1
  43. package/dist/{training-SjRAdtNQ.js → training-DnNQN0An.js} +1 -1
  44. package/dist/{useAppStore-C63xiq3-.js → useAppStore-kRZEA5WZ.js} +1 -1
  45. package/dist/webide-BcRzJX-h.js +8255 -0
  46. package/dist/z-team-component.css +2 -2
  47. package/package.json +1 -2
  48. package/dist/SystemShell-BDSLyt15.js +0 -637
  49. package/dist/createWorkspaceWsHandler-BJhBWCRa.js +0 -13035
  50. package/dist/index-2xlHrS59.js +0 -2828
  51. package/dist/index-B30K72xQ.js +0 -1330
  52. package/dist/index-BWgbbHyC.js +0 -8977
  53. package/dist/index-Ba9q3egm.js +0 -1182
  54. package/dist/webide-DDFxSedU.js +0 -7845
@@ -0,0 +1,1229 @@
1
+ import { jsxs as t, jsx as a } from "react/jsx-runtime";
2
+ import { useState as u, useEffect as M, useMemo as x, useCallback as C, useLayoutEffect as W } from "react";
3
+ import { h as b } from "./history-BlrA1eaW.js";
4
+ import { f as P, p as A, L as i, a as V, b as H, M as Z, A as q } from "./index-DWsfQMp8.js";
5
+ const J = "_welcome_1knmo_11", K = "_bgWash_1knmo_57", U = "_bgGrid_1knmo_68", j = "_container_1knmo_82", Q = "_navbar_1knmo_99", Y = "_navInner_1knmo_109", X = "_navBrand_1knmo_119", ee = "_navMark_1knmo_127", ae = "_navBrandText_1knmo_142", ne = "_navLinks_1knmo_149", te = "_navLink_1knmo_149", oe = "_navLinkActive_1knmo_172", ce = "_navMenuBtn_1knmo_177", se = "_navMenuIcon_1knmo_197", le = "_navMenuIconOpen_1knmo_214", ie = "_navMenuPanel_1knmo_226", re = "_menuIn_1knmo_1", de = "_navMenuItem_1knmo_255", me = "_navMenuCta_1knmo_273", _e = "_navActions_1knmo_294", he = "_navGhost_1knmo_301", pe = "_navPrimary_1knmo_302", ke = "_hero_1knmo_342", ve = "_heroInner_1knmo_348", Ne = "_eyebrow_1knmo_357", ue = "_eyebrowDot_1knmo_373", be = "_heroTitle_1knmo_381", fe = "_heroTitleAccent_1knmo_391", we = "_heroLead_1knmo_404", ge = "_heroActions_1knmo_412", Te = "_btnPrimary_1knmo_419", Ce = "_btnSecondary_1knmo_420", Ie = "_heroStats_1knmo_461", Me = "_heroStat_1knmo_461", Ae = "_heroStatNum_1knmo_474", ye = "_heroStatLabel_1knmo_482", ze = "_heroVisual_1knmo_488", Se = "_chatCard_1knmo_504", Le = "_chatHead_1knmo_515", Re = "_chatHeadLeft_1knmo_525", Ee = "_chatLiveDot_1knmo_532", Pe = "_chatRoom_1knmo_541", De = "_chatMeta_1knmo_550", Be = "_chatBody_1knmo_557", $e = "_chatRow_1knmo_565", Fe = "_chatRowHuman_1knmo_572", Oe = "_chatRowAgent_1knmo_577", Ge = "_chatRowSub_1knmo_578", xe = "_chatWho_1knmo_582", We = "_chatName_1knmo_590", Ve = "_chatTag_1knmo_596", He = "_chatTagPrimary_1knmo_597", Ze = "_chatTime_1knmo_617", qe = "_chatBubble_1knmo_621", Je = "_chatMentions_1knmo_642", Ke = "_chatMention_1knmo_642", Ue = "_section_1knmo_662", je = "_sectionHead_1knmo_669", Qe = "_sectionEyebrow_1knmo_674", Ye = "_sectionTitle_1knmo_683", Xe = "_sectionLead_1knmo_692", ea = "_capGrid_1knmo_702", aa = "_capCard_1knmo_708", na = "_capIcon_1knmo_726", ta = "_capTitle_1knmo_739", oa = "_capDesc_1knmo_747", ca = "_capTag_1knmo_755", sa = "_archList_1knmo_768", la = "_archRow_1knmo_772", ia = "_archRail_1knmo_780", ra = "_archIndex_1knmo_786", da = "_archRailText_1knmo_793", ma = "_archLabel_1knmo_799", _a = "_archEn_1knmo_806", ha = "_tone_blue_1knmo_813", pa = "_tone_cyan_1knmo_817", ka = "_tone_purple_1knmo_821", va = "_tone_gold_1knmo_825", Na = "_tone_green_1knmo_829", ua = "_archModules_1knmo_833", ba = "_archModule_1knmo_833", fa = "_archModuleName_1knmo_849", wa = "_archModuleDesc_1knmo_855", ga = "_showcaseGrid_1knmo_864", Ta = "_flowList_1knmo_871", Ca = "_flowItem_1knmo_880", Ia = "_flowNum_1knmo_891", Ma = "_flowTitle_1knmo_907", Aa = "_flowDesc_1knmo_914", ya = "_scnGrid_1knmo_924", za = "_scnCard_1knmo_930", Sa = "_scnIcon_1knmo_947", La = "_scnTitle_1knmo_960", Ra = "_scnDesc_1knmo_967", Ea = "_valList_1knmo_977", Pa = "_valItem_1knmo_983", Da = "_valNum_1knmo_999", Ba = "_valTitle_1knmo_1009", $a = "_valDesc_1knmo_1016", Fa = "_valCta_1knmo_1024", Oa = "_valCtaTitle_1knmo_1036", Ga = "_valCtaDesc_1knmo_1044", xa = "_valCtaActions_1knmo_1051", Wa = "_valCtaPrimary_1knmo_1057", Va = "_valCtaGhost_1knmo_1058", Ha = "_cliGrid_1knmo_1097", Za = "_cliCard_1knmo_1103", qa = "_cliTop_1knmo_1120", Ja = "_cliIcon_1knmo_1128", Ka = "_cliState_1knmo_1140", Ua = "_state_ready_1knmo_1149", ja = "_state_beta_1knmo_1155", Qa = "_state_soon_1knmo_1161", Ya = "_state_free_1knmo_1167", Xa = "_state_instant_1knmo_1173", en = "_cliName_1knmo_1179", an = "_cliEn_1knmo_1187", nn = "_cliDesc_1knmo_1193", tn = "_cliMeta_1knmo_1201", on = "_cliMetaNote_1knmo_1218", cn = "_cliAction_1knmo_1225", sn = "_cliBtnPrimary_1knmo_1229", ln = "_cliBtnGhost_1knmo_1230", rn = "_cliMore_1knmo_1273", dn = "_cliMoreSub_1knmo_1288", mn = "_cliMoreBtn_1knmo_1292", _n = "_toTop_1knmo_1320", hn = "_toTopVisible_1knmo_1343", pn = "_toTopIcon_1knmo_1354", kn = "_footer_1knmo_1358", vn = "_footerInner_1knmo_1366", Nn = "_footerBrand_1knmo_1376", un = "_footerBrandName_1knmo_1383", bn = "_footerBrandDesc_1knmo_1389", fn = "_footerLinks_1knmo_1396", wn = "_footerCol_1knmo_1401", gn = "_footerColTitle_1knmo_1407", Tn = "_footerLink_1knmo_1396", Cn = "_footerBottom_1knmo_1432", In = "_fadeIn_1knmo_1449", Mn = "_revealRoot_1knmo_7", An = "_fadeInVisible_1knmo_1464", yn = "_faceGrid_1knmo_1472", zn = "_faceEn_1knmo_1478", Sn = "_gridNote_1knmo_1488", Ln = "_platCard_1knmo_1500", Rn = "_platHead_1knmo_1510", En = "_platLiveDot_1knmo_1516", Pn = "_platTitle_1knmo_1525", Dn = "_platPort_1knmo_1532", Bn = "_platSub_1knmo_1543", $n = "_platFaces_1knmo_1549", Fn = "_platFace_1knmo_1549", On = "_platFaceName_1knmo_1566", Gn = "_platFaceEn_1knmo_1572", xn = "_platFaceTag_1knmo_1580", Wn = "_platEmbed_1knmo_1592", Vn = "_platEmbedTitle_1knmo_1598", Hn = "_platChips_1knmo_1607", Zn = "_platChip_1knmo_1607", qn = "_platFoot_1knmo_1632", Jn = "_platFootOk_1knmo_1642", Kn = "_mwGrid_1knmo_1648", Un = "_mwCard_1knmo_1654", jn = "_mwName_1knmo_1670", Qn = "_mwMeta_1knmo_1676", Yn = "_mwDesc_1knmo_1687", Xn = "_zteamFold_1knmo_1695", et = "_zteamFoldMain_1knmo_1710", at = "_zteamFoldTitle_1knmo_1717", nt = "_zteamFoldDesc_1knmo_1724", tt = "_zteamToggle_1knmo_1730", ot = "_zteamToggleIcon_1knmo_1754", ct = "_zteamToggleIconOpen_1knmo_1759", st = "_zteamPanel_1knmo_1764", lt = "_subTitle_1knmo_1768", e = {
6
+ welcome: J,
7
+ bgWash: K,
8
+ bgGrid: U,
9
+ container: j,
10
+ navbar: Q,
11
+ navInner: Y,
12
+ navBrand: X,
13
+ navMark: ee,
14
+ navBrandText: ae,
15
+ navLinks: ne,
16
+ navLink: te,
17
+ navLinkActive: oe,
18
+ navMenuBtn: ce,
19
+ navMenuIcon: se,
20
+ navMenuIconOpen: le,
21
+ navMenuPanel: ie,
22
+ menuIn: re,
23
+ navMenuItem: de,
24
+ navMenuCta: me,
25
+ navActions: _e,
26
+ navGhost: he,
27
+ navPrimary: pe,
28
+ hero: ke,
29
+ heroInner: ve,
30
+ eyebrow: Ne,
31
+ eyebrowDot: ue,
32
+ heroTitle: be,
33
+ heroTitleAccent: fe,
34
+ heroLead: we,
35
+ heroActions: ge,
36
+ btnPrimary: Te,
37
+ btnSecondary: Ce,
38
+ heroStats: Ie,
39
+ heroStat: Me,
40
+ heroStatNum: Ae,
41
+ heroStatLabel: ye,
42
+ heroVisual: ze,
43
+ chatCard: Se,
44
+ chatHead: Le,
45
+ chatHeadLeft: Re,
46
+ chatLiveDot: Ee,
47
+ chatRoom: Pe,
48
+ chatMeta: De,
49
+ chatBody: Be,
50
+ chatRow: $e,
51
+ chatRowHuman: Fe,
52
+ chatRowAgent: Oe,
53
+ chatRowSub: Ge,
54
+ chatWho: xe,
55
+ chatName: We,
56
+ chatTag: Ve,
57
+ chatTagPrimary: He,
58
+ chatTime: Ze,
59
+ chatBubble: qe,
60
+ chatMentions: Je,
61
+ chatMention: Ke,
62
+ section: Ue,
63
+ sectionHead: je,
64
+ sectionEyebrow: Qe,
65
+ sectionTitle: Ye,
66
+ sectionLead: Xe,
67
+ capGrid: ea,
68
+ capCard: aa,
69
+ capIcon: na,
70
+ capTitle: ta,
71
+ capDesc: oa,
72
+ capTag: ca,
73
+ archList: sa,
74
+ archRow: la,
75
+ archRail: ia,
76
+ archIndex: ra,
77
+ archRailText: da,
78
+ archLabel: ma,
79
+ archEn: _a,
80
+ tone_blue: ha,
81
+ tone_cyan: pa,
82
+ tone_purple: ka,
83
+ tone_gold: va,
84
+ tone_green: Na,
85
+ archModules: ua,
86
+ archModule: ba,
87
+ archModuleName: fa,
88
+ archModuleDesc: wa,
89
+ showcaseGrid: ga,
90
+ flowList: Ta,
91
+ flowItem: Ca,
92
+ flowNum: Ia,
93
+ flowTitle: Ma,
94
+ flowDesc: Aa,
95
+ scnGrid: ya,
96
+ scnCard: za,
97
+ scnIcon: Sa,
98
+ scnTitle: La,
99
+ scnDesc: Ra,
100
+ valList: Ea,
101
+ valItem: Pa,
102
+ valNum: Da,
103
+ valTitle: Ba,
104
+ valDesc: $a,
105
+ valCta: Fa,
106
+ valCtaTitle: Oa,
107
+ valCtaDesc: Ga,
108
+ valCtaActions: xa,
109
+ valCtaPrimary: Wa,
110
+ valCtaGhost: Va,
111
+ cliGrid: Ha,
112
+ cliCard: Za,
113
+ cliTop: qa,
114
+ cliIcon: Ja,
115
+ cliState: Ka,
116
+ state_ready: Ua,
117
+ state_beta: ja,
118
+ state_soon: Qa,
119
+ state_free: Ya,
120
+ state_instant: Xa,
121
+ cliName: en,
122
+ cliEn: an,
123
+ cliDesc: nn,
124
+ cliMeta: tn,
125
+ cliMetaNote: on,
126
+ cliAction: cn,
127
+ cliBtnPrimary: sn,
128
+ cliBtnGhost: ln,
129
+ cliMore: rn,
130
+ cliMoreSub: dn,
131
+ cliMoreBtn: mn,
132
+ toTop: _n,
133
+ toTopVisible: hn,
134
+ toTopIcon: pn,
135
+ footer: kn,
136
+ footerInner: vn,
137
+ footerBrand: Nn,
138
+ footerBrandName: un,
139
+ footerBrandDesc: bn,
140
+ footerLinks: fn,
141
+ footerCol: wn,
142
+ footerColTitle: gn,
143
+ footerLink: Tn,
144
+ footerBottom: Cn,
145
+ fadeIn: In,
146
+ revealRoot: Mn,
147
+ fadeInVisible: An,
148
+ faceGrid: yn,
149
+ faceEn: zn,
150
+ gridNote: Sn,
151
+ platCard: Ln,
152
+ platHead: Rn,
153
+ platLiveDot: En,
154
+ platTitle: Pn,
155
+ platPort: Dn,
156
+ platSub: Bn,
157
+ platFaces: $n,
158
+ platFace: Fn,
159
+ platFaceName: On,
160
+ platFaceEn: Gn,
161
+ platFaceTag: xn,
162
+ platEmbed: Wn,
163
+ platEmbedTitle: Vn,
164
+ platChips: Hn,
165
+ platChip: Zn,
166
+ platFoot: qn,
167
+ platFootOk: Jn,
168
+ mwGrid: Kn,
169
+ mwCard: Un,
170
+ mwName: jn,
171
+ mwMeta: Qn,
172
+ mwDesc: Yn,
173
+ zteamFold: Xn,
174
+ zteamFoldMain: et,
175
+ zteamFoldTitle: at,
176
+ zteamFoldDesc: nt,
177
+ zteamToggle: tt,
178
+ zteamToggleIcon: ot,
179
+ zteamToggleIconOpen: ct,
180
+ zteamPanel: st,
181
+ subTitle: lt
182
+ }, y = [
183
+ { id: "panorama", label: "平台全景" },
184
+ { id: "account", label: "一个账号" },
185
+ { id: "architecture", label: "平台架构" },
186
+ { id: "middleware", label: "自研中间件" },
187
+ { id: "zteam", label: "数字员工" }
188
+ ], D = [
189
+ {
190
+ icon: "message",
191
+ name: "协作",
192
+ en: "Collaboration",
193
+ desc: "群聊为入口:多 Agent 协作、知识库、订阅与项目、工作流编排。Z Team 就在这里。",
194
+ tag: "z-team · z-lc"
195
+ },
196
+ {
197
+ icon: "sparkle",
198
+ name: "智能",
199
+ en: "Intelligence",
200
+ desc: "模型管理、模型对话、AK 管理、Agent 应用、MCP 服务、技能市场与模型监控。",
201
+ tag: "z-llm-gateway · z-agent"
202
+ },
203
+ {
204
+ icon: "book",
205
+ name: "产品",
206
+ en: "Product",
207
+ desc: "需求、设计、特性、书稿与业务理解,产品工作台承载组织对产品的统一认知。",
208
+ tag: "z-product"
209
+ },
210
+ {
211
+ icon: "branch",
212
+ name: "研发",
213
+ en: "Engineering",
214
+ desc: "应用与 Schema 建模、数据字典与 Pipeline、WebIDE、脚本治理、权限矩阵与部署记录。",
215
+ tag: "z-lc · z-webide · z-script"
216
+ },
217
+ {
218
+ icon: "check",
219
+ name: "测试",
220
+ en: "Quality",
221
+ desc: "测试总览、用例与套件编排、执行与定时调度、E2E 浏览器自动化。",
222
+ tag: "z-qa"
223
+ },
224
+ {
225
+ icon: "server",
226
+ name: "运维",
227
+ en: "Operations",
228
+ desc: "运维总览、节点 / Pod / HPA、镜像仓库、流水线、发布、监控告警、日志与 DBA 工单。",
229
+ tag: "z-ops"
230
+ },
231
+ {
232
+ icon: "layers",
233
+ name: "中间件",
234
+ en: "Middleware",
235
+ desc: "配置、密钥、元数据、消息、RPC、向量、图、网关、缓存、MQ、知识库、对象存储。",
236
+ tag: "13 组控制台"
237
+ },
238
+ {
239
+ icon: "shield",
240
+ name: "系统",
241
+ en: "System",
242
+ desc: "认证与权限、开发与工具、产品认知、业务流程——平台自身的设置面。",
243
+ tag: "4A · 管理面"
244
+ },
245
+ {
246
+ icon: "bot",
247
+ name: "RPA",
248
+ en: "Automation",
249
+ desc: "RPA 市场与需求,应用与运行、触发器等自动化执行链。",
250
+ tag: "z-rpa · z-script · z-schedule"
251
+ }
252
+ ], it = [
253
+ {
254
+ icon: "shield",
255
+ title: "统一认证",
256
+ desc: "SSO 拦截器把登录态跨子域共享给前端 SPA 与后端服务,登录一次即可进出各工作台。"
257
+ },
258
+ {
259
+ icon: "network",
260
+ title: "统一授权",
261
+ desc: "应用与角色的权限矩阵,菜单入口与接口鉴权读同一份授权数据。"
262
+ },
263
+ {
264
+ icon: "users",
265
+ title: "统一账号",
266
+ desc: "组织、角色与成员统一在 4A 维护,业务面不再各自建一套账号体系。"
267
+ },
268
+ {
269
+ icon: "search",
270
+ title: "登录审计",
271
+ desc: "登录与授权操作日志集中落库,入口、时间与结果可回查。"
272
+ }
273
+ ], rt = [
274
+ {
275
+ label: "统一前端",
276
+ en: "Web Shell",
277
+ tone: "blue",
278
+ modules: [
279
+ { name: "工作台外壳", desc: "React 19 · Vite 6 · 按业务面分包加载" },
280
+ {
281
+ name: "九个工作台",
282
+ desc: "协作 / 智能 / 产品 / 研发 / 测试 / 运维 / 中间件 / 系统 / RPA"
283
+ },
284
+ { name: "中间件控制台", desc: "12 个自研中间件的统一代管台" },
285
+ { name: "4A 入口", desc: "登录态跨子域共享,菜单与鉴权同源" }
286
+ ]
287
+ },
288
+ {
289
+ label: "单一 JVM",
290
+ en: "z-opc-main-starter :8888",
291
+ tone: "purple",
292
+ modules: [
293
+ { name: "Spring Boot 2.7.18", desc: "Java 8 · 单个启动器承载全部业务域" },
294
+ { name: "自动装配", desc: "各域经 spring.factories 装配进主进程" },
295
+ { name: "28 条兄弟仓依赖", desc: "4A / Agent / 交易 / 资产 / RPA 以 jar 引入" },
296
+ { name: "一套数据库", desc: "oc 库承接全部业务表" }
297
+ ]
298
+ },
299
+ {
300
+ label: "同进程中间件",
301
+ en: "Embedded Middleware",
302
+ tone: "cyan",
303
+ modules: [
304
+ { name: "z-cache :6379", desc: "Redis 协议缓存,Netty 内嵌" },
305
+ { name: "z-graph :8091", desc: "图数据库,留空即纯内存" },
306
+ { name: "z-vector :6334", desc: "向量检索 gRPC 内嵌" },
307
+ { name: "z-oss :12888", desc: "对象存储 Netty 内嵌" },
308
+ { name: "z-gw :9090", desc: "网关路由与代理 Controller" }
309
+ ]
310
+ },
311
+ {
312
+ label: "独立进程",
313
+ en: "Separate Processes",
314
+ tone: "gold",
315
+ modules: [
316
+ { name: "z-mq", desc: "NameServer / Broker 以子进程拉起" },
317
+ { name: "z-bot", desc: "终端 Bot 自带 main,独立 fat jar" }
318
+ ]
319
+ }
320
+ ], dt = [
321
+ { name: "配置中心", en: "z-config", desc: "配置项查询、编辑与发布,变更历史可回溯" },
322
+ { name: "密钥中心", en: "z-mist", desc: "密钥台账、应用接入与授权校验" },
323
+ { name: "元数据中心", en: "z-meta", desc: "应用、租户与数据字典的统一台账" },
324
+ { name: "消息中心", en: "z-msg", desc: "收件箱与会话消息的统一入口" },
325
+ { name: "服务注册", en: "z-rpc", port: ":20880", desc: "RPC 服务注册与调用" },
326
+ { name: "向量检索", en: "z-vector", port: ":6334", desc: "集合管理与相似检索" },
327
+ { name: "图数据库", en: "z-graph", port: ":8091", desc: "图查询与版本链" },
328
+ { name: "网关", en: "z-gw", port: ":9090", desc: "路由配置与代理转发" },
329
+ { name: "缓存", en: "z-cache", port: ":6379", desc: "Redis 协议缓存" },
330
+ { name: "消息队列", en: "z-mq", port: ":9877", desc: "Topic 与订阅,NameServer 独立进程" },
331
+ { name: "知识库", en: "z-kb", desc: "工作空间、文档与检索" },
332
+ { name: "对象存储", en: "z-oss", port: ":12888", desc: "桶、对象与预签名" }
333
+ ], mt = [
334
+ { name: "z-cache", port: ":6379" },
335
+ { name: "z-graph", port: ":8091" },
336
+ { name: "z-vector", port: ":6334" },
337
+ { name: "z-oss", port: ":12888" },
338
+ { name: "z-gw", port: ":9090" }
339
+ ], _t = [
340
+ {
341
+ icon: "message",
342
+ title: "消息中枢 · IM 驱动",
343
+ desc: "消息总线做中枢,WebSocket 穿透受限网络。人发消息即触发 Agent 拉起任务,结论回到同一个群里。",
344
+ tag: "MsgHub"
345
+ },
346
+ {
347
+ icon: "network",
348
+ title: "星型多 Agent 协作",
349
+ desc: "TeamAgent 主控拆解需求,群内 @子 Agent 即可联合多方 Agent,无需显式调用与编排。",
350
+ tag: "TeamAgent"
351
+ },
352
+ {
353
+ icon: "branch",
354
+ title: "学习子系统",
355
+ desc: "旁路 Pipeline 从对话中提取经验,版本化回写 Skill。进化覆盖天生,用得越久越准。",
356
+ tag: "Evolution"
357
+ },
358
+ {
359
+ icon: "shield",
360
+ title: "评测子系统",
361
+ desc: "AI 置信度门控 + 去重 + 冲突检测。低质量沉淀自动拒绝,不给团队灌噪声。",
362
+ tag: "Evaluation"
363
+ },
364
+ {
365
+ icon: "swap",
366
+ title: "本地 × 生产无缝衔接",
367
+ desc: "Tauri 本地沙箱与云端 Agent 集群双向打通。敏感操作本地隔离,高并发交给生产。",
368
+ tag: "Hybrid Runtime"
369
+ },
370
+ {
371
+ icon: "users",
372
+ title: "群聊内多方 Agent 联合",
373
+ desc: "一个群聊就是一个协作空间。拆解、调度、执行、汇总,全在群内闭环完成。",
374
+ tag: "Collaboration"
375
+ },
376
+ {
377
+ icon: "book",
378
+ title: "知识案例沉淀",
379
+ desc: "把排查过程沉淀成「问题-根因-方案-证据」结构化案例,可检索、可复用、不再流失。",
380
+ tag: "Knowledge"
381
+ },
382
+ {
383
+ icon: "layers",
384
+ title: "双层消息净化",
385
+ desc: "对外交付只有结论,对内保留完整推理轨迹。交付干净利落,调试有迹可循。",
386
+ tag: "Message Hygiene"
387
+ }
388
+ ], ht = [
389
+ {
390
+ role: "human",
391
+ name: "张工",
392
+ text: "排查一下预发环境订单费用不等的问题,最近用户反馈很多",
393
+ time: "10:32"
394
+ },
395
+ {
396
+ role: "agent",
397
+ name: "TeamAgent",
398
+ text: "收到,我来协调排查。先拉起信号采集和代码分析两个子 Agent。",
399
+ time: "10:32",
400
+ mentions: ["@信号采集Agent", "@代码分析Agent"]
401
+ },
402
+ {
403
+ role: "subagent",
404
+ name: "信号采集Agent",
405
+ text: "已采集到 3 条异常链路,traceId 为 trace_a1b2c3、trace_d4e5f6、trace_g7h8i9,差异集中在 FeeCalcService.calculate(),差值 0.01–0.03 元。",
406
+ time: "10:34"
407
+ },
408
+ {
409
+ role: "subagent",
410
+ name: "代码分析Agent",
411
+ text: "根因定位:FeeCalcService.calculate() 第 87 行用 double 计算,存在浮点精度丢失,建议改 BigDecimal。",
412
+ time: "10:35"
413
+ },
414
+ {
415
+ role: "agent",
416
+ name: "TeamAgent",
417
+ text: "综合诊断:费用计算浮点精度问题。根因已定位,修复方案已生成,请确认是否提交工单。",
418
+ time: "10:36"
419
+ }
420
+ ], pt = {
421
+ ready: "可下载",
422
+ beta: "内测中",
423
+ soon: "即将发布",
424
+ free: "免安装",
425
+ instant: "即刻可用"
426
+ }, kt = [
427
+ {
428
+ key: "macos",
429
+ icon: "laptop",
430
+ name: "macOS 桌面端",
431
+ en: "ZTeamAgent · Apple Silicon",
432
+ state: "ready",
433
+ desc: "本地 Agent 沙箱、火箭跳转、自动更新。与生产 Agent 集群双向打通。"
434
+ },
435
+ {
436
+ key: "windows",
437
+ icon: "windows",
438
+ name: "Windows 桌面端",
439
+ en: "ZTeamAgent · x64",
440
+ state: "ready",
441
+ desc: "与 macOS 同源交付,安装包为 x64 setup 格式,功能一套不打折。"
442
+ },
443
+ {
444
+ key: "ios",
445
+ icon: "phone",
446
+ name: "iOS App",
447
+ en: "Z-Team · iPhone / iPad",
448
+ state: "beta",
449
+ desc: "通过 TestFlight 分发内测版本,测试通过后上架 App Store。"
450
+ },
451
+ {
452
+ key: "android",
453
+ icon: "bot",
454
+ name: "Android App",
455
+ en: "Z-Team · APK 直装",
456
+ state: "soon",
457
+ desc: "APK 直装包,支持浏览器直接下载安装与版本提示。"
458
+ },
459
+ {
460
+ key: "web",
461
+ icon: "globe",
462
+ name: "Web 版",
463
+ en: "浏览器 · 全平台",
464
+ state: "free",
465
+ desc: "无需安装,浏览器直接进入完整工作台,手机浏览器自动切换移动版界面。"
466
+ },
467
+ {
468
+ key: "cli",
469
+ icon: "terminal",
470
+ name: "CLI Agent",
471
+ en: "claude-code 等多运行时",
472
+ state: "instant",
473
+ desc: "接入既有 CLI 运行时,在命令行里把任务交给 Agent,结论回到会话。"
474
+ }
475
+ ];
476
+ function vt() {
477
+ const [c, f] = u(!1), [_, I] = u(/* @__PURE__ */ new Set());
478
+ W(() => {
479
+ if (typeof IntersectionObserver > "u") {
480
+ f(!0);
481
+ return;
482
+ }
483
+ const l = new IntersectionObserver(
484
+ (p) => {
485
+ I((k) => {
486
+ let r = null;
487
+ return p.forEach((v) => {
488
+ if (!v.isIntersecting) return;
489
+ const w = v.target.dataset.revealId;
490
+ !w || k.has(w) || (r = r ?? new Set(k), r.add(w));
491
+ }), r ?? k;
492
+ });
493
+ },
494
+ { threshold: 0.08, rootMargin: "0px 0px -8% 0px" }
495
+ );
496
+ document.querySelectorAll("[data-reveal-id]").forEach((p) => l.observe(p));
497
+ const S = window.setTimeout(() => {
498
+ I((p) => {
499
+ const k = new Set(p);
500
+ return document.querySelectorAll("[data-reveal-id]").forEach((r) => {
501
+ const v = r.dataset.revealId;
502
+ v && k.add(v);
503
+ }), k;
504
+ });
505
+ }, 2400);
506
+ return f(!0), () => {
507
+ l.disconnect(), window.clearTimeout(S);
508
+ };
509
+ }, []);
510
+ const h = C(
511
+ (l) => _.has(l),
512
+ [_]
513
+ );
514
+ return { revealReady: c, isRevealed: h };
515
+ }
516
+ function Nt() {
517
+ return /* @__PURE__ */ t("div", { className: e.platCard, children: [
518
+ /* @__PURE__ */ t("div", { className: e.platHead, children: [
519
+ /* @__PURE__ */ a("span", { className: e.platLiveDot }),
520
+ /* @__PURE__ */ a("span", { className: e.platTitle, children: "z-opc-main-starter" }),
521
+ /* @__PURE__ */ a("span", { className: e.platPort, children: ":8888" })
522
+ ] }),
523
+ /* @__PURE__ */ a("div", { className: e.platSub, children: "单一 JVM · 业务域自动装配 · 一套数据库" }),
524
+ /* @__PURE__ */ a("div", { className: e.platFaces, children: D.map((c) => /* @__PURE__ */ t("div", { className: e.platFace, children: [
525
+ /* @__PURE__ */ a("span", { className: e.platFaceName, children: c.name }),
526
+ /* @__PURE__ */ a("span", { className: e.platFaceEn, children: c.en }),
527
+ c.name === "协作" && /* @__PURE__ */ a("span", { className: e.platFaceTag, children: "Z Team" })
528
+ ] }, c.name)) }),
529
+ /* @__PURE__ */ t("div", { className: e.platEmbed, children: [
530
+ /* @__PURE__ */ a("span", { className: e.platEmbedTitle, children: "同进程中间件" }),
531
+ /* @__PURE__ */ a("div", { className: e.platChips, children: mt.map((c) => /* @__PURE__ */ t("span", { className: e.platChip, children: [
532
+ c.name,
533
+ /* @__PURE__ */ a("em", { children: c.port })
534
+ ] }, c.name)) })
535
+ ] }),
536
+ /* @__PURE__ */ t("div", { className: e.platFoot, children: [
537
+ /* @__PURE__ */ a("span", { children: "独立进程:z-mq · z-bot" }),
538
+ /* @__PURE__ */ a("span", { className: e.platFootOk, children: "运行中" })
539
+ ] })
540
+ ] });
541
+ }
542
+ function ut() {
543
+ return /* @__PURE__ */ t("div", { className: e.chatCard, children: [
544
+ /* @__PURE__ */ t("div", { className: e.chatHead, children: [
545
+ /* @__PURE__ */ t("div", { className: e.chatHeadLeft, children: [
546
+ /* @__PURE__ */ a("span", { className: e.chatLiveDot }),
547
+ /* @__PURE__ */ a("span", { className: e.chatRoom, children: "故障排查协作群" })
548
+ ] }),
549
+ /* @__PURE__ */ a("span", { className: e.chatMeta, children: "7 人 · 4 Agent 在线" })
550
+ ] }),
551
+ /* @__PURE__ */ a("div", { className: e.chatBody, children: ht.map((c, f) => /* @__PURE__ */ t(
552
+ "div",
553
+ {
554
+ className: `${e.chatRow} ${c.role === "human" ? e.chatRowHuman : c.role === "subagent" ? e.chatRowSub : e.chatRowAgent}`,
555
+ children: [
556
+ /* @__PURE__ */ t("div", { className: e.chatWho, children: [
557
+ /* @__PURE__ */ a("span", { className: e.chatName, children: c.name }),
558
+ c.role === "agent" && /* @__PURE__ */ a("span", { className: e.chatTagPrimary, children: "主控" }),
559
+ c.role === "subagent" && /* @__PURE__ */ a("span", { className: e.chatTag, children: "子 Agent" }),
560
+ /* @__PURE__ */ a("span", { className: e.chatTime, children: c.time })
561
+ ] }),
562
+ /* @__PURE__ */ a("div", { className: e.chatBubble, children: c.text }),
563
+ c.mentions && /* @__PURE__ */ a("div", { className: e.chatMentions, children: c.mentions.map((_) => /* @__PURE__ */ a("span", { className: e.chatMention, children: _ }, _)) })
564
+ ]
565
+ },
566
+ f
567
+ )) })
568
+ ] });
569
+ }
570
+ function Tt() {
571
+ const [c, f] = u(null), [_, I] = u(null), [h, l] = u(!1), [z, S] = u(""), [p, k] = u(!1), [r, v] = u(!1), { revealReady: w, isRevealed: d } = vt();
572
+ M(() => {
573
+ let n = !0;
574
+ return P(Z).then((o) => {
575
+ n && f(o);
576
+ }), P(q).then((o) => {
577
+ n && I(o);
578
+ }), () => {
579
+ n = !1;
580
+ };
581
+ }, []), M(() => {
582
+ const n = document.title;
583
+ document.title = "Z OPC · 组织级统一服务平台";
584
+ let o = document.head.querySelector(
585
+ 'meta[name="description"]'
586
+ );
587
+ const s = !o, m = (o == null ? void 0 : o.content) ?? "";
588
+ return o || (o = document.createElement("meta"), o.name = "description", document.head.appendChild(o)), o.content = "Z OPC 以单个 Spring Boot JVM 承载协作、智能、产品、研发、测试、运维、中间件、系统与 RPA 九个工作台,自研中间件同进程运行,一套 4A 账号打通全部入口。", () => {
589
+ document.title = n, o && (s ? o.remove() : o.content = m);
590
+ };
591
+ }, []), M(() => {
592
+ if (!h) return;
593
+ const n = (m) => {
594
+ m.key === "Escape" && l(!1);
595
+ }, o = (m) => {
596
+ const g = m.target;
597
+ g != null && g.closest("[data-welcome-menu]") || l(!1);
598
+ }, s = () => {
599
+ window.innerWidth > 900 && l(!1);
600
+ };
601
+ return window.addEventListener("keydown", n), document.addEventListener("pointerdown", o), window.addEventListener("resize", s), () => {
602
+ window.removeEventListener("keydown", n), document.removeEventListener("pointerdown", o), window.removeEventListener("resize", s);
603
+ };
604
+ }, [h]), M(() => {
605
+ let n = 0;
606
+ const o = () => {
607
+ n || (n = window.requestAnimationFrame(() => {
608
+ n = 0, k(window.scrollY > 880);
609
+ let s = "";
610
+ for (const m of y) {
611
+ const g = document.getElementById(m.id);
612
+ g && g.getBoundingClientRect().top <= 140 && (s = m.id);
613
+ }
614
+ S(s);
615
+ }));
616
+ };
617
+ return o(), window.addEventListener("scroll", o, { passive: !0 }), () => {
618
+ window.removeEventListener("scroll", o), n && window.cancelAnimationFrame(n);
619
+ };
620
+ }, []);
621
+ const B = x(
622
+ () => `${e.welcome} ${w ? e.revealRoot : ""}`,
623
+ [w]
624
+ ), N = C((n) => {
625
+ var o;
626
+ (o = document.getElementById(n)) == null || o.scrollIntoView({ behavior: "smooth", block: "start" });
627
+ }, []), L = C(
628
+ (n) => {
629
+ l(!1), N(n);
630
+ },
631
+ [N]
632
+ ), T = C(() => b.push("/workspace"), []), $ = C(() => {
633
+ v(!0), N("zteam");
634
+ }, [N]), R = A(c, "macos"), E = A(c, "windows"), F = R ? `macOS v${R.version}` : "macOS", O = E ? `Windows v${E.version}` : "Windows", G = _ ? `Android v${_.version}` : "Android";
635
+ return /* @__PURE__ */ t("div", { className: B, children: [
636
+ /* @__PURE__ */ a("div", { className: e.bgWash }),
637
+ /* @__PURE__ */ a("div", { className: e.bgGrid }),
638
+ /* @__PURE__ */ t("nav", { className: e.navbar, children: [
639
+ /* @__PURE__ */ t("div", { className: e.navInner, children: [
640
+ /* @__PURE__ */ t(
641
+ "div",
642
+ {
643
+ className: e.navBrand,
644
+ onClick: () => N("top"),
645
+ onKeyDown: (n) => {
646
+ (n.key === "Enter" || n.key === " ") && (n.preventDefault(), N("top"));
647
+ },
648
+ role: "button",
649
+ tabIndex: 0,
650
+ "aria-label": "Z OPC · 回到顶部",
651
+ children: [
652
+ /* @__PURE__ */ a("span", { className: e.navMark, children: "OPC" }),
653
+ /* @__PURE__ */ a("span", { className: e.navBrandText, children: "Z OPC" })
654
+ ]
655
+ }
656
+ ),
657
+ /* @__PURE__ */ t("div", { className: e.navLinks, children: [
658
+ y.map((n) => /* @__PURE__ */ a(
659
+ "button",
660
+ {
661
+ className: `${e.navLink} ${z === n.id ? e.navLinkActive : ""}`,
662
+ "aria-current": z === n.id ? "true" : void 0,
663
+ onClick: () => L(n.id),
664
+ children: n.label
665
+ },
666
+ n.id
667
+ )),
668
+ /* @__PURE__ */ a(
669
+ "button",
670
+ {
671
+ className: e.navLink,
672
+ onClick: () => b.push("/docs"),
673
+ children: "操作手册"
674
+ }
675
+ )
676
+ ] }),
677
+ /* @__PURE__ */ t("div", { className: e.navActions, children: [
678
+ /* @__PURE__ */ t("button", { className: e.navPrimary, onClick: T, children: [
679
+ "进入工作台",
680
+ /* @__PURE__ */ a(i, { name: "arrow", size: 15, strokeWidth: 2 })
681
+ ] }),
682
+ /* @__PURE__ */ a(
683
+ "button",
684
+ {
685
+ className: e.navMenuBtn,
686
+ "aria-label": h ? "关闭导航菜单" : "打开导航菜单",
687
+ "aria-expanded": h,
688
+ "aria-controls": "welcome-mobile-menu",
689
+ "data-welcome-menu": !0,
690
+ onClick: () => l((n) => !n),
691
+ children: /* @__PURE__ */ t(
692
+ "span",
693
+ {
694
+ className: `${e.navMenuIcon} ${h ? e.navMenuIconOpen : ""}`,
695
+ "aria-hidden": "true",
696
+ children: [
697
+ /* @__PURE__ */ a("span", {}),
698
+ /* @__PURE__ */ a("span", {}),
699
+ /* @__PURE__ */ a("span", {})
700
+ ]
701
+ }
702
+ )
703
+ }
704
+ )
705
+ ] })
706
+ ] }),
707
+ h && /* @__PURE__ */ t(
708
+ "div",
709
+ {
710
+ className: e.navMenuPanel,
711
+ id: "welcome-mobile-menu",
712
+ "data-welcome-menu": !0,
713
+ children: [
714
+ y.map((n) => /* @__PURE__ */ a(
715
+ "button",
716
+ {
717
+ className: e.navMenuItem,
718
+ onClick: () => L(n.id),
719
+ children: n.label
720
+ },
721
+ n.id
722
+ )),
723
+ /* @__PURE__ */ a(
724
+ "button",
725
+ {
726
+ className: e.navMenuItem,
727
+ onClick: () => {
728
+ l(!1), b.push("/docs");
729
+ },
730
+ children: "操作手册"
731
+ }
732
+ ),
733
+ /* @__PURE__ */ t(
734
+ "button",
735
+ {
736
+ className: e.navMenuCta,
737
+ onClick: () => {
738
+ l(!1), T();
739
+ },
740
+ children: [
741
+ "进入工作台",
742
+ /* @__PURE__ */ a(i, { name: "arrow", size: 15, strokeWidth: 2 })
743
+ ]
744
+ }
745
+ )
746
+ ]
747
+ }
748
+ )
749
+ ] }),
750
+ /* @__PURE__ */ a("section", { className: e.hero, id: "top", children: /* @__PURE__ */ t("div", { className: e.heroInner, children: [
751
+ /* @__PURE__ */ t("div", { className: e.heroCopy, children: [
752
+ /* @__PURE__ */ t("span", { className: e.eyebrow, children: [
753
+ /* @__PURE__ */ a("span", { className: e.eyebrowDot }),
754
+ "One Company Unified Service"
755
+ ] }),
756
+ /* @__PURE__ */ t("h1", { className: e.heroTitle, children: [
757
+ "九个工作台",
758
+ /* @__PURE__ */ a("br", {}),
759
+ /* @__PURE__ */ a("span", { className: e.heroTitleAccent, children: "跑在同一个进程里" })
760
+ ] }),
761
+ /* @__PURE__ */ a("p", { className: e.heroLead, children: "Z OPC 把协作、智能、产品、研发、测试、运维、中间件、系统与 RPA 收进同一个平台:一个 Spring Boot JVM 承载全部业务域, 自研中间件同进程运行,一套 4A 账号打通所有入口。" }),
762
+ /* @__PURE__ */ t("div", { className: e.heroActions, children: [
763
+ /* @__PURE__ */ t("button", { className: e.btnPrimary, onClick: T, children: [
764
+ "进入工作台",
765
+ /* @__PURE__ */ a(i, { name: "arrow", size: 17, strokeWidth: 2 })
766
+ ] }),
767
+ /* @__PURE__ */ a(
768
+ "button",
769
+ {
770
+ className: e.btnSecondary,
771
+ onClick: () => N("panorama"),
772
+ children: "查看平台全景"
773
+ }
774
+ )
775
+ ] }),
776
+ /* @__PURE__ */ a("dl", { className: e.heroStats, children: [
777
+ { n: "9", l: "工作台" },
778
+ { n: "12", l: "自研中间件" },
779
+ { n: "1", l: "套 4A 账号" },
780
+ { n: "1", l: "个 JVM" }
781
+ ].map((n) => /* @__PURE__ */ t("div", { className: e.heroStat, children: [
782
+ /* @__PURE__ */ a("dt", { className: e.heroStatNum, children: n.n }),
783
+ /* @__PURE__ */ a("dd", { className: e.heroStatLabel, children: n.l })
784
+ ] }, n.l)) })
785
+ ] }),
786
+ /* @__PURE__ */ a("div", { className: e.heroVisual, children: /* @__PURE__ */ a(Nt, {}) })
787
+ ] }) }),
788
+ /* @__PURE__ */ a("section", { className: e.section, id: "panorama", children: /* @__PURE__ */ t("div", { className: e.container, children: [
789
+ /* @__PURE__ */ t(
790
+ "div",
791
+ {
792
+ className: `${e.sectionHead} ${e.fadeIn} ${d("pano-head") ? e.fadeInVisible : ""}`,
793
+ "data-reveal-id": "pano-head",
794
+ children: [
795
+ /* @__PURE__ */ a("span", { className: e.sectionEyebrow, children: "Platform Panorama" }),
796
+ /* @__PURE__ */ a("h2", { className: e.sectionTitle, children: "平台全景" }),
797
+ /* @__PURE__ */ a("p", { className: e.sectionLead, children: "协作、智能、产品、研发、测试、运维、中间件、系统、RPA—— 九个工作台共用同一套账号、权限与部署单元。" })
798
+ ]
799
+ }
800
+ ),
801
+ /* @__PURE__ */ a("div", { className: e.faceGrid, children: D.map((n, o) => /* @__PURE__ */ t(
802
+ "article",
803
+ {
804
+ className: `${e.capCard} ${e.fadeIn} ${d(`face-${o}`) ? e.fadeInVisible : ""}`,
805
+ "data-reveal-id": `face-${o}`,
806
+ style: { transitionDelay: `${o % 3 * 60}ms` },
807
+ children: [
808
+ /* @__PURE__ */ a("div", { className: e.capIcon, children: /* @__PURE__ */ a(
809
+ i,
810
+ {
811
+ name: n.icon,
812
+ size: 19,
813
+ strokeWidth: 1.8
814
+ }
815
+ ) }),
816
+ /* @__PURE__ */ t("h3", { className: e.capTitle, children: [
817
+ n.name,
818
+ /* @__PURE__ */ a("span", { className: e.faceEn, children: n.en })
819
+ ] }),
820
+ /* @__PURE__ */ a("p", { className: e.capDesc, children: n.desc }),
821
+ /* @__PURE__ */ a("span", { className: e.capTag, children: n.tag })
822
+ ]
823
+ },
824
+ n.name
825
+ )) }),
826
+ /* @__PURE__ */ a("p", { className: e.gridNote, children: "「协作」只是其中一块:Z Team 的能力、协作实景与客户端, 收在下方「数字员工」里。" })
827
+ ] }) }),
828
+ /* @__PURE__ */ a("section", { className: e.section, id: "account", children: /* @__PURE__ */ t("div", { className: e.container, children: [
829
+ /* @__PURE__ */ t(
830
+ "div",
831
+ {
832
+ className: `${e.sectionHead} ${e.fadeIn} ${d("acct-head") ? e.fadeInVisible : ""}`,
833
+ "data-reveal-id": "acct-head",
834
+ children: [
835
+ /* @__PURE__ */ a("span", { className: e.sectionEyebrow, children: "One Account" }),
836
+ /* @__PURE__ */ a("h2", { className: e.sectionTitle, children: "一个账号,打通所有工作台" }),
837
+ /* @__PURE__ */ a("p", { className: e.sectionLead, children: "4A 身份中心(z-ctc)承担认证、授权、账号与审计: 登录一次,业务面、中间件台与运维台都认这一个身份。" })
838
+ ]
839
+ }
840
+ ),
841
+ /* @__PURE__ */ a("div", { className: e.scnGrid, children: it.map((n, o) => /* @__PURE__ */ t(
842
+ "article",
843
+ {
844
+ className: `${e.scnCard} ${e.fadeIn} ${d(`acct-${o}`) ? e.fadeInVisible : ""}`,
845
+ "data-reveal-id": `acct-${o}`,
846
+ style: { transitionDelay: `${o % 2 * 60}ms` },
847
+ children: [
848
+ /* @__PURE__ */ a("div", { className: e.scnIcon, children: /* @__PURE__ */ a(
849
+ i,
850
+ {
851
+ name: n.icon,
852
+ size: 19,
853
+ strokeWidth: 1.8
854
+ }
855
+ ) }),
856
+ /* @__PURE__ */ a("h3", { className: e.scnTitle, children: n.title }),
857
+ /* @__PURE__ */ a("p", { className: e.scnDesc, children: n.desc })
858
+ ]
859
+ },
860
+ n.title
861
+ )) })
862
+ ] }) }),
863
+ /* @__PURE__ */ a("section", { className: e.section, id: "architecture", children: /* @__PURE__ */ t("div", { className: e.container, children: [
864
+ /* @__PURE__ */ t(
865
+ "div",
866
+ {
867
+ className: `${e.sectionHead} ${e.fadeIn} ${d("arch-head") ? e.fadeInVisible : ""}`,
868
+ "data-reveal-id": "arch-head",
869
+ children: [
870
+ /* @__PURE__ */ a("span", { className: e.sectionEyebrow, children: "Architecture" }),
871
+ /* @__PURE__ */ a("h2", { className: e.sectionTitle, children: "单进程承载,中间件同进程" }),
872
+ /* @__PURE__ */ a("p", { className: e.sectionLead, children: "不再为每个业务域拆微服务:一个 z-opc-main-starter 进程 加一个 oc 库,兄弟仓能力以 jar 形式装配进来。" })
873
+ ]
874
+ }
875
+ ),
876
+ /* @__PURE__ */ a("div", { className: e.archList, children: rt.map((n, o) => /* @__PURE__ */ t(
877
+ "div",
878
+ {
879
+ className: `${e.archRow} ${e.fadeIn} ${d(`arch-${o}`) ? e.fadeInVisible : ""}`,
880
+ "data-reveal-id": `arch-${o}`,
881
+ children: [
882
+ /* @__PURE__ */ t("div", { className: e.archRail, children: [
883
+ /* @__PURE__ */ a("span", { className: e.archIndex, children: String(o + 1).padStart(2, "0") }),
884
+ /* @__PURE__ */ t("div", { className: e.archRailText, children: [
885
+ /* @__PURE__ */ a(
886
+ "span",
887
+ {
888
+ className: `${e.archLabel} ${e[`tone_${n.tone}`]}`,
889
+ children: n.label
890
+ }
891
+ ),
892
+ /* @__PURE__ */ a("span", { className: e.archEn, children: n.en })
893
+ ] })
894
+ ] }),
895
+ /* @__PURE__ */ a("div", { className: e.archModules, children: n.modules.map((s) => /* @__PURE__ */ t("div", { className: e.archModule, children: [
896
+ /* @__PURE__ */ a("span", { className: e.archModuleName, children: s.name }),
897
+ /* @__PURE__ */ a("span", { className: e.archModuleDesc, children: s.desc })
898
+ ] }, s.name)) })
899
+ ]
900
+ },
901
+ n.label
902
+ )) })
903
+ ] }) }),
904
+ /* @__PURE__ */ a("section", { className: e.section, id: "middleware", children: /* @__PURE__ */ t("div", { className: e.container, children: [
905
+ /* @__PURE__ */ t(
906
+ "div",
907
+ {
908
+ className: `${e.sectionHead} ${e.fadeIn} ${d("mw-head") ? e.fadeInVisible : ""}`,
909
+ "data-reveal-id": "mw-head",
910
+ children: [
911
+ /* @__PURE__ */ a("span", { className: e.sectionEyebrow, children: "Middleware" }),
912
+ /* @__PURE__ */ a("h2", { className: e.sectionTitle, children: "12 个自研中间件" }),
913
+ /* @__PURE__ */ a("p", { className: e.sectionLead, children: "配置、密钥、元数据、消息、RPC、向量、图、网关、缓存、MQ、 知识库、对象存储——统一在「中间件」工作台里代管。" })
914
+ ]
915
+ }
916
+ ),
917
+ /* @__PURE__ */ a("div", { className: e.mwGrid, children: dt.map((n, o) => /* @__PURE__ */ t(
918
+ "article",
919
+ {
920
+ className: `${e.mwCard} ${e.fadeIn} ${d(`mw-${o}`) ? e.fadeInVisible : ""}`,
921
+ "data-reveal-id": `mw-${o}`,
922
+ style: { transitionDelay: `${o % 4 * 50}ms` },
923
+ children: [
924
+ /* @__PURE__ */ a("div", { className: e.mwName, children: n.name }),
925
+ /* @__PURE__ */ t("div", { className: e.mwMeta, children: [
926
+ /* @__PURE__ */ a("span", { children: n.en }),
927
+ n.port && /* @__PURE__ */ a("span", { children: n.port })
928
+ ] }),
929
+ /* @__PURE__ */ a("p", { className: e.mwDesc, children: n.desc })
930
+ ]
931
+ },
932
+ n.en
933
+ )) })
934
+ ] }) }),
935
+ /* @__PURE__ */ a("section", { className: e.section, id: "zteam", children: /* @__PURE__ */ t("div", { className: e.container, children: [
936
+ /* @__PURE__ */ t(
937
+ "div",
938
+ {
939
+ className: `${e.sectionHead} ${e.fadeIn} ${d("zt-head") ? e.fadeInVisible : ""}`,
940
+ "data-reveal-id": "zt-head",
941
+ children: [
942
+ /* @__PURE__ */ a("span", { className: e.sectionEyebrow, children: "Platform Spotlight" }),
943
+ /* @__PURE__ */ a("h2", { className: e.sectionTitle, children: "数字员工 · Z Team" }),
944
+ /* @__PURE__ */ a("p", { className: e.sectionLead, children: "平台上的一块:以群聊为入口的多 Agent 协作。 默认收起,需要时展开看能力、协作实景与客户端。" })
945
+ ]
946
+ }
947
+ ),
948
+ /* @__PURE__ */ t(
949
+ "div",
950
+ {
951
+ className: `${e.zteamFold} ${e.fadeIn} ${d("zt-fold") ? e.fadeInVisible : ""}`,
952
+ "data-reveal-id": "zt-fold",
953
+ children: [
954
+ /* @__PURE__ */ t("div", { className: e.zteamFoldMain, children: [
955
+ /* @__PURE__ */ a("span", { className: e.navMark, children: "ZT" }),
956
+ /* @__PURE__ */ t("div", { children: [
957
+ /* @__PURE__ */ a("div", { className: e.zteamFoldTitle, children: "Z Team · 组织级 AI 协同" }),
958
+ /* @__PURE__ */ a("div", { className: e.zteamFoldDesc, children: "消息中枢 · 星型多 Agent · 学习子系统 · 六端客户端" })
959
+ ] })
960
+ ] }),
961
+ /* @__PURE__ */ t(
962
+ "button",
963
+ {
964
+ className: e.zteamToggle,
965
+ "aria-expanded": r,
966
+ "aria-controls": "zteam-panel",
967
+ onClick: () => v((n) => !n),
968
+ children: [
969
+ r ? "收起详情" : "展开详情",
970
+ /* @__PURE__ */ a(
971
+ i,
972
+ {
973
+ name: "arrow",
974
+ size: 15,
975
+ strokeWidth: 2,
976
+ className: r ? e.zteamToggleIconOpen : e.zteamToggleIcon
977
+ }
978
+ )
979
+ ]
980
+ }
981
+ )
982
+ ]
983
+ }
984
+ ),
985
+ r && /* @__PURE__ */ t("div", { className: e.zteamPanel, id: "zteam-panel", children: [
986
+ /* @__PURE__ */ a("h3", { className: e.subTitle, children: "八项核心能力" }),
987
+ /* @__PURE__ */ a("div", { className: e.capGrid, children: _t.map((n) => /* @__PURE__ */ t("article", { className: e.capCard, children: [
988
+ /* @__PURE__ */ a("div", { className: e.capIcon, children: /* @__PURE__ */ a(
989
+ i,
990
+ {
991
+ name: n.icon,
992
+ size: 19,
993
+ strokeWidth: 1.8
994
+ }
995
+ ) }),
996
+ /* @__PURE__ */ a("h4", { className: e.capTitle, children: n.title }),
997
+ /* @__PURE__ */ a("p", { className: e.capDesc, children: n.desc }),
998
+ /* @__PURE__ */ a("span", { className: e.capTag, children: n.tag })
999
+ ] }, n.title)) }),
1000
+ /* @__PURE__ */ a("h3", { className: e.subTitle, children: "一次协作的完整链路" }),
1001
+ /* @__PURE__ */ t("div", { className: e.showcaseGrid, children: [
1002
+ /* @__PURE__ */ a(ut, {}),
1003
+ /* @__PURE__ */ a("ol", { className: e.flowList, children: [
1004
+ {
1005
+ t: "人类发起",
1006
+ d: "在群里用自然语言描述需求,无需学习新工具"
1007
+ },
1008
+ {
1009
+ t: "主控拆解",
1010
+ d: "TeamAgent 分析意图,@调度合适的子 Agent"
1011
+ },
1012
+ {
1013
+ t: "多方执行",
1014
+ d: "子 Agent 各自推理执行,工具链路安全隔离"
1015
+ },
1016
+ {
1017
+ t: "结果回灌",
1018
+ d: "汇总诊断结论,生成修复建议,全在群聊完成"
1019
+ }
1020
+ ].map((n, o) => /* @__PURE__ */ t("li", { className: e.flowItem, children: [
1021
+ /* @__PURE__ */ a("span", { className: e.flowNum, children: String(o + 1).padStart(2, "0") }),
1022
+ /* @__PURE__ */ t("div", { children: [
1023
+ /* @__PURE__ */ a("strong", { className: e.flowTitle, children: n.t }),
1024
+ /* @__PURE__ */ a("p", { className: e.flowDesc, children: n.d })
1025
+ ] })
1026
+ ] }, n.t)) })
1027
+ ] }),
1028
+ /* @__PURE__ */ a("h3", { className: e.subTitle, children: "全平台客户端" }),
1029
+ /* @__PURE__ */ a("div", { className: e.cliGrid, children: kt.map((n) => {
1030
+ const o = n.key === "macos" ? A(c, "macos") : n.key === "windows" ? A(c, "windows") : n.key === "android" ? _ : null, s = o && o.releaseType === "beta" ? "beta" : n.state, m = o && o.releaseType === "beta" ? "内测中" : pt[n.state];
1031
+ return /* @__PURE__ */ t("article", { className: e.cliCard, children: [
1032
+ /* @__PURE__ */ t("div", { className: e.cliTop, children: [
1033
+ /* @__PURE__ */ a("span", { className: e.cliIcon, children: /* @__PURE__ */ a(
1034
+ i,
1035
+ {
1036
+ name: n.icon,
1037
+ size: 20,
1038
+ strokeWidth: 1.8
1039
+ }
1040
+ ) }),
1041
+ /* @__PURE__ */ a(
1042
+ "span",
1043
+ {
1044
+ className: `${e.cliState} ${e[`state_${s}`]}`,
1045
+ children: m
1046
+ }
1047
+ )
1048
+ ] }),
1049
+ /* @__PURE__ */ a("h4", { className: e.cliName, children: n.name }),
1050
+ /* @__PURE__ */ a("div", { className: e.cliEn, children: o ? `${n.en} · v${o.version}` : n.en }),
1051
+ /* @__PURE__ */ a("p", { className: e.cliDesc, children: n.desc }),
1052
+ o && /* @__PURE__ */ t("div", { className: e.cliMeta, children: [
1053
+ o.fileSize > 0 && /* @__PURE__ */ a("span", { children: V(o.fileSize) }),
1054
+ o.releaseTime && /* @__PURE__ */ a("span", { children: H(
1055
+ o.releaseTime
1056
+ ) }),
1057
+ o.changelog && /* @__PURE__ */ a(
1058
+ "span",
1059
+ {
1060
+ className: e.cliMetaNote,
1061
+ children: o.changelog
1062
+ }
1063
+ )
1064
+ ] }),
1065
+ /* @__PURE__ */ a("div", { className: e.cliAction, children: o ? /* @__PURE__ */ t(
1066
+ "a",
1067
+ {
1068
+ className: e.cliBtnPrimary,
1069
+ href: o.downloadUrl,
1070
+ target: "_blank",
1071
+ rel: "noreferrer",
1072
+ children: [
1073
+ /* @__PURE__ */ a(
1074
+ i,
1075
+ {
1076
+ name: "download",
1077
+ size: 15,
1078
+ strokeWidth: 2
1079
+ }
1080
+ ),
1081
+ "下载 v",
1082
+ o.version
1083
+ ]
1084
+ }
1085
+ ) : n.key === "web" ? /* @__PURE__ */ t(
1086
+ "button",
1087
+ {
1088
+ className: e.cliBtnPrimary,
1089
+ onClick: T,
1090
+ children: [
1091
+ "立即使用",
1092
+ /* @__PURE__ */ a(
1093
+ i,
1094
+ {
1095
+ name: "arrow",
1096
+ size: 15,
1097
+ strokeWidth: 2
1098
+ }
1099
+ )
1100
+ ]
1101
+ }
1102
+ ) : n.key === "cli" ? /* @__PURE__ */ a(
1103
+ "button",
1104
+ {
1105
+ className: e.cliBtnGhost,
1106
+ onClick: () => b.push("/docs"),
1107
+ children: "查看接入方式"
1108
+ }
1109
+ ) : (
1110
+ /* 无发布清单时不放假下载入口,只如实标注状态 */
1111
+ /* @__PURE__ */ a(
1112
+ "button",
1113
+ {
1114
+ className: e.cliBtnGhost,
1115
+ disabled: !0,
1116
+ children: n.key === "ios" ? "内测中" : "发布后在此提供"
1117
+ }
1118
+ )
1119
+ ) })
1120
+ ] }, n.key);
1121
+ }) }),
1122
+ /* @__PURE__ */ t("div", { className: e.cliMore, children: [
1123
+ /* @__PURE__ */ t("span", { children: [
1124
+ "需要完整版本信息、校验与历史版本?",
1125
+ /* @__PURE__ */ t("span", { className: e.cliMoreSub, children: [
1126
+ " ",
1127
+ F,
1128
+ " · ",
1129
+ O,
1130
+ " · iOS 内测 ·",
1131
+ " ",
1132
+ G,
1133
+ " · Web 免安装"
1134
+ ] })
1135
+ ] }),
1136
+ /* @__PURE__ */ t(
1137
+ "button",
1138
+ {
1139
+ className: e.cliMoreBtn,
1140
+ onClick: () => b.push("/docs#changelog"),
1141
+ children: [
1142
+ "查看发布说明",
1143
+ /* @__PURE__ */ a(
1144
+ i,
1145
+ {
1146
+ name: "arrow",
1147
+ size: 15,
1148
+ strokeWidth: 2
1149
+ }
1150
+ )
1151
+ ]
1152
+ }
1153
+ )
1154
+ ] })
1155
+ ] })
1156
+ ] }) }),
1157
+ /* @__PURE__ */ t("footer", { className: e.footer, children: [
1158
+ /* @__PURE__ */ t("div", { className: e.footerInner, children: [
1159
+ /* @__PURE__ */ t("div", { className: e.footerBrand, children: [
1160
+ /* @__PURE__ */ a("span", { className: e.navMark, children: "OPC" }),
1161
+ /* @__PURE__ */ t("div", { children: [
1162
+ /* @__PURE__ */ a("div", { className: e.footerBrandName, children: "Z OPC" }),
1163
+ /* @__PURE__ */ a("div", { className: e.footerBrandDesc, children: "One Company Unified Service · 一个进程装下整家公司" })
1164
+ ] })
1165
+ ] }),
1166
+ /* @__PURE__ */ t("nav", { className: e.footerLinks, children: [
1167
+ /* @__PURE__ */ t("div", { className: e.footerCol, children: [
1168
+ /* @__PURE__ */ a("span", { className: e.footerColTitle, children: "平台" }),
1169
+ y.map((n) => /* @__PURE__ */ a(
1170
+ "button",
1171
+ {
1172
+ className: e.footerLink,
1173
+ onClick: () => N(n.id),
1174
+ children: n.label
1175
+ },
1176
+ n.id
1177
+ ))
1178
+ ] }),
1179
+ /* @__PURE__ */ t("div", { className: e.footerCol, children: [
1180
+ /* @__PURE__ */ a("span", { className: e.footerColTitle, children: "资源" }),
1181
+ /* @__PURE__ */ a("button", { className: e.footerLink, onClick: $, children: "客户端下载" }),
1182
+ /* @__PURE__ */ a(
1183
+ "button",
1184
+ {
1185
+ className: e.footerLink,
1186
+ onClick: () => b.push("/docs"),
1187
+ children: "操作手册"
1188
+ }
1189
+ ),
1190
+ /* @__PURE__ */ a(
1191
+ "button",
1192
+ {
1193
+ className: e.footerLink,
1194
+ onClick: () => b.push("/docs#changelog"),
1195
+ children: "迭代日志"
1196
+ }
1197
+ ),
1198
+ /* @__PURE__ */ a("button", { className: e.footerLink, onClick: T, children: "进入工作台" })
1199
+ ] })
1200
+ ] })
1201
+ ] }),
1202
+ /* @__PURE__ */ t("div", { className: e.footerBottom, children: [
1203
+ /* @__PURE__ */ a("span", { children: "Spring Boot 2.7 · React 19 · 单一 JVM · 12 自研中间件" }),
1204
+ /* @__PURE__ */ a("span", { children: "© 2026 Z OPC" })
1205
+ ] })
1206
+ ] }),
1207
+ /* @__PURE__ */ a(
1208
+ "button",
1209
+ {
1210
+ className: `${e.toTop} ${p ? e.toTopVisible : ""}`,
1211
+ onClick: () => window.scrollTo({ top: 0, behavior: "smooth" }),
1212
+ "aria-label": "回到顶部",
1213
+ tabIndex: p ? 0 : -1,
1214
+ children: /* @__PURE__ */ a(
1215
+ i,
1216
+ {
1217
+ name: "arrow",
1218
+ size: 18,
1219
+ strokeWidth: 2,
1220
+ className: e.toTopIcon
1221
+ }
1222
+ )
1223
+ }
1224
+ )
1225
+ ] });
1226
+ }
1227
+ export {
1228
+ Tt as default
1229
+ };