@yuku123/z-team-component 0.2.102 → 0.2.103

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/package.json +1 -1
  2. package/dist/ChangeLogView-BIlT58NX.js +0 -542
  3. package/dist/ComponentDoc-bhNM4jiY.js +0 -8035
  4. package/dist/InvitationManagementPage-9AmXUw6E.js +0 -495
  5. package/dist/OnboardingPage-B9oWippy.js +0 -393
  6. package/dist/ScheduledTasks-CkNxtgeb.js +0 -12127
  7. package/dist/SystemShell-Cz3bn2dt.js +0 -688
  8. package/dist/_commonjsHelpers-B52_cu2H.js +0 -26
  9. package/dist/admin-logs-BuwxECUY.js +0 -198
  10. package/dist/api-DL_MM5cW.js +0 -20
  11. package/dist/browser-jb_PFvU3.js +0 -1538
  12. package/dist/createWorkspaceWsHandler-B6LYCL3Q.js +0 -13142
  13. package/dist/ctc-sso-DtJHC-2M.js +0 -117
  14. package/dist/echarts-B1OU1xr4.js +0 -16
  15. package/dist/history-BlrA1eaW.js +0 -41
  16. package/dist/index-2dGExnjZ.js +0 -2217
  17. package/dist/index-B1AYMWHS.js +0 -10169
  18. package/dist/index-B5F1N9_V.js +0 -42049
  19. package/dist/index-B8O2io7L.js +0 -315
  20. package/dist/index-BIXeUFLa.js +0 -479
  21. package/dist/index-BPqoN-aE.js +0 -242
  22. package/dist/index-BTs7b4SV.js +0 -118
  23. package/dist/index-BYMhgsLe.js +0 -178
  24. package/dist/index-BZBxvwcT.js +0 -169
  25. package/dist/index-BZCQSW-G.js +0 -1222
  26. package/dist/index-B_LJRFsK.js +0 -339
  27. package/dist/index-BdmM-NHL.js +0 -5892
  28. package/dist/index-BmHFHD_e.js +0 -112
  29. package/dist/index-BohoJQPr.js +0 -7631
  30. package/dist/index-C1wsTstT.js +0 -434
  31. package/dist/index-C1wtrBjM.js +0 -8
  32. package/dist/index-C815hPWS.js +0 -430
  33. package/dist/index-CbH8YeqA.js +0 -913
  34. package/dist/index-CsweV-yM.js +0 -142
  35. package/dist/index-D3vyICxK.js +0 -2699
  36. package/dist/index-DKgyKXWm.js +0 -1640
  37. package/dist/index-DQHEr9-I.js +0 -93
  38. package/dist/index-DU-PHfEr.js +0 -189
  39. package/dist/index-DWsfQMp8.js +0 -208
  40. package/dist/index-DhDdFRHC.js +0 -279
  41. package/dist/index-DvTMESfc.js +0 -132
  42. package/dist/index-fl0m6QYf.js +0 -316
  43. package/dist/index-lux3nNJP.js +0 -574
  44. package/dist/index-mwtsohOK.js +0 -951
  45. package/dist/index-qd4awhFI.js +0 -956
  46. package/dist/index.js +0 -10
  47. package/dist/index.module-CAa-2T7m.js +0 -72
  48. package/dist/index.module-UI0iz8K0.js +0 -42
  49. package/dist/instance-4ACm8YFK.js +0 -216
  50. package/dist/menuPermission-C7yt7uNG.js +0 -60
  51. package/dist/mobile-client-O3yr9h6t.js +0 -24
  52. package/dist/pages.js +0 -21
  53. package/dist/send-default-agent-team-message-YRd0CkeT.js +0 -35
  54. package/dist/spark-md5-Dld54a-T.js +0 -178
  55. package/dist/sso-user-GnlYnP83.js +0 -43
  56. package/dist/training-CyK00fwu.js +0 -450
  57. package/dist/webide-SjnHsCZF.js +0 -5233
  58. package/dist/z-team-component.css +0 -1
@@ -1,1222 +0,0 @@
1
- import { jsxs as n, jsx as a } from "react/jsx-runtime";
2
- import { useState as p, useEffect as y, useMemo as x, useCallback as I, useLayoutEffect as W } from "react";
3
- import { h as N } from "./history-BlrA1eaW.js";
4
- import { f as D, p as k, 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", ye = "_heroStat_cgfwv_461", ke = "_heroStatNum_cgfwv_474", Ae = "_heroStatLabel_cgfwv_482", ze = "_heroVisual_cgfwv_488", Se = "_chatCard_cgfwv_504", Le = "_chatHead_cgfwv_515", Pe = "_chatHeadLeft_cgfwv_525", Ee = "_chatLiveDot_cgfwv_532", De = "_chatRoom_cgfwv_541", Re = "_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", ya = "_flowTitle_cgfwv_907", ka = "_flowDesc_cgfwv_914", Aa = "_scnGrid_cgfwv_924", za = "_scnCard_cgfwv_930", Sa = "_scnIcon_cgfwv_947", La = "_scnTitle_cgfwv_960", Pa = "_scnDesc_cgfwv_967", Ea = "_valList_cgfwv_977", Da = "_valItem_cgfwv_983", Ra = "_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", yc = "_fadeInVisible_cgfwv_1464", kc = "_faceGrid_cgfwv_1472", Ac = "_faceEn_cgfwv_1478", zc = "_gridNote_cgfwv_1488", Sc = "_platCard_cgfwv_1500", Lc = "_platHead_cgfwv_1510", Pc = "_platLiveDot_cgfwv_1516", Ec = "_platTitle_cgfwv_1525", Dc = "_platPort_cgfwv_1532", Rc = "_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: ye,
40
- heroStatNum: ke,
41
- heroStatLabel: Ae,
42
- heroVisual: ze,
43
- chatCard: Se,
44
- chatHead: Le,
45
- chatHeadLeft: Pe,
46
- chatLiveDot: Ee,
47
- chatRoom: De,
48
- chatMeta: Re,
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: ya,
94
- flowDesc: ka,
95
- scnGrid: Aa,
96
- scnCard: za,
97
- scnIcon: Sa,
98
- scnTitle: La,
99
- scnDesc: Pa,
100
- valList: Ea,
101
- valItem: Da,
102
- valNum: Ra,
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: yc,
148
- faceGrid: kc,
149
- faceEn: Ac,
150
- gridNote: zc,
151
- platCard: Sc,
152
- platHead: Lc,
153
- platLiveDot: Pc,
154
- platTitle: Ec,
155
- platPort: Dc,
156
- platSub: Rc,
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
- }, A = [
183
- { id: "panorama", label: "平台全景" },
184
- { id: "account", label: "一个账号" },
185
- { id: "architecture", label: "平台架构" },
186
- { id: "middleware", label: "自研中间件" },
187
- { id: "zteam", label: "数字员工" }
188
- ], R = [
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
- ], ln = [
246
- {
247
- icon: "shield",
248
- title: "统一认证",
249
- desc: "SSO 拦截器把登录态跨子域共享给前端 SPA 与后端服务,登录一次即可进出各工作台。"
250
- },
251
- {
252
- icon: "network",
253
- title: "统一授权",
254
- desc: "应用与角色的权限矩阵,菜单入口与接口鉴权读同一份授权数据。"
255
- },
256
- {
257
- icon: "users",
258
- title: "统一账号",
259
- desc: "组织、角色与成员统一在 4A 维护,业务面不再各自建一套账号体系。"
260
- },
261
- {
262
- icon: "search",
263
- title: "登录审计",
264
- desc: "登录与授权操作日志集中落库,入口、时间与结果可回查。"
265
- }
266
- ], rn = [
267
- {
268
- label: "统一前端",
269
- en: "Web Shell",
270
- tone: "blue",
271
- modules: [
272
- { name: "工作台外壳", desc: "React 19 · Vite 6 · 按业务面分包加载" },
273
- {
274
- name: "八大工作台",
275
- desc: "协作 / 智能 / 产品 / 研发 / 测试 / 运维 / 中间件 / 系统(自动化执行由脚本中心提供)"
276
- },
277
- { name: "中间件控制台", desc: "12 个自研中间件的统一代管台" },
278
- { name: "4A 入口", desc: "登录态跨子域共享,菜单与鉴权同源" }
279
- ]
280
- },
281
- {
282
- label: "单一 JVM",
283
- en: "z-opc-main-starter :8888",
284
- tone: "purple",
285
- modules: [
286
- { name: "Spring Boot 2.7.18", desc: "Java 8 · 单个启动器承载全部业务域" },
287
- { name: "自动装配", desc: "各域经 spring.factories 装配进主进程" },
288
- { name: "28 条兄弟仓依赖", desc: "4A / Agent / 交易 / 资产 / 脚本以 jar 引入" },
289
- { name: "一套数据库", desc: "oc 库承接全部业务表" }
290
- ]
291
- },
292
- {
293
- label: "同进程中间件",
294
- en: "Embedded Middleware",
295
- tone: "cyan",
296
- modules: [
297
- { name: "z-cache :6379", desc: "Redis 协议缓存,Netty 内嵌" },
298
- { name: "z-graph :8091", desc: "图数据库,留空即纯内存" },
299
- { name: "z-vector :6334", desc: "向量检索 gRPC 内嵌" },
300
- { name: "z-oss :12888", desc: "对象存储 Netty 内嵌" },
301
- { name: "z-gw :9090", desc: "网关路由与代理 Controller" }
302
- ]
303
- },
304
- {
305
- label: "独立进程",
306
- en: "Separate Processes",
307
- tone: "gold",
308
- modules: [
309
- { name: "z-mq", desc: "NameServer / Broker 以子进程拉起" },
310
- { name: "z-bot", desc: "终端 Bot 自带 main,独立 fat jar" }
311
- ]
312
- }
313
- ], dn = [
314
- { name: "配置中心", en: "z-config", desc: "配置项查询、编辑与发布,变更历史可回溯" },
315
- { name: "密钥中心", en: "z-mist", desc: "密钥台账、应用接入与授权校验" },
316
- { name: "元数据中心", en: "z-meta", desc: "应用、租户与数据字典的统一台账" },
317
- { name: "消息中心", en: "z-msg", desc: "收件箱与会话消息的统一入口" },
318
- { name: "服务注册", en: "z-rpc", port: ":20880", desc: "RPC 服务注册与调用" },
319
- { name: "向量检索", en: "z-vector", port: ":6334", desc: "集合管理与相似检索" },
320
- { name: "图数据库", en: "z-graph", port: ":8091", desc: "图查询与版本链" },
321
- { name: "网关", en: "z-gw", port: ":9090", desc: "路由配置与代理转发" },
322
- { name: "缓存", en: "z-cache", port: ":6379", desc: "Redis 协议缓存" },
323
- { name: "消息队列", en: "z-mq", port: ":9877", desc: "Topic 与订阅,NameServer 独立进程" },
324
- { name: "知识库", en: "z-kb", desc: "工作空间、文档与检索" },
325
- { name: "对象存储", en: "z-oss", port: ":12888", desc: "桶、对象与预签名" }
326
- ], _n = [
327
- { name: "z-cache", port: ":6379" },
328
- { name: "z-graph", port: ":8091" },
329
- { name: "z-vector", port: ":6334" },
330
- { name: "z-oss", port: ":12888" },
331
- { name: "z-gw", port: ":9090" }
332
- ], mn = [
333
- {
334
- icon: "message",
335
- title: "消息中枢 · IM 驱动",
336
- desc: "消息总线做中枢,WebSocket 穿透受限网络。人发消息即触发 Agent 拉起任务,结论回到同一个群里。",
337
- tag: "MsgHub"
338
- },
339
- {
340
- icon: "network",
341
- title: "星型多 Agent 协作",
342
- desc: "TeamAgent 主控拆解需求,群内 @子 Agent 即可联合多方 Agent,无需显式调用与编排。",
343
- tag: "TeamAgent"
344
- },
345
- {
346
- icon: "branch",
347
- title: "学习子系统",
348
- desc: "旁路 Pipeline 从对话中提取经验,版本化回写 Skill。进化覆盖天生,用得越久越准。",
349
- tag: "Evolution"
350
- },
351
- {
352
- icon: "shield",
353
- title: "评测子系统",
354
- desc: "AI 置信度门控 + 去重 + 冲突检测。低质量沉淀自动拒绝,不给团队灌噪声。",
355
- tag: "Evaluation"
356
- },
357
- {
358
- icon: "swap",
359
- title: "本地 × 生产无缝衔接",
360
- desc: "Tauri 本地沙箱与云端 Agent 集群双向打通。敏感操作本地隔离,高并发交给生产。",
361
- tag: "Hybrid Runtime"
362
- },
363
- {
364
- icon: "users",
365
- title: "群聊内多方 Agent 联合",
366
- desc: "一个群聊就是一个协作空间。拆解、调度、执行、汇总,全在群内闭环完成。",
367
- tag: "Collaboration"
368
- },
369
- {
370
- icon: "book",
371
- title: "知识案例沉淀",
372
- desc: "把排查过程沉淀成「问题-根因-方案-证据」结构化案例,可检索、可复用、不再流失。",
373
- tag: "Knowledge"
374
- },
375
- {
376
- icon: "layers",
377
- title: "双层消息净化",
378
- desc: "对外交付只有结论,对内保留完整推理轨迹。交付干净利落,调试有迹可循。",
379
- tag: "Message Hygiene"
380
- }
381
- ], hn = [
382
- {
383
- role: "human",
384
- name: "张工",
385
- text: "排查一下预发环境订单费用不等的问题,最近用户反馈很多",
386
- time: "10:32"
387
- },
388
- {
389
- role: "agent",
390
- name: "TeamAgent",
391
- text: "收到,我来协调排查。先拉起信号采集和代码分析两个子 Agent。",
392
- time: "10:32",
393
- mentions: ["@信号采集Agent", "@代码分析Agent"]
394
- },
395
- {
396
- role: "subagent",
397
- name: "信号采集Agent",
398
- text: "已采集到 3 条异常链路,traceId 为 trace_a1b2c3、trace_d4e5f6、trace_g7h8i9,差异集中在 FeeCalcService.calculate(),差值 0.01–0.03 元。",
399
- time: "10:34"
400
- },
401
- {
402
- role: "subagent",
403
- name: "代码分析Agent",
404
- text: "根因定位:FeeCalcService.calculate() 第 87 行用 double 计算,存在浮点精度丢失,建议改 BigDecimal。",
405
- time: "10:35"
406
- },
407
- {
408
- role: "agent",
409
- name: "TeamAgent",
410
- text: "综合诊断:费用计算浮点精度问题。根因已定位,修复方案已生成,请确认是否提交工单。",
411
- time: "10:36"
412
- }
413
- ], vn = {
414
- ready: "可下载",
415
- beta: "内测中",
416
- soon: "即将发布",
417
- free: "免安装",
418
- instant: "即刻可用"
419
- }, fn = [
420
- {
421
- key: "macos",
422
- icon: "laptop",
423
- name: "macOS 桌面端",
424
- en: "Z-OPC 桌面端 · Apple Silicon",
425
- state: "ready",
426
- desc: "本地 Agent 沙箱、火箭跳转、自动更新。与生产 Agent 集群双向打通。"
427
- },
428
- {
429
- key: "windows",
430
- icon: "windows",
431
- name: "Windows 桌面端",
432
- en: "Z-OPC 桌面端 · x64",
433
- state: "ready",
434
- desc: "与 macOS 同源交付,安装包为 x64 setup 格式,功能一套不打折。"
435
- },
436
- {
437
- key: "ios",
438
- icon: "phone",
439
- name: "iOS App",
440
- en: "Z-OPC · iPhone / iPad",
441
- state: "beta",
442
- desc: "通过 TestFlight 分发内测版本,测试通过后上架 App Store。"
443
- },
444
- {
445
- key: "android",
446
- icon: "bot",
447
- name: "Android App",
448
- en: "Z-OPC · APK 直装",
449
- state: "soon",
450
- desc: "APK 直装包,支持浏览器直接下载安装与版本提示。"
451
- },
452
- {
453
- key: "web",
454
- icon: "globe",
455
- name: "Web 版",
456
- en: "浏览器 · 全平台",
457
- state: "free",
458
- desc: "无需安装,浏览器直接进入完整工作台,手机浏览器自动切换移动版界面。"
459
- },
460
- {
461
- key: "cli",
462
- icon: "terminal",
463
- name: "CLI Agent",
464
- en: "claude-code 等多运行时",
465
- state: "instant",
466
- desc: "接入既有 CLI 运行时,在命令行里把任务交给 Agent,结论回到会话。"
467
- }
468
- ];
469
- function wn() {
470
- const [s, u] = p(!1), [m, M] = p(/* @__PURE__ */ new Set());
471
- W(() => {
472
- if (typeof IntersectionObserver > "u") {
473
- u(!0);
474
- return;
475
- }
476
- const l = new IntersectionObserver(
477
- (v) => {
478
- M((f) => {
479
- let r = null;
480
- return v.forEach((w) => {
481
- if (!w.isIntersecting) return;
482
- const b = w.target.dataset.revealId;
483
- !b || f.has(b) || (r = r ?? new Set(f), r.add(b));
484
- }), r ?? f;
485
- });
486
- },
487
- { threshold: 0.08, rootMargin: "0px 0px -8% 0px" }
488
- );
489
- document.querySelectorAll("[data-reveal-id]").forEach((v) => l.observe(v));
490
- const S = window.setTimeout(() => {
491
- M((v) => {
492
- const f = new Set(v);
493
- return document.querySelectorAll("[data-reveal-id]").forEach((r) => {
494
- const w = r.dataset.revealId;
495
- w && f.add(w);
496
- }), f;
497
- });
498
- }, 2400);
499
- return u(!0), () => {
500
- l.disconnect(), window.clearTimeout(S);
501
- };
502
- }, []);
503
- const h = I(
504
- (l) => m.has(l),
505
- [m]
506
- );
507
- return { revealReady: s, isRevealed: h };
508
- }
509
- function gn() {
510
- return /* @__PURE__ */ n("div", { className: e.platCard, children: [
511
- /* @__PURE__ */ n("div", { className: e.platHead, children: [
512
- /* @__PURE__ */ a("span", { className: e.platLiveDot }),
513
- /* @__PURE__ */ a("span", { className: e.platTitle, children: "z-opc-main-starter" }),
514
- /* @__PURE__ */ a("span", { className: e.platPort, children: ":8888" })
515
- ] }),
516
- /* @__PURE__ */ a("div", { className: e.platSub, children: "单一 JVM · 业务域自动装配 · 一套数据库" }),
517
- /* @__PURE__ */ a("div", { className: e.platFaces, children: R.map((s) => /* @__PURE__ */ n("div", { className: e.platFace, children: [
518
- /* @__PURE__ */ a("span", { className: e.platFaceName, children: s.name }),
519
- /* @__PURE__ */ a("span", { className: e.platFaceEn, children: s.en }),
520
- s.name === "协作" && /* @__PURE__ */ a("span", { className: e.platFaceTag, children: "Z-OPC" })
521
- ] }, s.name)) }),
522
- /* @__PURE__ */ n("div", { className: e.platEmbed, children: [
523
- /* @__PURE__ */ a("span", { className: e.platEmbedTitle, children: "同进程中间件" }),
524
- /* @__PURE__ */ a("div", { className: e.platChips, children: _n.map((s) => /* @__PURE__ */ n("span", { className: e.platChip, children: [
525
- s.name,
526
- /* @__PURE__ */ a("em", { children: s.port })
527
- ] }, s.name)) })
528
- ] }),
529
- /* @__PURE__ */ n("div", { className: e.platFoot, children: [
530
- /* @__PURE__ */ a("span", { children: "独立进程:z-mq · z-bot" }),
531
- /* @__PURE__ */ a("span", { className: e.platFootOk, children: "运行中" })
532
- ] })
533
- ] });
534
- }
535
- function pn() {
536
- return /* @__PURE__ */ n("div", { className: e.chatCard, children: [
537
- /* @__PURE__ */ n("div", { className: e.chatHead, children: [
538
- /* @__PURE__ */ n("div", { className: e.chatHeadLeft, children: [
539
- /* @__PURE__ */ a("span", { className: e.chatLiveDot }),
540
- /* @__PURE__ */ a("span", { className: e.chatRoom, children: "故障排查协作群" })
541
- ] }),
542
- /* @__PURE__ */ a("span", { className: e.chatMeta, children: "7 人 · 4 Agent 在线" })
543
- ] }),
544
- /* @__PURE__ */ a("div", { className: e.chatBody, children: hn.map((s, u) => /* @__PURE__ */ n(
545
- "div",
546
- {
547
- className: `${e.chatRow} ${s.role === "human" ? e.chatRowHuman : s.role === "subagent" ? e.chatRowSub : e.chatRowAgent}`,
548
- children: [
549
- /* @__PURE__ */ n("div", { className: e.chatWho, children: [
550
- /* @__PURE__ */ a("span", { className: e.chatName, children: s.name }),
551
- s.role === "agent" && /* @__PURE__ */ a("span", { className: e.chatTagPrimary, children: "主控" }),
552
- s.role === "subagent" && /* @__PURE__ */ a("span", { className: e.chatTag, children: "子 Agent" }),
553
- /* @__PURE__ */ a("span", { className: e.chatTime, children: s.time })
554
- ] }),
555
- /* @__PURE__ */ a("div", { className: e.chatBubble, children: s.text }),
556
- s.mentions && /* @__PURE__ */ a("div", { className: e.chatMentions, children: s.mentions.map((m) => /* @__PURE__ */ a("span", { className: e.chatMention, children: m }, m)) })
557
- ]
558
- },
559
- u
560
- )) })
561
- ] });
562
- }
563
- function Cn() {
564
- 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();
565
- y(() => {
566
- let c = !0;
567
- return D(Z).then((t) => {
568
- c && u(t);
569
- }), D(q).then((t) => {
570
- c && M(t);
571
- }), () => {
572
- c = !1;
573
- };
574
- }, []), y(() => {
575
- const c = document.title;
576
- document.title = "Z OPC · 组织级统一服务平台";
577
- let t = document.head.querySelector(
578
- 'meta[name="description"]'
579
- );
580
- const o = !t, _ = (t == null ? void 0 : t.content) ?? "";
581
- return t || (t = document.createElement("meta"), t.name = "description", document.head.appendChild(t)), t.content = "Z OPC 以单个 Spring Boot JVM 承载协作、智能、产品、研发、测试、运维、中间件、系统八大工作台,自研中间件同进程运行,一套 4A 账号打通全部入口。", () => {
582
- document.title = c, t && (o ? t.remove() : t.content = _);
583
- };
584
- }, []), y(() => {
585
- if (!h) return;
586
- const c = (_) => {
587
- _.key === "Escape" && l(!1);
588
- }, t = (_) => {
589
- const T = _.target;
590
- T != null && T.closest("[data-welcome-menu]") || l(!1);
591
- }, o = () => {
592
- window.innerWidth > 900 && l(!1);
593
- };
594
- return window.addEventListener("keydown", c), document.addEventListener("pointerdown", t), window.addEventListener("resize", o), () => {
595
- window.removeEventListener("keydown", c), document.removeEventListener("pointerdown", t), window.removeEventListener("resize", o);
596
- };
597
- }, [h]), y(() => {
598
- let c = 0;
599
- const t = () => {
600
- c || (c = window.requestAnimationFrame(() => {
601
- c = 0, f(window.scrollY > 880);
602
- let o = "";
603
- for (const _ of A) {
604
- const T = document.getElementById(_.id);
605
- T && T.getBoundingClientRect().top <= 140 && (o = _.id);
606
- }
607
- S(o);
608
- }));
609
- };
610
- return t(), window.addEventListener("scroll", t, { passive: !0 }), () => {
611
- window.removeEventListener("scroll", t), c && window.cancelAnimationFrame(c);
612
- };
613
- }, []);
614
- const B = x(
615
- () => `${e.welcome} ${b ? e.revealRoot : ""}`,
616
- [b]
617
- ), g = I((c) => {
618
- var t;
619
- (t = document.getElementById(c)) == null || t.scrollIntoView({ behavior: "smooth", block: "start" });
620
- }, []), L = I(
621
- (c) => {
622
- l(!1), g(c);
623
- },
624
- [g]
625
- ), C = I(() => N.push("/workspace"), []), $ = I(() => {
626
- w(!0), g("zteam");
627
- }, [g]), P = k(s, "macos"), E = k(s, "windows"), F = P ? `macOS v${P.version}` : "macOS", O = E ? `Windows v${E.version}` : "Windows", G = m ? `Android v${m.version}` : "Android";
628
- return /* @__PURE__ */ n("div", { className: B, children: [
629
- /* @__PURE__ */ a("div", { className: e.bgWash }),
630
- /* @__PURE__ */ a("div", { className: e.bgGrid }),
631
- /* @__PURE__ */ n("nav", { className: e.navbar, children: [
632
- /* @__PURE__ */ n("div", { className: e.navInner, children: [
633
- /* @__PURE__ */ n(
634
- "div",
635
- {
636
- className: e.navBrand,
637
- onClick: () => g("top"),
638
- onKeyDown: (c) => {
639
- (c.key === "Enter" || c.key === " ") && (c.preventDefault(), g("top"));
640
- },
641
- role: "button",
642
- tabIndex: 0,
643
- "aria-label": "Z OPC · 回到顶部",
644
- children: [
645
- /* @__PURE__ */ a("span", { className: e.navMark, children: "OPC" }),
646
- /* @__PURE__ */ a("span", { className: e.navBrandText, children: "Z OPC" })
647
- ]
648
- }
649
- ),
650
- /* @__PURE__ */ n("div", { className: e.navLinks, children: [
651
- A.map((c) => /* @__PURE__ */ a(
652
- "button",
653
- {
654
- className: `${e.navLink} ${z === c.id ? e.navLinkActive : ""}`,
655
- "aria-current": z === c.id ? "true" : void 0,
656
- onClick: () => L(c.id),
657
- children: c.label
658
- },
659
- c.id
660
- )),
661
- /* @__PURE__ */ a(
662
- "button",
663
- {
664
- className: e.navLink,
665
- onClick: () => N.push("/docs"),
666
- children: "操作手册"
667
- }
668
- )
669
- ] }),
670
- /* @__PURE__ */ n("div", { className: e.navActions, children: [
671
- /* @__PURE__ */ n("button", { className: e.navPrimary, onClick: C, children: [
672
- "进入工作台",
673
- /* @__PURE__ */ a(i, { name: "arrow", size: 15, strokeWidth: 2 })
674
- ] }),
675
- /* @__PURE__ */ a(
676
- "button",
677
- {
678
- className: e.navMenuBtn,
679
- "aria-label": h ? "关闭导航菜单" : "打开导航菜单",
680
- "aria-expanded": h,
681
- "aria-controls": "welcome-mobile-menu",
682
- "data-welcome-menu": !0,
683
- onClick: () => l((c) => !c),
684
- children: /* @__PURE__ */ n(
685
- "span",
686
- {
687
- className: `${e.navMenuIcon} ${h ? e.navMenuIconOpen : ""}`,
688
- "aria-hidden": "true",
689
- children: [
690
- /* @__PURE__ */ a("span", {}),
691
- /* @__PURE__ */ a("span", {}),
692
- /* @__PURE__ */ a("span", {})
693
- ]
694
- }
695
- )
696
- }
697
- )
698
- ] })
699
- ] }),
700
- h && /* @__PURE__ */ n(
701
- "div",
702
- {
703
- className: e.navMenuPanel,
704
- id: "welcome-mobile-menu",
705
- "data-welcome-menu": !0,
706
- children: [
707
- A.map((c) => /* @__PURE__ */ a(
708
- "button",
709
- {
710
- className: e.navMenuItem,
711
- onClick: () => L(c.id),
712
- children: c.label
713
- },
714
- c.id
715
- )),
716
- /* @__PURE__ */ a(
717
- "button",
718
- {
719
- className: e.navMenuItem,
720
- onClick: () => {
721
- l(!1), N.push("/docs");
722
- },
723
- children: "操作手册"
724
- }
725
- ),
726
- /* @__PURE__ */ n(
727
- "button",
728
- {
729
- className: e.navMenuCta,
730
- onClick: () => {
731
- l(!1), C();
732
- },
733
- children: [
734
- "进入工作台",
735
- /* @__PURE__ */ a(i, { name: "arrow", size: 15, strokeWidth: 2 })
736
- ]
737
- }
738
- )
739
- ]
740
- }
741
- )
742
- ] }),
743
- /* @__PURE__ */ a("section", { className: e.hero, id: "top", children: /* @__PURE__ */ n("div", { className: e.heroInner, children: [
744
- /* @__PURE__ */ n("div", { className: e.heroCopy, children: [
745
- /* @__PURE__ */ n("span", { className: e.eyebrow, children: [
746
- /* @__PURE__ */ a("span", { className: e.eyebrowDot }),
747
- "One Company Unified Service"
748
- ] }),
749
- /* @__PURE__ */ n("h1", { className: e.heroTitle, children: [
750
- "九个工作台",
751
- /* @__PURE__ */ a("br", {}),
752
- /* @__PURE__ */ a("span", { className: e.heroTitleAccent, children: "跑在同一个进程里" })
753
- ] }),
754
- /* @__PURE__ */ a("p", { className: e.heroLead, children: "Z OPC 把协作、智能、产品、研发、测试、运维、中间件、系统 收进同一个平台:一个 Spring Boot JVM 承载全部业务域, 自研中间件同进程运行,一套 4A 账号打通所有入口。" }),
755
- /* @__PURE__ */ n("div", { className: e.heroActions, children: [
756
- /* @__PURE__ */ n("button", { className: e.btnPrimary, onClick: C, children: [
757
- "进入工作台",
758
- /* @__PURE__ */ a(i, { name: "arrow", size: 17, strokeWidth: 2 })
759
- ] }),
760
- /* @__PURE__ */ a(
761
- "button",
762
- {
763
- className: e.btnSecondary,
764
- onClick: () => g("panorama"),
765
- children: "查看平台全景"
766
- }
767
- )
768
- ] }),
769
- /* @__PURE__ */ a("dl", { className: e.heroStats, children: [
770
- { n: "8", l: "工作台" },
771
- { n: "12", l: "自研中间件" },
772
- { n: "1", l: "套 4A 账号" },
773
- { n: "1", l: "个 JVM" }
774
- ].map((c) => /* @__PURE__ */ n("div", { className: e.heroStat, children: [
775
- /* @__PURE__ */ a("dt", { className: e.heroStatNum, children: c.n }),
776
- /* @__PURE__ */ a("dd", { className: e.heroStatLabel, children: c.l })
777
- ] }, c.l)) })
778
- ] }),
779
- /* @__PURE__ */ a("div", { className: e.heroVisual, children: /* @__PURE__ */ a(gn, {}) })
780
- ] }) }),
781
- /* @__PURE__ */ a("section", { className: e.section, id: "panorama", children: /* @__PURE__ */ n("div", { className: e.container, children: [
782
- /* @__PURE__ */ n(
783
- "div",
784
- {
785
- className: `${e.sectionHead} ${e.fadeIn} ${d("pano-head") ? e.fadeInVisible : ""}`,
786
- "data-reveal-id": "pano-head",
787
- children: [
788
- /* @__PURE__ */ a("span", { className: e.sectionEyebrow, children: "Platform Panorama" }),
789
- /* @__PURE__ */ a("h2", { className: e.sectionTitle, children: "平台全景" }),
790
- /* @__PURE__ */ a("p", { className: e.sectionLead, children: "协作、智能、产品、研发、测试、运维、中间件、系统—— 八大工作台共用同一套账号、权限与部署单元。" })
791
- ]
792
- }
793
- ),
794
- /* @__PURE__ */ a("div", { className: e.faceGrid, children: R.map((c, t) => /* @__PURE__ */ n(
795
- "article",
796
- {
797
- className: `${e.capCard} ${e.fadeIn} ${d(`face-${t}`) ? e.fadeInVisible : ""}`,
798
- "data-reveal-id": `face-${t}`,
799
- style: { transitionDelay: `${t % 3 * 60}ms` },
800
- children: [
801
- /* @__PURE__ */ a("div", { className: e.capIcon, children: /* @__PURE__ */ a(
802
- i,
803
- {
804
- name: c.icon,
805
- size: 19,
806
- strokeWidth: 1.8
807
- }
808
- ) }),
809
- /* @__PURE__ */ n("h3", { className: e.capTitle, children: [
810
- c.name,
811
- /* @__PURE__ */ a("span", { className: e.faceEn, children: c.en })
812
- ] }),
813
- /* @__PURE__ */ a("p", { className: e.capDesc, children: c.desc }),
814
- /* @__PURE__ */ a("span", { className: e.capTag, children: c.tag })
815
- ]
816
- },
817
- c.name
818
- )) }),
819
- /* @__PURE__ */ a("p", { className: e.gridNote, children: "「协作」只是其中一块:Z-OPC 的能力、协作实景与客户端, 收在下方「数字员工」里。" })
820
- ] }) }),
821
- /* @__PURE__ */ a("section", { className: e.section, id: "account", children: /* @__PURE__ */ n("div", { className: e.container, children: [
822
- /* @__PURE__ */ n(
823
- "div",
824
- {
825
- className: `${e.sectionHead} ${e.fadeIn} ${d("acct-head") ? e.fadeInVisible : ""}`,
826
- "data-reveal-id": "acct-head",
827
- children: [
828
- /* @__PURE__ */ a("span", { className: e.sectionEyebrow, children: "One Account" }),
829
- /* @__PURE__ */ a("h2", { className: e.sectionTitle, children: "一个账号,打通所有工作台" }),
830
- /* @__PURE__ */ a("p", { className: e.sectionLead, children: "4A 身份中心(z-ctc)承担认证、授权、账号与审计: 登录一次,业务面、中间件台与运维台都认这一个身份。" })
831
- ]
832
- }
833
- ),
834
- /* @__PURE__ */ a("div", { className: e.scnGrid, children: ln.map((c, t) => /* @__PURE__ */ n(
835
- "article",
836
- {
837
- className: `${e.scnCard} ${e.fadeIn} ${d(`acct-${t}`) ? e.fadeInVisible : ""}`,
838
- "data-reveal-id": `acct-${t}`,
839
- style: { transitionDelay: `${t % 2 * 60}ms` },
840
- children: [
841
- /* @__PURE__ */ a("div", { className: e.scnIcon, children: /* @__PURE__ */ a(
842
- i,
843
- {
844
- name: c.icon,
845
- size: 19,
846
- strokeWidth: 1.8
847
- }
848
- ) }),
849
- /* @__PURE__ */ a("h3", { className: e.scnTitle, children: c.title }),
850
- /* @__PURE__ */ a("p", { className: e.scnDesc, children: c.desc })
851
- ]
852
- },
853
- c.title
854
- )) })
855
- ] }) }),
856
- /* @__PURE__ */ a("section", { className: e.section, id: "architecture", children: /* @__PURE__ */ n("div", { className: e.container, children: [
857
- /* @__PURE__ */ n(
858
- "div",
859
- {
860
- className: `${e.sectionHead} ${e.fadeIn} ${d("arch-head") ? e.fadeInVisible : ""}`,
861
- "data-reveal-id": "arch-head",
862
- children: [
863
- /* @__PURE__ */ a("span", { className: e.sectionEyebrow, children: "Architecture" }),
864
- /* @__PURE__ */ a("h2", { className: e.sectionTitle, children: "单进程承载,中间件同进程" }),
865
- /* @__PURE__ */ a("p", { className: e.sectionLead, children: "不再为每个业务域拆微服务:一个 z-opc-main-starter 进程 加一个 oc 库,兄弟仓能力以 jar 形式装配进来。" })
866
- ]
867
- }
868
- ),
869
- /* @__PURE__ */ a("div", { className: e.archList, children: rn.map((c, t) => /* @__PURE__ */ n(
870
- "div",
871
- {
872
- className: `${e.archRow} ${e.fadeIn} ${d(`arch-${t}`) ? e.fadeInVisible : ""}`,
873
- "data-reveal-id": `arch-${t}`,
874
- children: [
875
- /* @__PURE__ */ n("div", { className: e.archRail, children: [
876
- /* @__PURE__ */ a("span", { className: e.archIndex, children: String(t + 1).padStart(2, "0") }),
877
- /* @__PURE__ */ n("div", { className: e.archRailText, children: [
878
- /* @__PURE__ */ a(
879
- "span",
880
- {
881
- className: `${e.archLabel} ${e[`tone_${c.tone}`]}`,
882
- children: c.label
883
- }
884
- ),
885
- /* @__PURE__ */ a("span", { className: e.archEn, children: c.en })
886
- ] })
887
- ] }),
888
- /* @__PURE__ */ a("div", { className: e.archModules, children: c.modules.map((o) => /* @__PURE__ */ n("div", { className: e.archModule, children: [
889
- /* @__PURE__ */ a("span", { className: e.archModuleName, children: o.name }),
890
- /* @__PURE__ */ a("span", { className: e.archModuleDesc, children: o.desc })
891
- ] }, o.name)) })
892
- ]
893
- },
894
- c.label
895
- )) })
896
- ] }) }),
897
- /* @__PURE__ */ a("section", { className: e.section, id: "middleware", children: /* @__PURE__ */ n("div", { className: e.container, children: [
898
- /* @__PURE__ */ n(
899
- "div",
900
- {
901
- className: `${e.sectionHead} ${e.fadeIn} ${d("mw-head") ? e.fadeInVisible : ""}`,
902
- "data-reveal-id": "mw-head",
903
- children: [
904
- /* @__PURE__ */ a("span", { className: e.sectionEyebrow, children: "Middleware" }),
905
- /* @__PURE__ */ a("h2", { className: e.sectionTitle, children: "12 个自研中间件" }),
906
- /* @__PURE__ */ a("p", { className: e.sectionLead, children: "配置、密钥、元数据、消息、RPC、向量、图、网关、缓存、MQ、 知识库、对象存储——统一在「中间件」工作台里代管。" })
907
- ]
908
- }
909
- ),
910
- /* @__PURE__ */ a("div", { className: e.mwGrid, children: dn.map((c, t) => /* @__PURE__ */ n(
911
- "article",
912
- {
913
- className: `${e.mwCard} ${e.fadeIn} ${d(`mw-${t}`) ? e.fadeInVisible : ""}`,
914
- "data-reveal-id": `mw-${t}`,
915
- style: { transitionDelay: `${t % 4 * 50}ms` },
916
- children: [
917
- /* @__PURE__ */ a("div", { className: e.mwName, children: c.name }),
918
- /* @__PURE__ */ n("div", { className: e.mwMeta, children: [
919
- /* @__PURE__ */ a("span", { children: c.en }),
920
- c.port && /* @__PURE__ */ a("span", { children: c.port })
921
- ] }),
922
- /* @__PURE__ */ a("p", { className: e.mwDesc, children: c.desc })
923
- ]
924
- },
925
- c.en
926
- )) })
927
- ] }) }),
928
- /* @__PURE__ */ a("section", { className: e.section, id: "zteam", children: /* @__PURE__ */ n("div", { className: e.container, children: [
929
- /* @__PURE__ */ n(
930
- "div",
931
- {
932
- className: `${e.sectionHead} ${e.fadeIn} ${d("zt-head") ? e.fadeInVisible : ""}`,
933
- "data-reveal-id": "zt-head",
934
- children: [
935
- /* @__PURE__ */ a("span", { className: e.sectionEyebrow, children: "Platform Spotlight" }),
936
- /* @__PURE__ */ a("h2", { className: e.sectionTitle, children: "数字员工 · Z-OPC" }),
937
- /* @__PURE__ */ a("p", { className: e.sectionLead, children: "平台上的一块:以群聊为入口的多 Agent 协作。 默认收起,需要时展开看能力、协作实景与客户端。" })
938
- ]
939
- }
940
- ),
941
- /* @__PURE__ */ n(
942
- "div",
943
- {
944
- className: `${e.zteamFold} ${e.fadeIn} ${d("zt-fold") ? e.fadeInVisible : ""}`,
945
- "data-reveal-id": "zt-fold",
946
- children: [
947
- /* @__PURE__ */ n("div", { className: e.zteamFoldMain, children: [
948
- /* @__PURE__ */ a("span", { className: e.navMark, children: "ZO" }),
949
- /* @__PURE__ */ n("div", { children: [
950
- /* @__PURE__ */ a("div", { className: e.zteamFoldTitle, children: "Z-OPC · 一人公司基建" }),
951
- /* @__PURE__ */ a("div", { className: e.zteamFoldDesc, children: "消息中枢 · 星型多 Agent · 学习子系统 · 六端客户端" })
952
- ] })
953
- ] }),
954
- /* @__PURE__ */ n(
955
- "button",
956
- {
957
- className: e.zteamToggle,
958
- "aria-expanded": r,
959
- "aria-controls": "zteam-panel",
960
- onClick: () => w((c) => !c),
961
- children: [
962
- r ? "收起详情" : "展开详情",
963
- /* @__PURE__ */ a(
964
- i,
965
- {
966
- name: "arrow",
967
- size: 15,
968
- strokeWidth: 2,
969
- className: r ? e.zteamToggleIconOpen : e.zteamToggleIcon
970
- }
971
- )
972
- ]
973
- }
974
- )
975
- ]
976
- }
977
- ),
978
- r && /* @__PURE__ */ n("div", { className: e.zteamPanel, id: "zteam-panel", children: [
979
- /* @__PURE__ */ a("h3", { className: e.subTitle, children: "八项核心能力" }),
980
- /* @__PURE__ */ a("div", { className: e.capGrid, children: mn.map((c) => /* @__PURE__ */ n("article", { className: e.capCard, children: [
981
- /* @__PURE__ */ a("div", { className: e.capIcon, children: /* @__PURE__ */ a(
982
- i,
983
- {
984
- name: c.icon,
985
- size: 19,
986
- strokeWidth: 1.8
987
- }
988
- ) }),
989
- /* @__PURE__ */ a("h4", { className: e.capTitle, children: c.title }),
990
- /* @__PURE__ */ a("p", { className: e.capDesc, children: c.desc }),
991
- /* @__PURE__ */ a("span", { className: e.capTag, children: c.tag })
992
- ] }, c.title)) }),
993
- /* @__PURE__ */ a("h3", { className: e.subTitle, children: "一次协作的完整链路" }),
994
- /* @__PURE__ */ n("div", { className: e.showcaseGrid, children: [
995
- /* @__PURE__ */ a(pn, {}),
996
- /* @__PURE__ */ a("ol", { className: e.flowList, children: [
997
- {
998
- t: "人类发起",
999
- d: "在群里用自然语言描述需求,无需学习新工具"
1000
- },
1001
- {
1002
- t: "主控拆解",
1003
- d: "TeamAgent 分析意图,@调度合适的子 Agent"
1004
- },
1005
- {
1006
- t: "多方执行",
1007
- d: "子 Agent 各自推理执行,工具链路安全隔离"
1008
- },
1009
- {
1010
- t: "结果回灌",
1011
- d: "汇总诊断结论,生成修复建议,全在群聊完成"
1012
- }
1013
- ].map((c, t) => /* @__PURE__ */ n("li", { className: e.flowItem, children: [
1014
- /* @__PURE__ */ a("span", { className: e.flowNum, children: String(t + 1).padStart(2, "0") }),
1015
- /* @__PURE__ */ n("div", { children: [
1016
- /* @__PURE__ */ a("strong", { className: e.flowTitle, children: c.t }),
1017
- /* @__PURE__ */ a("p", { className: e.flowDesc, children: c.d })
1018
- ] })
1019
- ] }, c.t)) })
1020
- ] }),
1021
- /* @__PURE__ */ a("h3", { className: e.subTitle, children: "全平台客户端" }),
1022
- /* @__PURE__ */ a("div", { className: e.cliGrid, children: fn.map((c) => {
1023
- const t = c.key === "macos" ? k(s, "macos") : c.key === "windows" ? k(s, "windows") : c.key === "android" ? m : null, o = t && t.releaseType === "beta" ? "beta" : c.state, _ = t && t.releaseType === "beta" ? "内测中" : vn[c.state];
1024
- return /* @__PURE__ */ n("article", { className: e.cliCard, children: [
1025
- /* @__PURE__ */ n("div", { className: e.cliTop, children: [
1026
- /* @__PURE__ */ a("span", { className: e.cliIcon, children: /* @__PURE__ */ a(
1027
- i,
1028
- {
1029
- name: c.icon,
1030
- size: 20,
1031
- strokeWidth: 1.8
1032
- }
1033
- ) }),
1034
- /* @__PURE__ */ a(
1035
- "span",
1036
- {
1037
- className: `${e.cliState} ${e[`state_${o}`]}`,
1038
- children: _
1039
- }
1040
- )
1041
- ] }),
1042
- /* @__PURE__ */ a("h4", { className: e.cliName, children: c.name }),
1043
- /* @__PURE__ */ a("div", { className: e.cliEn, children: t ? `${c.en} · v${t.version}` : c.en }),
1044
- /* @__PURE__ */ a("p", { className: e.cliDesc, children: c.desc }),
1045
- t && /* @__PURE__ */ n("div", { className: e.cliMeta, children: [
1046
- t.fileSize > 0 && /* @__PURE__ */ a("span", { children: V(t.fileSize) }),
1047
- t.releaseTime && /* @__PURE__ */ a("span", { children: H(
1048
- t.releaseTime
1049
- ) }),
1050
- t.changelog && /* @__PURE__ */ a(
1051
- "span",
1052
- {
1053
- className: e.cliMetaNote,
1054
- children: t.changelog
1055
- }
1056
- )
1057
- ] }),
1058
- /* @__PURE__ */ a("div", { className: e.cliAction, children: t ? /* @__PURE__ */ n(
1059
- "a",
1060
- {
1061
- className: e.cliBtnPrimary,
1062
- href: t.downloadUrl,
1063
- target: "_blank",
1064
- rel: "noreferrer",
1065
- children: [
1066
- /* @__PURE__ */ a(
1067
- i,
1068
- {
1069
- name: "download",
1070
- size: 15,
1071
- strokeWidth: 2
1072
- }
1073
- ),
1074
- "下载 v",
1075
- t.version
1076
- ]
1077
- }
1078
- ) : c.key === "web" ? /* @__PURE__ */ n(
1079
- "button",
1080
- {
1081
- className: e.cliBtnPrimary,
1082
- onClick: C,
1083
- children: [
1084
- "立即使用",
1085
- /* @__PURE__ */ a(
1086
- i,
1087
- {
1088
- name: "arrow",
1089
- size: 15,
1090
- strokeWidth: 2
1091
- }
1092
- )
1093
- ]
1094
- }
1095
- ) : c.key === "cli" ? /* @__PURE__ */ a(
1096
- "button",
1097
- {
1098
- className: e.cliBtnGhost,
1099
- onClick: () => N.push("/docs"),
1100
- children: "查看接入方式"
1101
- }
1102
- ) : (
1103
- /* 无发布清单时不放假下载入口,只如实标注状态 */
1104
- /* @__PURE__ */ a(
1105
- "button",
1106
- {
1107
- className: e.cliBtnGhost,
1108
- disabled: !0,
1109
- children: c.key === "ios" ? "内测中" : "发布后在此提供"
1110
- }
1111
- )
1112
- ) })
1113
- ] }, c.key);
1114
- }) }),
1115
- /* @__PURE__ */ n("div", { className: e.cliMore, children: [
1116
- /* @__PURE__ */ n("span", { children: [
1117
- "需要完整版本信息、校验与历史版本?",
1118
- /* @__PURE__ */ n("span", { className: e.cliMoreSub, children: [
1119
- " ",
1120
- F,
1121
- " · ",
1122
- O,
1123
- " · iOS 内测 ·",
1124
- " ",
1125
- G,
1126
- " · Web 免安装"
1127
- ] })
1128
- ] }),
1129
- /* @__PURE__ */ n(
1130
- "button",
1131
- {
1132
- className: e.cliMoreBtn,
1133
- onClick: () => N.push("/docs#changelog"),
1134
- children: [
1135
- "查看发布说明",
1136
- /* @__PURE__ */ a(
1137
- i,
1138
- {
1139
- name: "arrow",
1140
- size: 15,
1141
- strokeWidth: 2
1142
- }
1143
- )
1144
- ]
1145
- }
1146
- )
1147
- ] })
1148
- ] })
1149
- ] }) }),
1150
- /* @__PURE__ */ n("footer", { className: e.footer, children: [
1151
- /* @__PURE__ */ n("div", { className: e.footerInner, children: [
1152
- /* @__PURE__ */ n("div", { className: e.footerBrand, children: [
1153
- /* @__PURE__ */ a("span", { className: e.navMark, children: "OPC" }),
1154
- /* @__PURE__ */ n("div", { children: [
1155
- /* @__PURE__ */ a("div", { className: e.footerBrandName, children: "Z OPC" }),
1156
- /* @__PURE__ */ a("div", { className: e.footerBrandDesc, children: "One Company Unified Service · 一个进程装下整家公司" })
1157
- ] })
1158
- ] }),
1159
- /* @__PURE__ */ n("nav", { className: e.footerLinks, children: [
1160
- /* @__PURE__ */ n("div", { className: e.footerCol, children: [
1161
- /* @__PURE__ */ a("span", { className: e.footerColTitle, children: "平台" }),
1162
- A.map((c) => /* @__PURE__ */ a(
1163
- "button",
1164
- {
1165
- className: e.footerLink,
1166
- onClick: () => g(c.id),
1167
- children: c.label
1168
- },
1169
- c.id
1170
- ))
1171
- ] }),
1172
- /* @__PURE__ */ n("div", { className: e.footerCol, children: [
1173
- /* @__PURE__ */ a("span", { className: e.footerColTitle, children: "资源" }),
1174
- /* @__PURE__ */ a("button", { className: e.footerLink, onClick: $, children: "客户端下载" }),
1175
- /* @__PURE__ */ a(
1176
- "button",
1177
- {
1178
- className: e.footerLink,
1179
- onClick: () => N.push("/docs"),
1180
- children: "操作手册"
1181
- }
1182
- ),
1183
- /* @__PURE__ */ a(
1184
- "button",
1185
- {
1186
- className: e.footerLink,
1187
- onClick: () => N.push("/docs#changelog"),
1188
- children: "迭代日志"
1189
- }
1190
- ),
1191
- /* @__PURE__ */ a("button", { className: e.footerLink, onClick: C, children: "进入工作台" })
1192
- ] })
1193
- ] })
1194
- ] }),
1195
- /* @__PURE__ */ n("div", { className: e.footerBottom, children: [
1196
- /* @__PURE__ */ a("span", { children: "Spring Boot 2.7 · React 19 · 单一 JVM · 12 自研中间件" }),
1197
- /* @__PURE__ */ a("span", { children: "© 2026 Z OPC" })
1198
- ] })
1199
- ] }),
1200
- /* @__PURE__ */ a(
1201
- "button",
1202
- {
1203
- className: `${e.toTop} ${v ? e.toTopVisible : ""}`,
1204
- onClick: () => window.scrollTo({ top: 0, behavior: "smooth" }),
1205
- "aria-label": "回到顶部",
1206
- tabIndex: v ? 0 : -1,
1207
- children: /* @__PURE__ */ a(
1208
- i,
1209
- {
1210
- name: "arrow",
1211
- size: 18,
1212
- strokeWidth: 2,
1213
- className: e.toTopIcon
1214
- }
1215
- )
1216
- }
1217
- )
1218
- ] });
1219
- }
1220
- export {
1221
- Cn as default
1222
- };