@yuku123/z-team-component 0.2.80 → 0.2.83

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 (51) hide show
  1. package/dist/ChangeLogView-_bRZ55Yi.js +542 -0
  2. package/dist/ComponentDoc-BFoF51we.js +3998 -0
  3. package/dist/InvitationManagementPage-CTPCZXHu.js +495 -0
  4. package/dist/OnboardingPage-DwtuTL61.js +393 -0
  5. package/dist/ScheduledTasks-yeTm2bOY.js +9407 -0
  6. package/dist/SystemShell-D9OzKxL-.js +689 -0
  7. package/dist/_commonjsHelpers-B52_cu2H.js +26 -0
  8. package/dist/api-CIhVblfa.js +2155 -0
  9. package/dist/api-DXLNhtCX.js +20 -0
  10. package/dist/browser-jb_PFvU3.js +1538 -0
  11. package/dist/createWorkspaceWsHandler-BWP5S5X3.js +12951 -0
  12. package/dist/ctc-sso-DtJHC-2M.js +117 -0
  13. package/dist/echarts-B1OU1xr4.js +16 -0
  14. package/dist/history-BlrA1eaW.js +41 -0
  15. package/dist/index-BCp5EtqR.js +914 -0
  16. package/dist/index-BHrMl3Jq.js +9585 -0
  17. package/dist/index-BP7WTzVH.js +137 -0
  18. package/dist/index-B_LJRFsK.js +339 -0
  19. package/dist/index-BgIheStI.js +133 -0
  20. package/dist/index-BohoJQPr.js +7631 -0
  21. package/dist/index-BydWNuk5.js +1229 -0
  22. package/dist/index-C815hPWS.js +430 -0
  23. package/dist/index-CBQMS6rx.js +178 -0
  24. package/dist/index-CESmMALI.js +242 -0
  25. package/dist/index-CUVdeb8y.js +638 -0
  26. package/dist/index-CijskN6t.js +316 -0
  27. package/dist/index-CoBZZQBy.js +112 -0
  28. package/dist/index-Co_0idJY.js +2936 -0
  29. package/dist/index-Cvx6rrxD.js +956 -0
  30. package/dist/index-Cwr5Slv1.js +480 -0
  31. package/dist/index-CxFAICql.js +42050 -0
  32. package/dist/index-DK70mOTz.js +143 -0
  33. package/dist/index-DT80Pwa_.js +5893 -0
  34. package/dist/index-DWsfQMp8.js +208 -0
  35. package/dist/index-DhDdFRHC.js +279 -0
  36. package/dist/index-Dm3wmB0K.js +435 -0
  37. package/dist/index-DzS6-D3M.js +1640 -0
  38. package/dist/index-PKkV63Sw.js +1143 -0
  39. package/dist/index-SbMjh8t4.js +574 -0
  40. package/dist/index-cdB5K3gx.js +814 -0
  41. package/dist/index-mnWs_wA3.js +93 -0
  42. package/dist/index-nU-V276i.js +170 -0
  43. package/dist/index-nW0ikV2R.js +2700 -0
  44. package/dist/index-uF04Ucsi.js +8 -0
  45. package/dist/index-x_7Rmav9.js +118 -0
  46. package/dist/index.js +10 -0
  47. package/dist/index.module-CAa-2T7m.js +72 -0
  48. package/dist/index.module-UI0iz8K0.js +42 -0
  49. package/dist/{menuPermission-D9NGpBZP.js → menuPermission-DHUqvHfu.js} +1 -1
  50. package/dist/pages.js +1 -1
  51. package/package.json +1 -1
@@ -0,0 +1,1229 @@
1
+ import { jsxs as n, jsx as a } from "react/jsx-runtime";
2
+ import { useState as p, useEffect as A, useMemo as x, useCallback as I, useLayoutEffect as W } from "react";
3
+ import { h as N } from "./history-BlrA1eaW.js";
4
+ import { f as E, p as y, L as i, a as V, b as H, M as Z, A as q } from "./index-DWsfQMp8.js";
5
+ const J = "_welcome_cgfwv_11", K = "_bgWash_cgfwv_57", U = "_bgGrid_cgfwv_68", j = "_container_cgfwv_82", Q = "_navbar_cgfwv_99", Y = "_navInner_cgfwv_109", X = "_navBrand_cgfwv_119", ee = "_navMark_cgfwv_127", ae = "_navBrandText_cgfwv_142", ce = "_navLinks_cgfwv_149", ne = "_navLink_cgfwv_149", te = "_navLinkActive_cgfwv_172", se = "_navMenuBtn_cgfwv_177", oe = "_navMenuIcon_cgfwv_197", le = "_navMenuIconOpen_cgfwv_214", ie = "_navMenuPanel_cgfwv_226", re = "_menuIn_cgfwv_1", de = "_navMenuItem_cgfwv_255", _e = "_navMenuCta_cgfwv_273", me = "_navActions_cgfwv_294", he = "_navGhost_cgfwv_301", ve = "_navPrimary_cgfwv_302", fe = "_hero_cgfwv_342", we = "_heroInner_cgfwv_348", ge = "_eyebrow_cgfwv_357", pe = "_eyebrowDot_cgfwv_373", Ne = "_heroTitle_cgfwv_381", ue = "_heroTitleAccent_cgfwv_391", be = "_heroLead_cgfwv_404", Te = "_heroActions_cgfwv_412", Ce = "_btnPrimary_cgfwv_419", Ie = "_btnSecondary_cgfwv_420", Me = "_heroStats_cgfwv_461", Ae = "_heroStat_cgfwv_461", ye = "_heroStatNum_cgfwv_474", ke = "_heroStatLabel_cgfwv_482", ze = "_heroVisual_cgfwv_488", Se = "_chatCard_cgfwv_504", Le = "_chatHead_cgfwv_515", Pe = "_chatHeadLeft_cgfwv_525", Re = "_chatLiveDot_cgfwv_532", Ee = "_chatRoom_cgfwv_541", De = "_chatMeta_cgfwv_550", Be = "_chatBody_cgfwv_557", $e = "_chatRow_cgfwv_565", Fe = "_chatRowHuman_cgfwv_572", Oe = "_chatRowAgent_cgfwv_577", Ge = "_chatRowSub_cgfwv_578", xe = "_chatWho_cgfwv_582", We = "_chatName_cgfwv_590", Ve = "_chatTag_cgfwv_596", He = "_chatTagPrimary_cgfwv_597", Ze = "_chatTime_cgfwv_617", qe = "_chatBubble_cgfwv_621", Je = "_chatMentions_cgfwv_642", Ke = "_chatMention_cgfwv_642", Ue = "_section_cgfwv_662", je = "_sectionHead_cgfwv_669", Qe = "_sectionEyebrow_cgfwv_674", Ye = "_sectionTitle_cgfwv_683", Xe = "_sectionLead_cgfwv_692", ea = "_capGrid_cgfwv_702", aa = "_capCard_cgfwv_708", ca = "_capIcon_cgfwv_726", na = "_capTitle_cgfwv_739", ta = "_capDesc_cgfwv_747", sa = "_capTag_cgfwv_755", oa = "_archList_cgfwv_768", la = "_archRow_cgfwv_772", ia = "_archRail_cgfwv_780", ra = "_archIndex_cgfwv_786", da = "_archRailText_cgfwv_793", _a = "_archLabel_cgfwv_799", ma = "_archEn_cgfwv_806", ha = "_tone_blue_cgfwv_813", va = "_tone_cyan_cgfwv_817", fa = "_tone_purple_cgfwv_821", wa = "_tone_gold_cgfwv_825", ga = "_tone_green_cgfwv_829", pa = "_archModules_cgfwv_833", Na = "_archModule_cgfwv_833", ua = "_archModuleName_cgfwv_849", ba = "_archModuleDesc_cgfwv_855", Ta = "_showcaseGrid_cgfwv_864", Ca = "_flowList_cgfwv_871", Ia = "_flowItem_cgfwv_880", Ma = "_flowNum_cgfwv_891", Aa = "_flowTitle_cgfwv_907", ya = "_flowDesc_cgfwv_914", ka = "_scnGrid_cgfwv_924", za = "_scnCard_cgfwv_930", Sa = "_scnIcon_cgfwv_947", La = "_scnTitle_cgfwv_960", Pa = "_scnDesc_cgfwv_967", Ra = "_valList_cgfwv_977", Ea = "_valItem_cgfwv_983", Da = "_valNum_cgfwv_999", Ba = "_valTitle_cgfwv_1009", $a = "_valDesc_cgfwv_1016", Fa = "_valCta_cgfwv_1024", Oa = "_valCtaTitle_cgfwv_1036", Ga = "_valCtaDesc_cgfwv_1044", xa = "_valCtaActions_cgfwv_1051", Wa = "_valCtaPrimary_cgfwv_1057", Va = "_valCtaGhost_cgfwv_1058", Ha = "_cliGrid_cgfwv_1097", Za = "_cliCard_cgfwv_1103", qa = "_cliTop_cgfwv_1120", Ja = "_cliIcon_cgfwv_1128", Ka = "_cliState_cgfwv_1140", Ua = "_state_ready_cgfwv_1149", ja = "_state_beta_cgfwv_1155", Qa = "_state_soon_cgfwv_1161", Ya = "_state_free_cgfwv_1167", Xa = "_state_instant_cgfwv_1173", ec = "_cliName_cgfwv_1179", ac = "_cliEn_cgfwv_1187", cc = "_cliDesc_cgfwv_1193", nc = "_cliMeta_cgfwv_1201", tc = "_cliMetaNote_cgfwv_1218", sc = "_cliAction_cgfwv_1225", oc = "_cliBtnPrimary_cgfwv_1229", lc = "_cliBtnGhost_cgfwv_1230", ic = "_cliMore_cgfwv_1273", rc = "_cliMoreSub_cgfwv_1288", dc = "_cliMoreBtn_cgfwv_1292", _c = "_toTop_cgfwv_1320", mc = "_toTopVisible_cgfwv_1343", hc = "_toTopIcon_cgfwv_1354", vc = "_footer_cgfwv_1358", fc = "_footerInner_cgfwv_1366", wc = "_footerBrand_cgfwv_1376", gc = "_footerBrandName_cgfwv_1383", pc = "_footerBrandDesc_cgfwv_1389", Nc = "_footerLinks_cgfwv_1396", uc = "_footerCol_cgfwv_1401", bc = "_footerColTitle_cgfwv_1407", Tc = "_footerLink_cgfwv_1396", Cc = "_footerBottom_cgfwv_1432", Ic = "_fadeIn_cgfwv_1449", Mc = "_revealRoot_cgfwv_7", Ac = "_fadeInVisible_cgfwv_1464", yc = "_faceGrid_cgfwv_1472", kc = "_faceEn_cgfwv_1478", zc = "_gridNote_cgfwv_1488", Sc = "_platCard_cgfwv_1500", Lc = "_platHead_cgfwv_1510", Pc = "_platLiveDot_cgfwv_1516", Rc = "_platTitle_cgfwv_1525", Ec = "_platPort_cgfwv_1532", Dc = "_platSub_cgfwv_1543", Bc = "_platFaces_cgfwv_1549", $c = "_platFace_cgfwv_1549", Fc = "_platFaceName_cgfwv_1566", Oc = "_platFaceEn_cgfwv_1572", Gc = "_platFaceTag_cgfwv_1580", xc = "_platEmbed_cgfwv_1592", Wc = "_platEmbedTitle_cgfwv_1598", Vc = "_platChips_cgfwv_1607", Hc = "_platChip_cgfwv_1607", Zc = "_platFoot_cgfwv_1632", qc = "_platFootOk_cgfwv_1642", Jc = "_mwGrid_cgfwv_1648", Kc = "_mwCard_cgfwv_1654", Uc = "_mwName_cgfwv_1670", jc = "_mwMeta_cgfwv_1676", Qc = "_mwDesc_cgfwv_1687", Yc = "_zteamFold_cgfwv_1695", Xc = "_zteamFoldMain_cgfwv_1710", en = "_zteamFoldTitle_cgfwv_1717", an = "_zteamFoldDesc_cgfwv_1724", cn = "_zteamToggle_cgfwv_1730", nn = "_zteamToggleIcon_cgfwv_1754", tn = "_zteamToggleIconOpen_cgfwv_1759", sn = "_zteamPanel_cgfwv_1764", on = "_subTitle_cgfwv_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: ce,
16
+ navLink: ne,
17
+ navLinkActive: te,
18
+ navMenuBtn: se,
19
+ navMenuIcon: oe,
20
+ navMenuIconOpen: le,
21
+ navMenuPanel: ie,
22
+ menuIn: re,
23
+ navMenuItem: de,
24
+ navMenuCta: _e,
25
+ navActions: me,
26
+ navGhost: he,
27
+ navPrimary: ve,
28
+ hero: fe,
29
+ heroInner: we,
30
+ eyebrow: ge,
31
+ eyebrowDot: pe,
32
+ heroTitle: Ne,
33
+ heroTitleAccent: ue,
34
+ heroLead: be,
35
+ heroActions: Te,
36
+ btnPrimary: Ce,
37
+ btnSecondary: Ie,
38
+ heroStats: Me,
39
+ heroStat: Ae,
40
+ heroStatNum: ye,
41
+ heroStatLabel: ke,
42
+ heroVisual: ze,
43
+ chatCard: Se,
44
+ chatHead: Le,
45
+ chatHeadLeft: Pe,
46
+ chatLiveDot: Re,
47
+ chatRoom: Ee,
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: ca,
70
+ capTitle: na,
71
+ capDesc: ta,
72
+ capTag: sa,
73
+ archList: oa,
74
+ archRow: la,
75
+ archRail: ia,
76
+ archIndex: ra,
77
+ archRailText: da,
78
+ archLabel: _a,
79
+ archEn: ma,
80
+ tone_blue: ha,
81
+ tone_cyan: va,
82
+ tone_purple: fa,
83
+ tone_gold: wa,
84
+ tone_green: ga,
85
+ archModules: pa,
86
+ archModule: Na,
87
+ archModuleName: ua,
88
+ archModuleDesc: ba,
89
+ showcaseGrid: Ta,
90
+ flowList: Ca,
91
+ flowItem: Ia,
92
+ flowNum: Ma,
93
+ flowTitle: Aa,
94
+ flowDesc: ya,
95
+ scnGrid: ka,
96
+ scnCard: za,
97
+ scnIcon: Sa,
98
+ scnTitle: La,
99
+ scnDesc: Pa,
100
+ valList: Ra,
101
+ valItem: Ea,
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: ec,
122
+ cliEn: ac,
123
+ cliDesc: cc,
124
+ cliMeta: nc,
125
+ cliMetaNote: tc,
126
+ cliAction: sc,
127
+ cliBtnPrimary: oc,
128
+ cliBtnGhost: lc,
129
+ cliMore: ic,
130
+ cliMoreSub: rc,
131
+ cliMoreBtn: dc,
132
+ toTop: _c,
133
+ toTopVisible: mc,
134
+ toTopIcon: hc,
135
+ footer: vc,
136
+ footerInner: fc,
137
+ footerBrand: wc,
138
+ footerBrandName: gc,
139
+ footerBrandDesc: pc,
140
+ footerLinks: Nc,
141
+ footerCol: uc,
142
+ footerColTitle: bc,
143
+ footerLink: Tc,
144
+ footerBottom: Cc,
145
+ fadeIn: Ic,
146
+ revealRoot: Mc,
147
+ fadeInVisible: Ac,
148
+ faceGrid: yc,
149
+ faceEn: kc,
150
+ gridNote: zc,
151
+ platCard: Sc,
152
+ platHead: Lc,
153
+ platLiveDot: Pc,
154
+ platTitle: Rc,
155
+ platPort: Ec,
156
+ platSub: Dc,
157
+ platFaces: Bc,
158
+ platFace: $c,
159
+ platFaceName: Fc,
160
+ platFaceEn: Oc,
161
+ platFaceTag: Gc,
162
+ platEmbed: xc,
163
+ platEmbedTitle: Wc,
164
+ platChips: Vc,
165
+ platChip: Hc,
166
+ platFoot: Zc,
167
+ platFootOk: qc,
168
+ mwGrid: Jc,
169
+ mwCard: Kc,
170
+ mwName: Uc,
171
+ mwMeta: jc,
172
+ mwDesc: Qc,
173
+ zteamFold: Yc,
174
+ zteamFoldMain: Xc,
175
+ zteamFoldTitle: en,
176
+ zteamFoldDesc: an,
177
+ zteamToggle: cn,
178
+ zteamToggleIcon: nn,
179
+ zteamToggleIconOpen: tn,
180
+ zteamPanel: sn,
181
+ subTitle: on
182
+ }, k = [
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-OPC 就在这里。",
194
+ tag: "z-opc · 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
+ ], ln = [
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
+ ], rn = [
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
+ ], dn = [
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
+ ], _n = [
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
+ ], mn = [
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
+ ], hn = [
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
+ ], vn = {
421
+ ready: "可下载",
422
+ beta: "内测中",
423
+ soon: "即将发布",
424
+ free: "免安装",
425
+ instant: "即刻可用"
426
+ }, fn = [
427
+ {
428
+ key: "macos",
429
+ icon: "laptop",
430
+ name: "macOS 桌面端",
431
+ en: "Z-OPC 桌面端 · Apple Silicon",
432
+ state: "ready",
433
+ desc: "本地 Agent 沙箱、火箭跳转、自动更新。与生产 Agent 集群双向打通。"
434
+ },
435
+ {
436
+ key: "windows",
437
+ icon: "windows",
438
+ name: "Windows 桌面端",
439
+ en: "Z-OPC 桌面端 · x64",
440
+ state: "ready",
441
+ desc: "与 macOS 同源交付,安装包为 x64 setup 格式,功能一套不打折。"
442
+ },
443
+ {
444
+ key: "ios",
445
+ icon: "phone",
446
+ name: "iOS App",
447
+ en: "Z-OPC · 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-OPC · 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 wn() {
477
+ const [s, u] = p(!1), [m, M] = p(/* @__PURE__ */ new Set());
478
+ W(() => {
479
+ if (typeof IntersectionObserver > "u") {
480
+ u(!0);
481
+ return;
482
+ }
483
+ const l = new IntersectionObserver(
484
+ (v) => {
485
+ M((f) => {
486
+ let r = null;
487
+ return v.forEach((w) => {
488
+ if (!w.isIntersecting) return;
489
+ const b = w.target.dataset.revealId;
490
+ !b || f.has(b) || (r = r ?? new Set(f), r.add(b));
491
+ }), r ?? f;
492
+ });
493
+ },
494
+ { threshold: 0.08, rootMargin: "0px 0px -8% 0px" }
495
+ );
496
+ document.querySelectorAll("[data-reveal-id]").forEach((v) => l.observe(v));
497
+ const S = window.setTimeout(() => {
498
+ M((v) => {
499
+ const f = new Set(v);
500
+ return document.querySelectorAll("[data-reveal-id]").forEach((r) => {
501
+ const w = r.dataset.revealId;
502
+ w && f.add(w);
503
+ }), f;
504
+ });
505
+ }, 2400);
506
+ return u(!0), () => {
507
+ l.disconnect(), window.clearTimeout(S);
508
+ };
509
+ }, []);
510
+ const h = I(
511
+ (l) => m.has(l),
512
+ [m]
513
+ );
514
+ return { revealReady: s, isRevealed: h };
515
+ }
516
+ function gn() {
517
+ return /* @__PURE__ */ n("div", { className: e.platCard, children: [
518
+ /* @__PURE__ */ n("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((s) => /* @__PURE__ */ n("div", { className: e.platFace, children: [
525
+ /* @__PURE__ */ a("span", { className: e.platFaceName, children: s.name }),
526
+ /* @__PURE__ */ a("span", { className: e.platFaceEn, children: s.en }),
527
+ s.name === "协作" && /* @__PURE__ */ a("span", { className: e.platFaceTag, children: "Z-OPC" })
528
+ ] }, s.name)) }),
529
+ /* @__PURE__ */ n("div", { className: e.platEmbed, children: [
530
+ /* @__PURE__ */ a("span", { className: e.platEmbedTitle, children: "同进程中间件" }),
531
+ /* @__PURE__ */ a("div", { className: e.platChips, children: _n.map((s) => /* @__PURE__ */ n("span", { className: e.platChip, children: [
532
+ s.name,
533
+ /* @__PURE__ */ a("em", { children: s.port })
534
+ ] }, s.name)) })
535
+ ] }),
536
+ /* @__PURE__ */ n("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 pn() {
543
+ return /* @__PURE__ */ n("div", { className: e.chatCard, children: [
544
+ /* @__PURE__ */ n("div", { className: e.chatHead, children: [
545
+ /* @__PURE__ */ n("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: hn.map((s, u) => /* @__PURE__ */ n(
552
+ "div",
553
+ {
554
+ className: `${e.chatRow} ${s.role === "human" ? e.chatRowHuman : s.role === "subagent" ? e.chatRowSub : e.chatRowAgent}`,
555
+ children: [
556
+ /* @__PURE__ */ n("div", { className: e.chatWho, children: [
557
+ /* @__PURE__ */ a("span", { className: e.chatName, children: s.name }),
558
+ s.role === "agent" && /* @__PURE__ */ a("span", { className: e.chatTagPrimary, children: "主控" }),
559
+ s.role === "subagent" && /* @__PURE__ */ a("span", { className: e.chatTag, children: "子 Agent" }),
560
+ /* @__PURE__ */ a("span", { className: e.chatTime, children: s.time })
561
+ ] }),
562
+ /* @__PURE__ */ a("div", { className: e.chatBubble, children: s.text }),
563
+ s.mentions && /* @__PURE__ */ a("div", { className: e.chatMentions, children: s.mentions.map((m) => /* @__PURE__ */ a("span", { className: e.chatMention, children: m }, m)) })
564
+ ]
565
+ },
566
+ u
567
+ )) })
568
+ ] });
569
+ }
570
+ function Cn() {
571
+ const [s, u] = p(null), [m, M] = p(null), [h, l] = p(!1), [z, S] = p(""), [v, f] = p(!1), [r, w] = p(!1), { revealReady: b, isRevealed: d } = wn();
572
+ A(() => {
573
+ let c = !0;
574
+ return E(Z).then((t) => {
575
+ c && u(t);
576
+ }), E(q).then((t) => {
577
+ c && M(t);
578
+ }), () => {
579
+ c = !1;
580
+ };
581
+ }, []), A(() => {
582
+ const c = document.title;
583
+ document.title = "Z OPC · 组织级统一服务平台";
584
+ let t = document.head.querySelector(
585
+ 'meta[name="description"]'
586
+ );
587
+ const o = !t, _ = (t == null ? void 0 : t.content) ?? "";
588
+ return t || (t = document.createElement("meta"), t.name = "description", document.head.appendChild(t)), t.content = "Z OPC 以单个 Spring Boot JVM 承载协作、智能、产品、研发、测试、运维、中间件、系统与 RPA 九个工作台,自研中间件同进程运行,一套 4A 账号打通全部入口。", () => {
589
+ document.title = c, t && (o ? t.remove() : t.content = _);
590
+ };
591
+ }, []), A(() => {
592
+ if (!h) return;
593
+ const c = (_) => {
594
+ _.key === "Escape" && l(!1);
595
+ }, t = (_) => {
596
+ const T = _.target;
597
+ T != null && T.closest("[data-welcome-menu]") || l(!1);
598
+ }, o = () => {
599
+ window.innerWidth > 900 && l(!1);
600
+ };
601
+ return window.addEventListener("keydown", c), document.addEventListener("pointerdown", t), window.addEventListener("resize", o), () => {
602
+ window.removeEventListener("keydown", c), document.removeEventListener("pointerdown", t), window.removeEventListener("resize", o);
603
+ };
604
+ }, [h]), A(() => {
605
+ let c = 0;
606
+ const t = () => {
607
+ c || (c = window.requestAnimationFrame(() => {
608
+ c = 0, f(window.scrollY > 880);
609
+ let o = "";
610
+ for (const _ of k) {
611
+ const T = document.getElementById(_.id);
612
+ T && T.getBoundingClientRect().top <= 140 && (o = _.id);
613
+ }
614
+ S(o);
615
+ }));
616
+ };
617
+ return t(), window.addEventListener("scroll", t, { passive: !0 }), () => {
618
+ window.removeEventListener("scroll", t), c && window.cancelAnimationFrame(c);
619
+ };
620
+ }, []);
621
+ const B = x(
622
+ () => `${e.welcome} ${b ? e.revealRoot : ""}`,
623
+ [b]
624
+ ), g = I((c) => {
625
+ var t;
626
+ (t = document.getElementById(c)) == null || t.scrollIntoView({ behavior: "smooth", block: "start" });
627
+ }, []), L = I(
628
+ (c) => {
629
+ l(!1), g(c);
630
+ },
631
+ [g]
632
+ ), C = I(() => N.push("/workspace"), []), $ = I(() => {
633
+ w(!0), g("zteam");
634
+ }, [g]), P = y(s, "macos"), R = y(s, "windows"), F = P ? `macOS v${P.version}` : "macOS", O = R ? `Windows v${R.version}` : "Windows", G = m ? `Android v${m.version}` : "Android";
635
+ return /* @__PURE__ */ n("div", { className: B, children: [
636
+ /* @__PURE__ */ a("div", { className: e.bgWash }),
637
+ /* @__PURE__ */ a("div", { className: e.bgGrid }),
638
+ /* @__PURE__ */ n("nav", { className: e.navbar, children: [
639
+ /* @__PURE__ */ n("div", { className: e.navInner, children: [
640
+ /* @__PURE__ */ n(
641
+ "div",
642
+ {
643
+ className: e.navBrand,
644
+ onClick: () => g("top"),
645
+ onKeyDown: (c) => {
646
+ (c.key === "Enter" || c.key === " ") && (c.preventDefault(), g("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__ */ n("div", { className: e.navLinks, children: [
658
+ k.map((c) => /* @__PURE__ */ a(
659
+ "button",
660
+ {
661
+ className: `${e.navLink} ${z === c.id ? e.navLinkActive : ""}`,
662
+ "aria-current": z === c.id ? "true" : void 0,
663
+ onClick: () => L(c.id),
664
+ children: c.label
665
+ },
666
+ c.id
667
+ )),
668
+ /* @__PURE__ */ a(
669
+ "button",
670
+ {
671
+ className: e.navLink,
672
+ onClick: () => N.push("/docs"),
673
+ children: "操作手册"
674
+ }
675
+ )
676
+ ] }),
677
+ /* @__PURE__ */ n("div", { className: e.navActions, children: [
678
+ /* @__PURE__ */ n("button", { className: e.navPrimary, onClick: C, 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((c) => !c),
691
+ children: /* @__PURE__ */ n(
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__ */ n(
708
+ "div",
709
+ {
710
+ className: e.navMenuPanel,
711
+ id: "welcome-mobile-menu",
712
+ "data-welcome-menu": !0,
713
+ children: [
714
+ k.map((c) => /* @__PURE__ */ a(
715
+ "button",
716
+ {
717
+ className: e.navMenuItem,
718
+ onClick: () => L(c.id),
719
+ children: c.label
720
+ },
721
+ c.id
722
+ )),
723
+ /* @__PURE__ */ a(
724
+ "button",
725
+ {
726
+ className: e.navMenuItem,
727
+ onClick: () => {
728
+ l(!1), N.push("/docs");
729
+ },
730
+ children: "操作手册"
731
+ }
732
+ ),
733
+ /* @__PURE__ */ n(
734
+ "button",
735
+ {
736
+ className: e.navMenuCta,
737
+ onClick: () => {
738
+ l(!1), C();
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__ */ n("div", { className: e.heroInner, children: [
751
+ /* @__PURE__ */ n("div", { className: e.heroCopy, children: [
752
+ /* @__PURE__ */ n("span", { className: e.eyebrow, children: [
753
+ /* @__PURE__ */ a("span", { className: e.eyebrowDot }),
754
+ "One Company Unified Service"
755
+ ] }),
756
+ /* @__PURE__ */ n("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__ */ n("div", { className: e.heroActions, children: [
763
+ /* @__PURE__ */ n("button", { className: e.btnPrimary, onClick: C, 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: () => g("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((c) => /* @__PURE__ */ n("div", { className: e.heroStat, children: [
782
+ /* @__PURE__ */ a("dt", { className: e.heroStatNum, children: c.n }),
783
+ /* @__PURE__ */ a("dd", { className: e.heroStatLabel, children: c.l })
784
+ ] }, c.l)) })
785
+ ] }),
786
+ /* @__PURE__ */ a("div", { className: e.heroVisual, children: /* @__PURE__ */ a(gn, {}) })
787
+ ] }) }),
788
+ /* @__PURE__ */ a("section", { className: e.section, id: "panorama", children: /* @__PURE__ */ n("div", { className: e.container, children: [
789
+ /* @__PURE__ */ n(
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((c, t) => /* @__PURE__ */ n(
802
+ "article",
803
+ {
804
+ className: `${e.capCard} ${e.fadeIn} ${d(`face-${t}`) ? e.fadeInVisible : ""}`,
805
+ "data-reveal-id": `face-${t}`,
806
+ style: { transitionDelay: `${t % 3 * 60}ms` },
807
+ children: [
808
+ /* @__PURE__ */ a("div", { className: e.capIcon, children: /* @__PURE__ */ a(
809
+ i,
810
+ {
811
+ name: c.icon,
812
+ size: 19,
813
+ strokeWidth: 1.8
814
+ }
815
+ ) }),
816
+ /* @__PURE__ */ n("h3", { className: e.capTitle, children: [
817
+ c.name,
818
+ /* @__PURE__ */ a("span", { className: e.faceEn, children: c.en })
819
+ ] }),
820
+ /* @__PURE__ */ a("p", { className: e.capDesc, children: c.desc }),
821
+ /* @__PURE__ */ a("span", { className: e.capTag, children: c.tag })
822
+ ]
823
+ },
824
+ c.name
825
+ )) }),
826
+ /* @__PURE__ */ a("p", { className: e.gridNote, children: "「协作」只是其中一块:Z-OPC 的能力、协作实景与客户端, 收在下方「数字员工」里。" })
827
+ ] }) }),
828
+ /* @__PURE__ */ a("section", { className: e.section, id: "account", children: /* @__PURE__ */ n("div", { className: e.container, children: [
829
+ /* @__PURE__ */ n(
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: ln.map((c, t) => /* @__PURE__ */ n(
842
+ "article",
843
+ {
844
+ className: `${e.scnCard} ${e.fadeIn} ${d(`acct-${t}`) ? e.fadeInVisible : ""}`,
845
+ "data-reveal-id": `acct-${t}`,
846
+ style: { transitionDelay: `${t % 2 * 60}ms` },
847
+ children: [
848
+ /* @__PURE__ */ a("div", { className: e.scnIcon, children: /* @__PURE__ */ a(
849
+ i,
850
+ {
851
+ name: c.icon,
852
+ size: 19,
853
+ strokeWidth: 1.8
854
+ }
855
+ ) }),
856
+ /* @__PURE__ */ a("h3", { className: e.scnTitle, children: c.title }),
857
+ /* @__PURE__ */ a("p", { className: e.scnDesc, children: c.desc })
858
+ ]
859
+ },
860
+ c.title
861
+ )) })
862
+ ] }) }),
863
+ /* @__PURE__ */ a("section", { className: e.section, id: "architecture", children: /* @__PURE__ */ n("div", { className: e.container, children: [
864
+ /* @__PURE__ */ n(
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: rn.map((c, t) => /* @__PURE__ */ n(
877
+ "div",
878
+ {
879
+ className: `${e.archRow} ${e.fadeIn} ${d(`arch-${t}`) ? e.fadeInVisible : ""}`,
880
+ "data-reveal-id": `arch-${t}`,
881
+ children: [
882
+ /* @__PURE__ */ n("div", { className: e.archRail, children: [
883
+ /* @__PURE__ */ a("span", { className: e.archIndex, children: String(t + 1).padStart(2, "0") }),
884
+ /* @__PURE__ */ n("div", { className: e.archRailText, children: [
885
+ /* @__PURE__ */ a(
886
+ "span",
887
+ {
888
+ className: `${e.archLabel} ${e[`tone_${c.tone}`]}`,
889
+ children: c.label
890
+ }
891
+ ),
892
+ /* @__PURE__ */ a("span", { className: e.archEn, children: c.en })
893
+ ] })
894
+ ] }),
895
+ /* @__PURE__ */ a("div", { className: e.archModules, children: c.modules.map((o) => /* @__PURE__ */ n("div", { className: e.archModule, children: [
896
+ /* @__PURE__ */ a("span", { className: e.archModuleName, children: o.name }),
897
+ /* @__PURE__ */ a("span", { className: e.archModuleDesc, children: o.desc })
898
+ ] }, o.name)) })
899
+ ]
900
+ },
901
+ c.label
902
+ )) })
903
+ ] }) }),
904
+ /* @__PURE__ */ a("section", { className: e.section, id: "middleware", children: /* @__PURE__ */ n("div", { className: e.container, children: [
905
+ /* @__PURE__ */ n(
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: dn.map((c, t) => /* @__PURE__ */ n(
918
+ "article",
919
+ {
920
+ className: `${e.mwCard} ${e.fadeIn} ${d(`mw-${t}`) ? e.fadeInVisible : ""}`,
921
+ "data-reveal-id": `mw-${t}`,
922
+ style: { transitionDelay: `${t % 4 * 50}ms` },
923
+ children: [
924
+ /* @__PURE__ */ a("div", { className: e.mwName, children: c.name }),
925
+ /* @__PURE__ */ n("div", { className: e.mwMeta, children: [
926
+ /* @__PURE__ */ a("span", { children: c.en }),
927
+ c.port && /* @__PURE__ */ a("span", { children: c.port })
928
+ ] }),
929
+ /* @__PURE__ */ a("p", { className: e.mwDesc, children: c.desc })
930
+ ]
931
+ },
932
+ c.en
933
+ )) })
934
+ ] }) }),
935
+ /* @__PURE__ */ a("section", { className: e.section, id: "zteam", children: /* @__PURE__ */ n("div", { className: e.container, children: [
936
+ /* @__PURE__ */ n(
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-OPC" }),
944
+ /* @__PURE__ */ a("p", { className: e.sectionLead, children: "平台上的一块:以群聊为入口的多 Agent 协作。 默认收起,需要时展开看能力、协作实景与客户端。" })
945
+ ]
946
+ }
947
+ ),
948
+ /* @__PURE__ */ n(
949
+ "div",
950
+ {
951
+ className: `${e.zteamFold} ${e.fadeIn} ${d("zt-fold") ? e.fadeInVisible : ""}`,
952
+ "data-reveal-id": "zt-fold",
953
+ children: [
954
+ /* @__PURE__ */ n("div", { className: e.zteamFoldMain, children: [
955
+ /* @__PURE__ */ a("span", { className: e.navMark, children: "ZO" }),
956
+ /* @__PURE__ */ n("div", { children: [
957
+ /* @__PURE__ */ a("div", { className: e.zteamFoldTitle, children: "Z-OPC · 一人公司基建" }),
958
+ /* @__PURE__ */ a("div", { className: e.zteamFoldDesc, children: "消息中枢 · 星型多 Agent · 学习子系统 · 六端客户端" })
959
+ ] })
960
+ ] }),
961
+ /* @__PURE__ */ n(
962
+ "button",
963
+ {
964
+ className: e.zteamToggle,
965
+ "aria-expanded": r,
966
+ "aria-controls": "zteam-panel",
967
+ onClick: () => w((c) => !c),
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__ */ n("div", { className: e.zteamPanel, id: "zteam-panel", children: [
986
+ /* @__PURE__ */ a("h3", { className: e.subTitle, children: "八项核心能力" }),
987
+ /* @__PURE__ */ a("div", { className: e.capGrid, children: mn.map((c) => /* @__PURE__ */ n("article", { className: e.capCard, children: [
988
+ /* @__PURE__ */ a("div", { className: e.capIcon, children: /* @__PURE__ */ a(
989
+ i,
990
+ {
991
+ name: c.icon,
992
+ size: 19,
993
+ strokeWidth: 1.8
994
+ }
995
+ ) }),
996
+ /* @__PURE__ */ a("h4", { className: e.capTitle, children: c.title }),
997
+ /* @__PURE__ */ a("p", { className: e.capDesc, children: c.desc }),
998
+ /* @__PURE__ */ a("span", { className: e.capTag, children: c.tag })
999
+ ] }, c.title)) }),
1000
+ /* @__PURE__ */ a("h3", { className: e.subTitle, children: "一次协作的完整链路" }),
1001
+ /* @__PURE__ */ n("div", { className: e.showcaseGrid, children: [
1002
+ /* @__PURE__ */ a(pn, {}),
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((c, t) => /* @__PURE__ */ n("li", { className: e.flowItem, children: [
1021
+ /* @__PURE__ */ a("span", { className: e.flowNum, children: String(t + 1).padStart(2, "0") }),
1022
+ /* @__PURE__ */ n("div", { children: [
1023
+ /* @__PURE__ */ a("strong", { className: e.flowTitle, children: c.t }),
1024
+ /* @__PURE__ */ a("p", { className: e.flowDesc, children: c.d })
1025
+ ] })
1026
+ ] }, c.t)) })
1027
+ ] }),
1028
+ /* @__PURE__ */ a("h3", { className: e.subTitle, children: "全平台客户端" }),
1029
+ /* @__PURE__ */ a("div", { className: e.cliGrid, children: fn.map((c) => {
1030
+ const t = c.key === "macos" ? y(s, "macos") : c.key === "windows" ? y(s, "windows") : c.key === "android" ? m : null, o = t && t.releaseType === "beta" ? "beta" : c.state, _ = t && t.releaseType === "beta" ? "内测中" : vn[c.state];
1031
+ return /* @__PURE__ */ n("article", { className: e.cliCard, children: [
1032
+ /* @__PURE__ */ n("div", { className: e.cliTop, children: [
1033
+ /* @__PURE__ */ a("span", { className: e.cliIcon, children: /* @__PURE__ */ a(
1034
+ i,
1035
+ {
1036
+ name: c.icon,
1037
+ size: 20,
1038
+ strokeWidth: 1.8
1039
+ }
1040
+ ) }),
1041
+ /* @__PURE__ */ a(
1042
+ "span",
1043
+ {
1044
+ className: `${e.cliState} ${e[`state_${o}`]}`,
1045
+ children: _
1046
+ }
1047
+ )
1048
+ ] }),
1049
+ /* @__PURE__ */ a("h4", { className: e.cliName, children: c.name }),
1050
+ /* @__PURE__ */ a("div", { className: e.cliEn, children: t ? `${c.en} · v${t.version}` : c.en }),
1051
+ /* @__PURE__ */ a("p", { className: e.cliDesc, children: c.desc }),
1052
+ t && /* @__PURE__ */ n("div", { className: e.cliMeta, children: [
1053
+ t.fileSize > 0 && /* @__PURE__ */ a("span", { children: V(t.fileSize) }),
1054
+ t.releaseTime && /* @__PURE__ */ a("span", { children: H(
1055
+ t.releaseTime
1056
+ ) }),
1057
+ t.changelog && /* @__PURE__ */ a(
1058
+ "span",
1059
+ {
1060
+ className: e.cliMetaNote,
1061
+ children: t.changelog
1062
+ }
1063
+ )
1064
+ ] }),
1065
+ /* @__PURE__ */ a("div", { className: e.cliAction, children: t ? /* @__PURE__ */ n(
1066
+ "a",
1067
+ {
1068
+ className: e.cliBtnPrimary,
1069
+ href: t.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
+ t.version
1083
+ ]
1084
+ }
1085
+ ) : c.key === "web" ? /* @__PURE__ */ n(
1086
+ "button",
1087
+ {
1088
+ className: e.cliBtnPrimary,
1089
+ onClick: C,
1090
+ children: [
1091
+ "立即使用",
1092
+ /* @__PURE__ */ a(
1093
+ i,
1094
+ {
1095
+ name: "arrow",
1096
+ size: 15,
1097
+ strokeWidth: 2
1098
+ }
1099
+ )
1100
+ ]
1101
+ }
1102
+ ) : c.key === "cli" ? /* @__PURE__ */ a(
1103
+ "button",
1104
+ {
1105
+ className: e.cliBtnGhost,
1106
+ onClick: () => N.push("/docs"),
1107
+ children: "查看接入方式"
1108
+ }
1109
+ ) : (
1110
+ /* 无发布清单时不放假下载入口,只如实标注状态 */
1111
+ /* @__PURE__ */ a(
1112
+ "button",
1113
+ {
1114
+ className: e.cliBtnGhost,
1115
+ disabled: !0,
1116
+ children: c.key === "ios" ? "内测中" : "发布后在此提供"
1117
+ }
1118
+ )
1119
+ ) })
1120
+ ] }, c.key);
1121
+ }) }),
1122
+ /* @__PURE__ */ n("div", { className: e.cliMore, children: [
1123
+ /* @__PURE__ */ n("span", { children: [
1124
+ "需要完整版本信息、校验与历史版本?",
1125
+ /* @__PURE__ */ n("span", { className: e.cliMoreSub, children: [
1126
+ " ",
1127
+ F,
1128
+ " · ",
1129
+ O,
1130
+ " · iOS 内测 ·",
1131
+ " ",
1132
+ G,
1133
+ " · Web 免安装"
1134
+ ] })
1135
+ ] }),
1136
+ /* @__PURE__ */ n(
1137
+ "button",
1138
+ {
1139
+ className: e.cliMoreBtn,
1140
+ onClick: () => N.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__ */ n("footer", { className: e.footer, children: [
1158
+ /* @__PURE__ */ n("div", { className: e.footerInner, children: [
1159
+ /* @__PURE__ */ n("div", { className: e.footerBrand, children: [
1160
+ /* @__PURE__ */ a("span", { className: e.navMark, children: "OPC" }),
1161
+ /* @__PURE__ */ n("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__ */ n("nav", { className: e.footerLinks, children: [
1167
+ /* @__PURE__ */ n("div", { className: e.footerCol, children: [
1168
+ /* @__PURE__ */ a("span", { className: e.footerColTitle, children: "平台" }),
1169
+ k.map((c) => /* @__PURE__ */ a(
1170
+ "button",
1171
+ {
1172
+ className: e.footerLink,
1173
+ onClick: () => g(c.id),
1174
+ children: c.label
1175
+ },
1176
+ c.id
1177
+ ))
1178
+ ] }),
1179
+ /* @__PURE__ */ n("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: () => N.push("/docs"),
1187
+ children: "操作手册"
1188
+ }
1189
+ ),
1190
+ /* @__PURE__ */ a(
1191
+ "button",
1192
+ {
1193
+ className: e.footerLink,
1194
+ onClick: () => N.push("/docs#changelog"),
1195
+ children: "迭代日志"
1196
+ }
1197
+ ),
1198
+ /* @__PURE__ */ a("button", { className: e.footerLink, onClick: C, children: "进入工作台" })
1199
+ ] })
1200
+ ] })
1201
+ ] }),
1202
+ /* @__PURE__ */ n("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} ${v ? e.toTopVisible : ""}`,
1211
+ onClick: () => window.scrollTo({ top: 0, behavior: "smooth" }),
1212
+ "aria-label": "回到顶部",
1213
+ tabIndex: v ? 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
+ Cn as default
1229
+ };