@yuku123/z-team-component 0.2.52 → 0.2.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/{ChangeLogView-nPAmM1X0.js → ChangeLogView-Dm7C3S14.js} +1 -1
  2. package/dist/{ComponentDoc-Cky9jCGu.js → ComponentDoc-y1NfPcHG.js} +506 -461
  3. package/dist/{InvitationManagementPage-BsbaIGvB.js → InvitationManagementPage-Btw9iVOl.js} +1 -1
  4. package/dist/{OnboardingPage-CHVgeBiO.js → OnboardingPage-wF0OrgfD.js} +2 -2
  5. package/dist/ScheduledTasks-CzzgG3n8.js +9417 -0
  6. package/dist/{SystemShell-4OiqvM11.js → SystemShell-BSCmnOxf.js} +1 -1
  7. package/dist/{admin-logs-D6HtRcK6.js → admin-logs-vR556ORQ.js} +2 -2
  8. package/dist/{api-BT968Uwc.js → api-Bs0qYxjL.js} +1 -1
  9. package/dist/{api-C78tCfne.js → api-Jfnj1ybB.js} +287 -270
  10. package/dist/createWorkspaceWsHandler-obuYWncQ.js +12820 -0
  11. package/dist/{index-BAY37t4f.js → index-B3LhKHBx.js} +4 -4
  12. package/dist/{index-CR3sbzOU.js → index-BNShjps9.js} +7 -7
  13. package/dist/{index-DxFZKDq-.js → index-BXiuxhgz.js} +6 -6
  14. package/dist/{index-CdlfWFvS.js → index-BbkE7r8M.js} +1 -1
  15. package/dist/index-BtWtVMgY.js +474 -0
  16. package/dist/{index-DpcrvKsK.js → index-C5WSr14Z.js} +1 -1
  17. package/dist/{index-D9AqC2O-.js → index-CYViRXQo.js} +1 -1
  18. package/dist/{index-Bdu31aRV.js → index-Ck_D109M.js} +2 -2
  19. package/dist/index-CnEWSsKt.js +582 -0
  20. package/dist/{index-B11_fFjX.js → index-CxrBnzg2.js} +1 -1
  21. package/dist/index-DRrBkbr_.js +100 -0
  22. package/dist/index-DUmgSTQu.js +9179 -0
  23. package/dist/index-DWsfQMp8.js +208 -0
  24. package/dist/{index-LwKUkzKI.js → index-Di_vaPxC.js} +3 -3
  25. package/dist/{index-B_C7H9WL.js → index-Dj5_8ulz.js} +5 -5
  26. package/dist/{index-qK6pyAGy.js → index-DmZdGNnh.js} +4 -4
  27. package/dist/index-DqUOCs_a.js +242 -0
  28. package/dist/{index-DFY3lzq0.js → index-DroZE6Bv.js} +3 -3
  29. package/dist/{index-BAK7UDvY.js → index-JLtVgwZv.js} +1 -1
  30. package/dist/index-Onqu_VQO.js +2828 -0
  31. package/dist/index-Pk7OkJrk.js +1133 -0
  32. package/dist/index-WIsi8fln.js +339 -0
  33. package/dist/{index-ClA0896K.js → index-gxEdw4X4.js} +4 -4
  34. package/dist/index-tADa82Fa.js +130 -0
  35. package/dist/{index-BX1Wd9x9.js → index-yS7XIUis.js} +3 -3
  36. package/dist/index.js +1 -1
  37. package/dist/{instance-D5dhjbgg.js → instance-B0DZJnee.js} +3 -3
  38. package/dist/pages.js +1 -1
  39. package/dist/schedule-D3jTrI1R.js +497 -0
  40. package/dist/{send-default-agent-team-message-C882sJLV.js → send-default-agent-team-message-CbqHaohM.js} +1 -1
  41. package/dist/{sso-user-Bi9_l9yi.js → sso-user-Dw_wwYa-.js} +1 -1
  42. package/dist/{training-Ba09KItE.js → training-CETtJBNQ.js} +1 -1
  43. package/dist/{useAppStore-ibJyVIAX.js → useAppStore-s-CLa-nF.js} +19 -19
  44. package/dist/webide-6j4OVoNA.js +7845 -0
  45. package/dist/z-team-component.css +2 -2
  46. package/package.json +1 -1
  47. package/dist/createWorkspaceWsHandler-mq-UTF2O.js +0 -13028
  48. package/dist/index-7nSly-MA.js +0 -405
  49. package/dist/index-B3-0eXYQ.js +0 -844
  50. package/dist/index-Cp3DAwNx.js +0 -13862
  51. package/dist/index-NaBR2aQE.js +0 -6685
  52. package/dist/index-UsGqMo11.js +0 -848
  53. package/dist/schedule-C-4ksDPw.js +0 -239
  54. package/dist/webide-RsFP9pHM.js +0 -8087
@@ -0,0 +1,1133 @@
1
+ import { jsxs as t, jsx as a } from "react/jsx-runtime";
2
+ import { useState as p, useEffect as y, useMemo as V, useCallback as g, useLayoutEffect as H } from "react";
3
+ import { h } from "./history-BlrA1eaW.js";
4
+ import { f as E, p as C, L as r, a as O, b as z, M as Z, A as F } from "./index-DWsfQMp8.js";
5
+ const K = "_welcome_1b2hj_11", q = "_bgWash_1b2hj_57", U = "_bgGrid_1b2hj_68", Y = "_container_1b2hj_82", J = "_navbar_1b2hj_99", X = "_navInner_1b2hj_109", Q = "_navBrand_1b2hj_119", ee = "_navMark_1b2hj_127", ae = "_navBrandText_1b2hj_142", ne = "_navLinks_1b2hj_149", te = "_navLink_1b2hj_149", ce = "_navLinkActive_1b2hj_172", se = "_navMenuBtn_1b2hj_177", oe = "_navMenuIcon_1b2hj_197", ie = "_navMenuIconOpen_1b2hj_214", le = "_navMenuPanel_1b2hj_226", re = "_menuIn_1b2hj_1", de = "_navMenuItem_1b2hj_255", he = "_navMenuCta_1b2hj_273", _e = "_navActions_1b2hj_294", me = "_navGhost_1b2hj_301", be = "_navPrimary_1b2hj_302", ve = "_hero_1b2hj_342", ue = "_heroInner_1b2hj_348", Ne = "_eyebrow_1b2hj_357", pe = "_eyebrowDot_1b2hj_373", fe = "_heroTitle_1b2hj_381", we = "_heroTitleAccent_1b2hj_391", je = "_heroLead_1b2hj_404", Te = "_heroActions_1b2hj_412", ge = "_btnPrimary_1b2hj_419", Ae = "_btnSecondary_1b2hj_420", Ie = "_heroStats_1b2hj_461", ye = "_heroStat_1b2hj_461", Ce = "_heroStatNum_1b2hj_474", ke = "_heroStatLabel_1b2hj_482", Me = "_heroVisual_1b2hj_488", Le = "_chatCard_1b2hj_504", Se = "_chatHead_1b2hj_515", $e = "_chatHeadLeft_1b2hj_525", Re = "_chatLiveDot_1b2hj_532", Be = "_chatRoom_1b2hj_541", Ee = "_chatMeta_1b2hj_550", De = "_chatBody_1b2hj_557", Pe = "_chatRow_1b2hj_565", We = "_chatRowHuman_1b2hj_572", xe = "_chatRowAgent_1b2hj_577", Ge = "_chatRowSub_1b2hj_578", Ve = "_chatWho_1b2hj_582", He = "_chatName_1b2hj_590", Oe = "_chatTag_1b2hj_596", ze = "_chatTagPrimary_1b2hj_597", Ze = "_chatTime_1b2hj_617", Fe = "_chatBubble_1b2hj_621", Ke = "_chatMentions_1b2hj_642", qe = "_chatMention_1b2hj_642", Ue = "_section_1b2hj_662", Ye = "_sectionHead_1b2hj_669", Je = "_sectionEyebrow_1b2hj_674", Xe = "_sectionTitle_1b2hj_683", Qe = "_sectionLead_1b2hj_692", ea = "_capGrid_1b2hj_702", aa = "_capCard_1b2hj_708", na = "_capIcon_1b2hj_726", ta = "_capTitle_1b2hj_739", ca = "_capDesc_1b2hj_747", sa = "_capTag_1b2hj_755", oa = "_archList_1b2hj_768", ia = "_archRow_1b2hj_772", la = "_archRail_1b2hj_780", ra = "_archIndex_1b2hj_786", da = "_archRailText_1b2hj_793", ha = "_archLabel_1b2hj_799", _a = "_archEn_1b2hj_806", ma = "_tone_blue_1b2hj_813", ba = "_tone_cyan_1b2hj_817", va = "_tone_purple_1b2hj_821", ua = "_tone_gold_1b2hj_825", Na = "_tone_green_1b2hj_829", pa = "_archModules_1b2hj_833", fa = "_archModule_1b2hj_833", wa = "_archModuleName_1b2hj_849", ja = "_archModuleDesc_1b2hj_855", Ta = "_showcaseGrid_1b2hj_864", ga = "_flowList_1b2hj_871", Aa = "_flowItem_1b2hj_880", Ia = "_flowNum_1b2hj_891", ya = "_flowTitle_1b2hj_907", Ca = "_flowDesc_1b2hj_914", ka = "_scnGrid_1b2hj_924", Ma = "_scnCard_1b2hj_930", La = "_scnIcon_1b2hj_947", Sa = "_scnTitle_1b2hj_960", $a = "_scnDesc_1b2hj_967", Ra = "_valList_1b2hj_977", Ba = "_valItem_1b2hj_983", Ea = "_valNum_1b2hj_999", Da = "_valTitle_1b2hj_1009", Pa = "_valDesc_1b2hj_1016", Wa = "_valCta_1b2hj_1024", xa = "_valCtaTitle_1b2hj_1036", Ga = "_valCtaDesc_1b2hj_1044", Va = "_valCtaActions_1b2hj_1051", Ha = "_valCtaPrimary_1b2hj_1057", Oa = "_valCtaGhost_1b2hj_1058", za = "_cliGrid_1b2hj_1097", Za = "_cliCard_1b2hj_1103", Fa = "_cliTop_1b2hj_1120", Ka = "_cliIcon_1b2hj_1128", qa = "_cliState_1b2hj_1140", Ua = "_state_ready_1b2hj_1149", Ya = "_state_beta_1b2hj_1155", Ja = "_state_soon_1b2hj_1161", Xa = "_state_free_1b2hj_1167", Qa = "_state_instant_1b2hj_1173", en = "_cliName_1b2hj_1179", an = "_cliEn_1b2hj_1187", nn = "_cliDesc_1b2hj_1193", tn = "_cliMeta_1b2hj_1201", cn = "_cliMetaNote_1b2hj_1218", sn = "_cliAction_1b2hj_1225", on = "_cliBtnPrimary_1b2hj_1229", ln = "_cliBtnGhost_1b2hj_1230", rn = "_cliMore_1b2hj_1273", dn = "_cliMoreSub_1b2hj_1288", hn = "_cliMoreBtn_1b2hj_1292", _n = "_toTop_1b2hj_1320", mn = "_toTopVisible_1b2hj_1343", bn = "_toTopIcon_1b2hj_1354", vn = "_footer_1b2hj_1358", un = "_footerInner_1b2hj_1366", Nn = "_footerBrand_1b2hj_1376", pn = "_footerBrandName_1b2hj_1383", fn = "_footerBrandDesc_1b2hj_1389", wn = "_footerLinks_1b2hj_1396", jn = "_footerCol_1b2hj_1401", Tn = "_footerColTitle_1b2hj_1407", gn = "_footerLink_1b2hj_1396", An = "_footerBottom_1b2hj_1432", In = "_fadeIn_1b2hj_1449", yn = "_revealRoot_1b2hj_7", Cn = "_fadeInVisible_1b2hj_1464", e = {
6
+ welcome: K,
7
+ bgWash: q,
8
+ bgGrid: U,
9
+ container: Y,
10
+ navbar: J,
11
+ navInner: X,
12
+ navBrand: Q,
13
+ navMark: ee,
14
+ navBrandText: ae,
15
+ navLinks: ne,
16
+ navLink: te,
17
+ navLinkActive: ce,
18
+ navMenuBtn: se,
19
+ navMenuIcon: oe,
20
+ navMenuIconOpen: ie,
21
+ navMenuPanel: le,
22
+ menuIn: re,
23
+ navMenuItem: de,
24
+ navMenuCta: he,
25
+ navActions: _e,
26
+ navGhost: me,
27
+ navPrimary: be,
28
+ hero: ve,
29
+ heroInner: ue,
30
+ eyebrow: Ne,
31
+ eyebrowDot: pe,
32
+ heroTitle: fe,
33
+ heroTitleAccent: we,
34
+ heroLead: je,
35
+ heroActions: Te,
36
+ btnPrimary: ge,
37
+ btnSecondary: Ae,
38
+ heroStats: Ie,
39
+ heroStat: ye,
40
+ heroStatNum: Ce,
41
+ heroStatLabel: ke,
42
+ heroVisual: Me,
43
+ chatCard: Le,
44
+ chatHead: Se,
45
+ chatHeadLeft: $e,
46
+ chatLiveDot: Re,
47
+ chatRoom: Be,
48
+ chatMeta: Ee,
49
+ chatBody: De,
50
+ chatRow: Pe,
51
+ chatRowHuman: We,
52
+ chatRowAgent: xe,
53
+ chatRowSub: Ge,
54
+ chatWho: Ve,
55
+ chatName: He,
56
+ chatTag: Oe,
57
+ chatTagPrimary: ze,
58
+ chatTime: Ze,
59
+ chatBubble: Fe,
60
+ chatMentions: Ke,
61
+ chatMention: qe,
62
+ section: Ue,
63
+ sectionHead: Ye,
64
+ sectionEyebrow: Je,
65
+ sectionTitle: Xe,
66
+ sectionLead: Qe,
67
+ capGrid: ea,
68
+ capCard: aa,
69
+ capIcon: na,
70
+ capTitle: ta,
71
+ capDesc: ca,
72
+ capTag: sa,
73
+ archList: oa,
74
+ archRow: ia,
75
+ archRail: la,
76
+ archIndex: ra,
77
+ archRailText: da,
78
+ archLabel: ha,
79
+ archEn: _a,
80
+ tone_blue: ma,
81
+ tone_cyan: ba,
82
+ tone_purple: va,
83
+ tone_gold: ua,
84
+ tone_green: Na,
85
+ archModules: pa,
86
+ archModule: fa,
87
+ archModuleName: wa,
88
+ archModuleDesc: ja,
89
+ showcaseGrid: Ta,
90
+ flowList: ga,
91
+ flowItem: Aa,
92
+ flowNum: Ia,
93
+ flowTitle: ya,
94
+ flowDesc: Ca,
95
+ scnGrid: ka,
96
+ scnCard: Ma,
97
+ scnIcon: La,
98
+ scnTitle: Sa,
99
+ scnDesc: $a,
100
+ valList: Ra,
101
+ valItem: Ba,
102
+ valNum: Ea,
103
+ valTitle: Da,
104
+ valDesc: Pa,
105
+ valCta: Wa,
106
+ valCtaTitle: xa,
107
+ valCtaDesc: Ga,
108
+ valCtaActions: Va,
109
+ valCtaPrimary: Ha,
110
+ valCtaGhost: Oa,
111
+ cliGrid: za,
112
+ cliCard: Za,
113
+ cliTop: Fa,
114
+ cliIcon: Ka,
115
+ cliState: qa,
116
+ state_ready: Ua,
117
+ state_beta: Ya,
118
+ state_soon: Ja,
119
+ state_free: Xa,
120
+ state_instant: Qa,
121
+ cliName: en,
122
+ cliEn: an,
123
+ cliDesc: nn,
124
+ cliMeta: tn,
125
+ cliMetaNote: cn,
126
+ cliAction: sn,
127
+ cliBtnPrimary: on,
128
+ cliBtnGhost: ln,
129
+ cliMore: rn,
130
+ cliMoreSub: dn,
131
+ cliMoreBtn: hn,
132
+ toTop: _n,
133
+ toTopVisible: mn,
134
+ toTopIcon: bn,
135
+ footer: vn,
136
+ footerInner: un,
137
+ footerBrand: Nn,
138
+ footerBrandName: pn,
139
+ footerBrandDesc: fn,
140
+ footerLinks: wn,
141
+ footerCol: jn,
142
+ footerColTitle: Tn,
143
+ footerLink: gn,
144
+ footerBottom: An,
145
+ fadeIn: In,
146
+ revealRoot: yn,
147
+ fadeInVisible: Cn
148
+ }, k = [
149
+ { id: "capabilities", label: "核心能力" },
150
+ { id: "architecture", label: "架构设计" },
151
+ { id: "showcase", label: "协作实景" },
152
+ { id: "scenarios", label: "场景覆盖" },
153
+ { id: "clients", label: "客户端" }
154
+ ], kn = [
155
+ {
156
+ icon: "message",
157
+ title: "消息中枢 · IM 驱动",
158
+ desc: "消息总线做中枢,WebSocket 穿透受限网络。人发消息即触发 Agent 拉起任务,结论回到同一个群里。",
159
+ tag: "MsgHub"
160
+ },
161
+ {
162
+ icon: "network",
163
+ title: "星型多 Agent 协作",
164
+ desc: "TeamAgent 主控拆解需求,群内 @子 Agent 即可联合多方 Agent,无需显式调用与编排。",
165
+ tag: "TeamAgent"
166
+ },
167
+ {
168
+ icon: "branch",
169
+ title: "学习子系统",
170
+ desc: "旁路 Pipeline 从对话中提取经验,版本化回写 Skill。进化覆盖天生,用得越久越准。",
171
+ tag: "Evolution"
172
+ },
173
+ {
174
+ icon: "shield",
175
+ title: "评测子系统",
176
+ desc: "AI 置信度门控 + 去重 + 冲突检测。低质量沉淀自动拒绝,不给团队灌噪声。",
177
+ tag: "Evaluation"
178
+ },
179
+ {
180
+ icon: "swap",
181
+ title: "本地 × 生产无缝衔接",
182
+ desc: "Tauri 本地沙箱与云端 Agent 集群双向打通。敏感操作本地隔离,高并发交给生产。",
183
+ tag: "Hybrid Runtime"
184
+ },
185
+ {
186
+ icon: "users",
187
+ title: "群聊内多方 Agent 联合",
188
+ desc: "一个群聊就是一个协作空间。拆解、调度、执行、汇总,全在群内闭环完成。",
189
+ tag: "Collaboration"
190
+ },
191
+ {
192
+ icon: "book",
193
+ title: "知识案例沉淀",
194
+ desc: "把排查过程沉淀成「问题-根因-方案-证据」结构化案例,可检索、可复用、不再流失。",
195
+ tag: "Knowledge"
196
+ },
197
+ {
198
+ icon: "layers",
199
+ title: "双层消息净化",
200
+ desc: "对外交付只有结论,对内保留完整推理轨迹。交付干净利落,调试有迹可循。",
201
+ tag: "Message Hygiene"
202
+ }
203
+ ], Mn = [
204
+ {
205
+ label: "接入层",
206
+ en: "Multi-Channel Entry",
207
+ tone: "blue",
208
+ modules: [
209
+ { name: "Web 端", desc: "浏览器全功能工作台" },
210
+ { name: "桌面客户端", desc: "Tauri 2.x · 本地 Agent 沙箱" },
211
+ { name: "钉钉机器人", desc: "群绑定场景 · @机器人触发" },
212
+ { name: "CLI Agent", desc: "claude-code 等多运行时接入" }
213
+ ]
214
+ },
215
+ {
216
+ label: "消息中枢",
217
+ en: "MsgHub",
218
+ tone: "cyan",
219
+ modules: [
220
+ { name: "WebSocket", desc: "HTTP 80/443 穿透受限网络" },
221
+ { name: "Pub/Sub", desc: "Topic + Session 双维路由" },
222
+ { name: "顺序写存储", desc: "稀疏索引 · 重启不丢消息" },
223
+ { name: "环形缓冲", desc: "最近 N 条 · 排查快照" }
224
+ ]
225
+ },
226
+ {
227
+ label: "核心引擎",
228
+ en: "ReAct Engine",
229
+ tone: "purple",
230
+ modules: [
231
+ { name: "Observer", desc: "LLM 意图分析 · 消息到派发" },
232
+ { name: "ReAct 引擎", desc: "推理-行动循环 · 工具编排" },
233
+ { name: "Turn 完成", desc: "结果上抛 · LLM 关单判定" },
234
+ { name: "CARD_FORM", desc: "表单交互 · 挂起恢复闭环" }
235
+ ]
236
+ },
237
+ {
238
+ label: "Agent 执行层",
239
+ en: "Star Topology",
240
+ tone: "gold",
241
+ modules: [
242
+ { name: "TeamAgent", desc: "主控角色 · 群聊直接回复" },
243
+ { name: "子 Agent 群", desc: "信号采集 / 代码分析 / 巡检" },
244
+ { name: "本地 Agent", desc: "Tauri 沙箱 · 敏感操作隔离" },
245
+ { name: "生产 Agent", desc: "云端集群 · 高并发承载" }
246
+ ]
247
+ },
248
+ {
249
+ label: "学习子系统",
250
+ en: "Evolution Pipeline",
251
+ tone: "green",
252
+ modules: [
253
+ { name: "Extract", desc: "增量水位点 · 语义过滤噪声" },
254
+ { name: "Evaluate", desc: "置信度门控 · 去重冲突检测" },
255
+ { name: "Apply", desc: "Skill 版本化回写" },
256
+ { name: "双触发", desc: "静默 15min · 每日 02:00 兜底" }
257
+ ]
258
+ },
259
+ {
260
+ label: "知识引擎",
261
+ en: "Knowledge",
262
+ tone: "blue",
263
+ modules: [
264
+ { name: "案例提取", desc: "问题→根因→方案 结构化" },
265
+ { name: "搜索引擎", desc: "关键词检索 · Agent 可调用" },
266
+ { name: "场景级记忆", desc: "跨群组复用 · 版本归档溯源" }
267
+ ]
268
+ }
269
+ ], Ln = [
270
+ {
271
+ role: "human",
272
+ name: "张工",
273
+ text: "排查一下预发环境订单费用不等的问题,最近用户反馈很多",
274
+ time: "10:32"
275
+ },
276
+ {
277
+ role: "agent",
278
+ name: "TeamAgent",
279
+ text: "收到,我来协调排查。先拉起信号采集和代码分析两个子 Agent。",
280
+ time: "10:32",
281
+ mentions: ["@信号采集Agent", "@代码分析Agent"]
282
+ },
283
+ {
284
+ role: "subagent",
285
+ name: "信号采集Agent",
286
+ text: "已采集到 3 条异常链路,traceId 为 trace_a1b2c3、trace_d4e5f6、trace_g7h8i9,差异集中在 FeeCalcService.calculate(),差值 0.01–0.03 元。",
287
+ time: "10:34"
288
+ },
289
+ {
290
+ role: "subagent",
291
+ name: "代码分析Agent",
292
+ text: "根因定位:FeeCalcService.calculate() 第 87 行用 double 计算,存在浮点精度丢失,建议改 BigDecimal。",
293
+ time: "10:35"
294
+ },
295
+ {
296
+ role: "agent",
297
+ name: "TeamAgent",
298
+ text: "综合诊断:费用计算浮点精度问题。根因已定位,修复方案已生成,请确认是否提交工单。",
299
+ time: "10:36"
300
+ }
301
+ ], Sn = [
302
+ {
303
+ icon: "wrench",
304
+ title: "研发大脑全流程",
305
+ desc: "需求分析 → 方案设计 → 代码研发 → 验证执行,五个阶段 Agent 编排串联,覆盖软件研发全生命周期。"
306
+ },
307
+ {
308
+ icon: "search",
309
+ title: "故障排查协作",
310
+ desc: "信号采集 → 代码分析 → 基础设施巡检 → 诊断综合,从现象描述到根因定位全链路自动化。"
311
+ },
312
+ {
313
+ icon: "message",
314
+ title: "钉钉群智能助手",
315
+ desc: "钉钉群绑定场景实例,群内 @机器人即触发协作。引用消息解析、卡片交互、图片代理原生融合。"
316
+ },
317
+ {
318
+ icon: "laptop",
319
+ title: "桌面端 × 本地 Agent",
320
+ desc: "Tauri 桌面客户端支持本地 Agent 沙箱执行、火箭跳转与 CLI Agent 接入,本地生产双向打通。"
321
+ }
322
+ ], $n = [
323
+ {
324
+ num: "01",
325
+ title: "组织级协同,一个群聊解决",
326
+ desc: "不需要拉群、开会、写文档。群里提需求,多个 Agent 协作产出,闭环在群内完成。"
327
+ },
328
+ {
329
+ num: "02",
330
+ title: "越用越聪明的自进化体系",
331
+ desc: "群聊静默时自动提取经验,门控通过后版本化回写 Skill 与 Memory。每一次协作都在沉淀团队智慧。"
332
+ },
333
+ {
334
+ num: "03",
335
+ title: "本地 × 生产无缝衔接",
336
+ desc: "敏感操作本地隔离执行,高并发交给云端集群。统一消息协议、统一工具接口,零迁移成本。"
337
+ },
338
+ {
339
+ num: "04",
340
+ title: "证据驱动,杜绝幻觉",
341
+ desc: "结论必须引用文件、日志、数据快照。工具调用失败如实报错,不靠推理补全。"
342
+ },
343
+ {
344
+ num: "05",
345
+ title: "生产级消息总线",
346
+ desc: "WebSocket 穿透严格受限网络,顺序写 + 稀疏索引,重启不丢消息,单 JVM 内毫秒级通信。"
347
+ }
348
+ ], Rn = {
349
+ ready: "可下载",
350
+ beta: "内测中",
351
+ soon: "即将发布",
352
+ free: "免安装",
353
+ instant: "即刻可用"
354
+ }, D = [
355
+ {
356
+ key: "macos",
357
+ icon: "laptop",
358
+ name: "macOS 桌面端",
359
+ en: "ZTeamAgent · Apple Silicon",
360
+ state: "ready",
361
+ desc: "本地 Agent 沙箱、火箭跳转、自动更新。与生产 Agent 集群双向打通。"
362
+ },
363
+ {
364
+ key: "windows",
365
+ icon: "windows",
366
+ name: "Windows 桌面端",
367
+ en: "ZTeamAgent · x64",
368
+ state: "ready",
369
+ desc: "与 macOS 同源交付,安装包为 x64 setup 格式,功能一套不打折。"
370
+ },
371
+ {
372
+ key: "ios",
373
+ icon: "phone",
374
+ name: "iOS App",
375
+ en: "Z-Team · iPhone / iPad",
376
+ state: "beta",
377
+ desc: "通过 TestFlight 分发内测版本,测试通过后上架 App Store。"
378
+ },
379
+ {
380
+ key: "android",
381
+ icon: "bot",
382
+ name: "Android App",
383
+ en: "Z-Team · APK 直装",
384
+ state: "soon",
385
+ desc: "APK 直装包,支持浏览器直接下载安装与版本提示。"
386
+ },
387
+ {
388
+ key: "web",
389
+ icon: "globe",
390
+ name: "Web 版",
391
+ en: "浏览器 · 全平台",
392
+ state: "free",
393
+ desc: "无需安装,浏览器直接进入完整工作台,手机浏览器自动切换移动版界面。"
394
+ },
395
+ {
396
+ key: "cli",
397
+ icon: "terminal",
398
+ name: "CLI Agent",
399
+ en: "claude-code 等多运行时",
400
+ state: "instant",
401
+ desc: "接入既有 CLI 运行时,在命令行里把任务交给 Agent,结论回到会话。"
402
+ }
403
+ ];
404
+ function Bn() {
405
+ const [i, f] = p(!1), [_, A] = p(/* @__PURE__ */ new Set());
406
+ H(() => {
407
+ if (typeof IntersectionObserver > "u") {
408
+ f(!0);
409
+ return;
410
+ }
411
+ const l = new IntersectionObserver(
412
+ (v) => {
413
+ A((u) => {
414
+ let m = null;
415
+ return v.forEach((o) => {
416
+ if (!o.isIntersecting) return;
417
+ const w = o.target.dataset.revealId;
418
+ !w || u.has(w) || (m = m ?? new Set(u), m.add(w));
419
+ }), m ?? u;
420
+ });
421
+ },
422
+ { threshold: 0.08, rootMargin: "0px 0px -8% 0px" }
423
+ );
424
+ document.querySelectorAll("[data-reveal-id]").forEach((v) => l.observe(v));
425
+ const L = window.setTimeout(() => {
426
+ A((v) => {
427
+ const u = new Set(v);
428
+ return document.querySelectorAll("[data-reveal-id]").forEach((m) => {
429
+ const o = m.dataset.revealId;
430
+ o && u.add(o);
431
+ }), u;
432
+ });
433
+ }, 2400);
434
+ return f(!0), () => {
435
+ l.disconnect(), window.clearTimeout(L);
436
+ };
437
+ }, []);
438
+ const b = g(
439
+ (l) => _.has(l),
440
+ [_]
441
+ );
442
+ return { revealReady: i, isRevealed: b };
443
+ }
444
+ function P() {
445
+ return /* @__PURE__ */ t("div", { className: e.chatCard, children: [
446
+ /* @__PURE__ */ t("div", { className: e.chatHead, children: [
447
+ /* @__PURE__ */ t("div", { className: e.chatHeadLeft, children: [
448
+ /* @__PURE__ */ a("span", { className: e.chatLiveDot }),
449
+ /* @__PURE__ */ a("span", { className: e.chatRoom, children: "故障排查协作群" })
450
+ ] }),
451
+ /* @__PURE__ */ a("span", { className: e.chatMeta, children: "7 人 · 4 Agent 在线" })
452
+ ] }),
453
+ /* @__PURE__ */ a("div", { className: e.chatBody, children: Ln.map((i, f) => /* @__PURE__ */ t(
454
+ "div",
455
+ {
456
+ className: `${e.chatRow} ${i.role === "human" ? e.chatRowHuman : i.role === "subagent" ? e.chatRowSub : e.chatRowAgent}`,
457
+ children: [
458
+ /* @__PURE__ */ t("div", { className: e.chatWho, children: [
459
+ /* @__PURE__ */ a("span", { className: e.chatName, children: i.name }),
460
+ i.role === "agent" && /* @__PURE__ */ a("span", { className: e.chatTagPrimary, children: "主控" }),
461
+ i.role === "subagent" && /* @__PURE__ */ a("span", { className: e.chatTag, children: "子 Agent" }),
462
+ /* @__PURE__ */ a("span", { className: e.chatTime, children: i.time })
463
+ ] }),
464
+ /* @__PURE__ */ a("div", { className: e.chatBubble, children: i.text }),
465
+ i.mentions && /* @__PURE__ */ a("div", { className: e.chatMentions, children: i.mentions.map((_) => /* @__PURE__ */ a("span", { className: e.chatMention, children: _ }, _)) })
466
+ ]
467
+ },
468
+ f
469
+ )) })
470
+ ] });
471
+ }
472
+ function xn() {
473
+ const [i, f] = p(null), [_, A] = p(null), [b, l] = p(!1), [M, L] = p(""), [v, u] = p(!1), { revealReady: m, isRevealed: o } = Bn();
474
+ y(() => {
475
+ let n = !0;
476
+ return E(Z).then((c) => {
477
+ n && f(c);
478
+ }), E(F).then((c) => {
479
+ n && A(c);
480
+ }), () => {
481
+ n = !1;
482
+ };
483
+ }, []), y(() => {
484
+ const n = document.title;
485
+ document.title = "Z Team · 组织级 AI 协同平台";
486
+ let c = document.head.querySelector(
487
+ 'meta[name="description"]'
488
+ );
489
+ const s = !c, d = (c == null ? void 0 : c.content) ?? "";
490
+ return c || (c = document.createElement("meta"), c.name = "description", document.head.appendChild(c)), c.content = "Z Team 是以即时通讯为入口的多 Agent 协作平台:群里描述需求,TeamAgent 自动拆解并调度子 Agent 执行,带证据的结论回灌群聊。支持 macOS / Windows / iOS / Android / Web / CLI 全平台。", () => {
491
+ document.title = n, c && (s ? c.remove() : c.content = d);
492
+ };
493
+ }, []), y(() => {
494
+ if (!b) return;
495
+ const n = (d) => {
496
+ d.key === "Escape" && l(!1);
497
+ }, c = (d) => {
498
+ const N = d.target;
499
+ N != null && N.closest("[data-welcome-menu]") || l(!1);
500
+ }, s = () => {
501
+ window.innerWidth > 900 && l(!1);
502
+ };
503
+ return window.addEventListener("keydown", n), document.addEventListener("pointerdown", c), window.addEventListener("resize", s), () => {
504
+ window.removeEventListener("keydown", n), document.removeEventListener("pointerdown", c), window.removeEventListener("resize", s);
505
+ };
506
+ }, [b]), y(() => {
507
+ let n = 0;
508
+ const c = () => {
509
+ n || (n = window.requestAnimationFrame(() => {
510
+ n = 0, u(window.scrollY > 880);
511
+ let s = "";
512
+ for (const d of k) {
513
+ const N = document.getElementById(d.id);
514
+ N && N.getBoundingClientRect().top <= 140 && (s = d.id);
515
+ }
516
+ L(s);
517
+ }));
518
+ };
519
+ return c(), window.addEventListener("scroll", c, { passive: !0 }), () => {
520
+ window.removeEventListener("scroll", c), n && window.cancelAnimationFrame(n);
521
+ };
522
+ }, []);
523
+ const w = V(
524
+ () => `${e.welcome} ${m ? e.revealRoot : ""}`,
525
+ [m]
526
+ ), j = g((n) => {
527
+ var c;
528
+ (c = document.getElementById(n)) == null || c.scrollIntoView({ behavior: "smooth", block: "start" });
529
+ }, []), S = g(
530
+ (n) => {
531
+ l(!1), j(n);
532
+ },
533
+ [j]
534
+ ), T = g(() => h.push("/workspace"), []), I = g(() => h.push("/download"), []), $ = D[0], R = C(i, "macos"), B = C(i, "windows"), W = R ? `${$.name} v${R.version}` : $.name, x = B ? `Windows 桌面端 v${B.version}` : "Windows 桌面端", G = _ ? `Android v${_.version}` : "Android 内测";
535
+ return /* @__PURE__ */ t("div", { className: w, children: [
536
+ /* @__PURE__ */ a("div", { className: e.bgWash }),
537
+ /* @__PURE__ */ a("div", { className: e.bgGrid }),
538
+ /* @__PURE__ */ t("nav", { className: e.navbar, children: [
539
+ /* @__PURE__ */ t("div", { className: e.navInner, children: [
540
+ /* @__PURE__ */ t(
541
+ "div",
542
+ {
543
+ className: e.navBrand,
544
+ onClick: () => j("top"),
545
+ onKeyDown: (n) => {
546
+ (n.key === "Enter" || n.key === " ") && (n.preventDefault(), j("top"));
547
+ },
548
+ role: "button",
549
+ tabIndex: 0,
550
+ "aria-label": "Z Team · 回到顶部",
551
+ children: [
552
+ /* @__PURE__ */ a("span", { className: e.navMark, children: "ZT" }),
553
+ /* @__PURE__ */ a("span", { className: e.navBrandText, children: "Z Team" })
554
+ ]
555
+ }
556
+ ),
557
+ /* @__PURE__ */ t("div", { className: e.navLinks, children: [
558
+ k.map((n) => /* @__PURE__ */ a(
559
+ "button",
560
+ {
561
+ className: `${e.navLink} ${M === n.id ? e.navLinkActive : ""}`,
562
+ "aria-current": M === n.id ? "true" : void 0,
563
+ onClick: () => S(n.id),
564
+ children: n.label
565
+ },
566
+ n.id
567
+ )),
568
+ /* @__PURE__ */ a(
569
+ "button",
570
+ {
571
+ className: e.navLink,
572
+ onClick: () => h.push("/docs"),
573
+ children: "操作手册"
574
+ }
575
+ )
576
+ ] }),
577
+ /* @__PURE__ */ t("div", { className: e.navActions, children: [
578
+ /* @__PURE__ */ a(
579
+ "button",
580
+ {
581
+ className: e.navGhost,
582
+ onClick: T,
583
+ children: "进入工作台"
584
+ }
585
+ ),
586
+ /* @__PURE__ */ t("button", { className: e.navPrimary, onClick: I, children: [
587
+ /* @__PURE__ */ a(r, { name: "download", size: 15, strokeWidth: 2 }),
588
+ "下载客户端"
589
+ ] }),
590
+ /* @__PURE__ */ a(
591
+ "button",
592
+ {
593
+ className: e.navMenuBtn,
594
+ "aria-label": b ? "关闭导航菜单" : "打开导航菜单",
595
+ "aria-expanded": b,
596
+ "aria-controls": "welcome-mobile-menu",
597
+ "data-welcome-menu": !0,
598
+ onClick: () => l((n) => !n),
599
+ children: /* @__PURE__ */ t(
600
+ "span",
601
+ {
602
+ className: `${e.navMenuIcon} ${b ? e.navMenuIconOpen : ""}`,
603
+ "aria-hidden": "true",
604
+ children: [
605
+ /* @__PURE__ */ a("span", {}),
606
+ /* @__PURE__ */ a("span", {}),
607
+ /* @__PURE__ */ a("span", {})
608
+ ]
609
+ }
610
+ )
611
+ }
612
+ )
613
+ ] })
614
+ ] }),
615
+ b && /* @__PURE__ */ t(
616
+ "div",
617
+ {
618
+ className: e.navMenuPanel,
619
+ id: "welcome-mobile-menu",
620
+ "data-welcome-menu": !0,
621
+ children: [
622
+ k.map((n) => /* @__PURE__ */ a(
623
+ "button",
624
+ {
625
+ className: e.navMenuItem,
626
+ onClick: () => S(n.id),
627
+ children: n.label
628
+ },
629
+ n.id
630
+ )),
631
+ /* @__PURE__ */ a(
632
+ "button",
633
+ {
634
+ className: e.navMenuItem,
635
+ onClick: () => {
636
+ l(!1), h.push("/docs");
637
+ },
638
+ children: "操作手册"
639
+ }
640
+ ),
641
+ /* @__PURE__ */ t(
642
+ "button",
643
+ {
644
+ className: e.navMenuCta,
645
+ onClick: () => {
646
+ l(!1), T();
647
+ },
648
+ children: [
649
+ "进入工作台",
650
+ /* @__PURE__ */ a(r, { name: "arrow", size: 15, strokeWidth: 2 })
651
+ ]
652
+ }
653
+ )
654
+ ]
655
+ }
656
+ )
657
+ ] }),
658
+ /* @__PURE__ */ a("section", { className: e.hero, id: "top", children: /* @__PURE__ */ t("div", { className: e.heroInner, children: [
659
+ /* @__PURE__ */ t("div", { className: e.heroCopy, children: [
660
+ /* @__PURE__ */ t("span", { className: e.eyebrow, children: [
661
+ /* @__PURE__ */ a("span", { className: e.eyebrowDot }),
662
+ "组织级 AI 协同平台"
663
+ ] }),
664
+ /* @__PURE__ */ t("h1", { className: e.heroTitle, children: [
665
+ "让 Agent 成为团队里",
666
+ /* @__PURE__ */ a("br", {}),
667
+ /* @__PURE__ */ a("span", { className: e.heroTitleAccent, children: "一名真正的同事" })
668
+ ] }),
669
+ /* @__PURE__ */ a("p", { className: e.heroLead, children: "以即时通讯为入口的多 Agent 协作平台。在群里描述需求, TeamAgent 自动拆解、调度多个子 Agent 执行, 带证据的结论回灌到同一个群聊—— 协同闭环不再需要拉群、开会和写文档。" }),
670
+ /* @__PURE__ */ t("div", { className: e.heroActions, children: [
671
+ /* @__PURE__ */ t("button", { className: e.btnPrimary, onClick: I, children: [
672
+ /* @__PURE__ */ a(r, { name: "download", size: 17, strokeWidth: 2 }),
673
+ "下载客户端"
674
+ ] }),
675
+ /* @__PURE__ */ t("button", { className: e.btnSecondary, onClick: T, children: [
676
+ "进入工作台",
677
+ /* @__PURE__ */ a(r, { name: "arrow", size: 16, strokeWidth: 2 })
678
+ ] })
679
+ ] }),
680
+ /* @__PURE__ */ a("dl", { className: e.heroStats, children: [
681
+ { n: "6", l: "架构层次" },
682
+ { n: "8", l: "核心能力" },
683
+ { n: "4", l: "接入渠道" },
684
+ { n: "26+", l: "Feature 迭代" }
685
+ ].map((n) => /* @__PURE__ */ t("div", { className: e.heroStat, children: [
686
+ /* @__PURE__ */ a("dt", { className: e.heroStatNum, children: n.n }),
687
+ /* @__PURE__ */ a("dd", { className: e.heroStatLabel, children: n.l })
688
+ ] }, n.l)) })
689
+ ] }),
690
+ /* @__PURE__ */ a("div", { className: e.heroVisual, children: /* @__PURE__ */ a(P, {}) })
691
+ ] }) }),
692
+ /* @__PURE__ */ a("section", { className: e.section, id: "capabilities", children: /* @__PURE__ */ t("div", { className: e.container, children: [
693
+ /* @__PURE__ */ t(
694
+ "div",
695
+ {
696
+ className: `${e.sectionHead} ${e.fadeIn} ${o("cap-head") ? e.fadeInVisible : ""}`,
697
+ "data-reveal-id": "cap-head",
698
+ children: [
699
+ /* @__PURE__ */ a("span", { className: e.sectionEyebrow, children: "Core Capabilities" }),
700
+ /* @__PURE__ */ a("h2", { className: e.sectionTitle, children: "八大核心能力" }),
701
+ /* @__PURE__ */ a("p", { className: e.sectionLead, children: "从消息中枢到学习子系统,从星型协作到知识沉淀—— 完整的 AI 协作闭环,在组织层面解决大量协同问题。" })
702
+ ]
703
+ }
704
+ ),
705
+ /* @__PURE__ */ a("div", { className: e.capGrid, children: kn.map((n, c) => /* @__PURE__ */ t(
706
+ "article",
707
+ {
708
+ className: `${e.capCard} ${e.fadeIn} ${o(`cap-${c}`) ? e.fadeInVisible : ""}`,
709
+ "data-reveal-id": `cap-${c}`,
710
+ style: { transitionDelay: `${c % 4 * 60}ms` },
711
+ children: [
712
+ /* @__PURE__ */ a("div", { className: e.capIcon, children: /* @__PURE__ */ a(r, { name: n.icon, size: 19, strokeWidth: 1.8 }) }),
713
+ /* @__PURE__ */ a("h3", { className: e.capTitle, children: n.title }),
714
+ /* @__PURE__ */ a("p", { className: e.capDesc, children: n.desc }),
715
+ /* @__PURE__ */ a("span", { className: e.capTag, children: n.tag })
716
+ ]
717
+ },
718
+ n.title
719
+ )) })
720
+ ] }) }),
721
+ /* @__PURE__ */ a("section", { className: e.section, id: "architecture", children: /* @__PURE__ */ t("div", { className: e.container, children: [
722
+ /* @__PURE__ */ t(
723
+ "div",
724
+ {
725
+ className: `${e.sectionHead} ${e.fadeIn} ${o("arch-head") ? e.fadeInVisible : ""}`,
726
+ "data-reveal-id": "arch-head",
727
+ children: [
728
+ /* @__PURE__ */ a("span", { className: e.sectionEyebrow, children: "Architecture" }),
729
+ /* @__PURE__ */ a("h2", { className: e.sectionTitle, children: "六层架构" }),
730
+ /* @__PURE__ */ a("p", { className: e.sectionLead, children: "接入层统一入口,消息中枢可靠穿透,ReAct 引擎驱动, Agent 执行层星型协作,学习子系统持续进化,知识引擎案例沉淀。" })
731
+ ]
732
+ }
733
+ ),
734
+ /* @__PURE__ */ a("div", { className: e.archList, children: Mn.map((n, c) => /* @__PURE__ */ t(
735
+ "div",
736
+ {
737
+ className: `${e.archRow} ${e.fadeIn} ${o(`arch-${c}`) ? e.fadeInVisible : ""}`,
738
+ "data-reveal-id": `arch-${c}`,
739
+ children: [
740
+ /* @__PURE__ */ t("div", { className: e.archRail, children: [
741
+ /* @__PURE__ */ a("span", { className: e.archIndex, children: String(c + 1).padStart(2, "0") }),
742
+ /* @__PURE__ */ t("div", { className: e.archRailText, children: [
743
+ /* @__PURE__ */ a(
744
+ "span",
745
+ {
746
+ className: `${e.archLabel} ${e[`tone_${n.tone}`]}`,
747
+ children: n.label
748
+ }
749
+ ),
750
+ /* @__PURE__ */ a("span", { className: e.archEn, children: n.en })
751
+ ] })
752
+ ] }),
753
+ /* @__PURE__ */ a("div", { className: e.archModules, children: n.modules.map((s) => /* @__PURE__ */ t("div", { className: e.archModule, children: [
754
+ /* @__PURE__ */ a("span", { className: e.archModuleName, children: s.name }),
755
+ /* @__PURE__ */ a("span", { className: e.archModuleDesc, children: s.desc })
756
+ ] }, s.name)) })
757
+ ]
758
+ },
759
+ n.label
760
+ )) })
761
+ ] }) }),
762
+ /* @__PURE__ */ a("section", { className: e.section, id: "showcase", children: /* @__PURE__ */ t("div", { className: e.container, children: [
763
+ /* @__PURE__ */ t(
764
+ "div",
765
+ {
766
+ className: `${e.sectionHead} ${e.fadeIn} ${o("sc-head") ? e.fadeInVisible : ""}`,
767
+ "data-reveal-id": "sc-head",
768
+ children: [
769
+ /* @__PURE__ */ a("span", { className: e.sectionEyebrow, children: "Live Showcase" }),
770
+ /* @__PURE__ */ a("h2", { className: e.sectionTitle, children: "一次协作的完整链路" }),
771
+ /* @__PURE__ */ a("p", { className: e.sectionLead, children: "一个人提需求,多个 Agent 协作产出——全在群聊闭环完成。 TeamAgent 主控调度,子 Agent 各司其职,结果汇总回灌。" })
772
+ ]
773
+ }
774
+ ),
775
+ /* @__PURE__ */ t(
776
+ "div",
777
+ {
778
+ className: `${e.showcaseGrid} ${e.fadeIn} ${o("sc-body") ? e.fadeInVisible : ""}`,
779
+ "data-reveal-id": "sc-body",
780
+ children: [
781
+ /* @__PURE__ */ a(P, {}),
782
+ /* @__PURE__ */ a("ol", { className: e.flowList, children: [
783
+ {
784
+ t: "人类发起",
785
+ d: "在群里用自然语言描述需求,无需学习新工具"
786
+ },
787
+ {
788
+ t: "主控拆解",
789
+ d: "TeamAgent 分析意图,@调度合适的子 Agent"
790
+ },
791
+ {
792
+ t: "多方执行",
793
+ d: "子 Agent 各自推理执行,工具链路安全隔离"
794
+ },
795
+ {
796
+ t: "结果回灌",
797
+ d: "汇总诊断结论,生成修复建议,全在群聊完成"
798
+ }
799
+ ].map((n, c) => /* @__PURE__ */ t("li", { className: e.flowItem, children: [
800
+ /* @__PURE__ */ a("span", { className: e.flowNum, children: String(c + 1).padStart(2, "0") }),
801
+ /* @__PURE__ */ t("div", { children: [
802
+ /* @__PURE__ */ a("strong", { className: e.flowTitle, children: n.t }),
803
+ /* @__PURE__ */ a("p", { className: e.flowDesc, children: n.d })
804
+ ] })
805
+ ] }, n.t)) })
806
+ ]
807
+ }
808
+ )
809
+ ] }) }),
810
+ /* @__PURE__ */ a("section", { className: e.section, id: "scenarios", children: /* @__PURE__ */ t("div", { className: e.container, children: [
811
+ /* @__PURE__ */ t(
812
+ "div",
813
+ {
814
+ className: `${e.sectionHead} ${e.fadeIn} ${o("scn-head") ? e.fadeInVisible : ""}`,
815
+ "data-reveal-id": "scn-head",
816
+ children: [
817
+ /* @__PURE__ */ a("span", { className: e.sectionEyebrow, children: "Scenarios" }),
818
+ /* @__PURE__ */ a("h2", { className: e.sectionTitle, children: "覆盖的场景" }),
819
+ /* @__PURE__ */ a("p", { className: e.sectionLead, children: "从研发大脑全流程到故障排查协作,从钉钉群助手到桌面端本地 Agent, 覆盖研发运维全链路。" })
820
+ ]
821
+ }
822
+ ),
823
+ /* @__PURE__ */ a("div", { className: e.scnGrid, children: Sn.map((n, c) => /* @__PURE__ */ t(
824
+ "article",
825
+ {
826
+ className: `${e.scnCard} ${e.fadeIn} ${o(`scn-${c}`) ? e.fadeInVisible : ""}`,
827
+ "data-reveal-id": `scn-${c}`,
828
+ style: { transitionDelay: `${c * 70}ms` },
829
+ children: [
830
+ /* @__PURE__ */ a("div", { className: e.scnIcon, children: /* @__PURE__ */ a(r, { name: n.icon, size: 19, strokeWidth: 1.8 }) }),
831
+ /* @__PURE__ */ a("h3", { className: e.scnTitle, children: n.title }),
832
+ /* @__PURE__ */ a("p", { className: e.scnDesc, children: n.desc })
833
+ ]
834
+ },
835
+ n.title
836
+ )) })
837
+ ] }) }),
838
+ /* @__PURE__ */ a("section", { className: e.section, id: "value", children: /* @__PURE__ */ t("div", { className: e.container, children: [
839
+ /* @__PURE__ */ t(
840
+ "div",
841
+ {
842
+ className: `${e.sectionHead} ${e.fadeIn} ${o("val-head") ? e.fadeInVisible : ""}`,
843
+ "data-reveal-id": "val-head",
844
+ children: [
845
+ /* @__PURE__ */ a("span", { className: e.sectionEyebrow, children: "Why Z Team" }),
846
+ /* @__PURE__ */ a("h2", { className: e.sectionTitle, children: "核心价值主张" }),
847
+ /* @__PURE__ */ a("p", { className: e.sectionLead, children: "不是又一个 AI 工具,而是能在组织层面解决大量协同问题的 AI 协作基础设施。" })
848
+ ]
849
+ }
850
+ ),
851
+ /* @__PURE__ */ t("div", { className: e.valList, children: [
852
+ $n.map((n, c) => /* @__PURE__ */ t(
853
+ "div",
854
+ {
855
+ className: `${e.valItem} ${e.fadeIn} ${o(`val-${c}`) ? e.fadeInVisible : ""}`,
856
+ "data-reveal-id": `val-${c}`,
857
+ style: { transitionDelay: `${c % 3 * 60}ms` },
858
+ children: [
859
+ /* @__PURE__ */ a("span", { className: e.valNum, children: n.num }),
860
+ /* @__PURE__ */ t("div", { children: [
861
+ /* @__PURE__ */ a("h3", { className: e.valTitle, children: n.title }),
862
+ /* @__PURE__ */ a("p", { className: e.valDesc, children: n.desc })
863
+ ] })
864
+ ]
865
+ },
866
+ n.num
867
+ )),
868
+ /* @__PURE__ */ t(
869
+ "div",
870
+ {
871
+ className: `${e.valCta} ${e.fadeIn} ${o("val-cta") ? e.fadeInVisible : ""}`,
872
+ "data-reveal-id": "val-cta",
873
+ children: [
874
+ /* @__PURE__ */ t("div", { children: [
875
+ /* @__PURE__ */ a("h3", { className: e.valCtaTitle, children: "准备好让 Agent 加入团队了吗?" }),
876
+ /* @__PURE__ */ a("p", { className: e.valCtaDesc, children: "从一个群聊开始,让第一位 Agent 同事当天上岗。" })
877
+ ] }),
878
+ /* @__PURE__ */ t("div", { className: e.valCtaActions, children: [
879
+ /* @__PURE__ */ t(
880
+ "button",
881
+ {
882
+ className: e.valCtaPrimary,
883
+ onClick: T,
884
+ children: [
885
+ "进入工作台",
886
+ /* @__PURE__ */ a(
887
+ r,
888
+ {
889
+ name: "arrow",
890
+ size: 15,
891
+ strokeWidth: 2
892
+ }
893
+ )
894
+ ]
895
+ }
896
+ ),
897
+ /* @__PURE__ */ a(
898
+ "button",
899
+ {
900
+ className: e.valCtaGhost,
901
+ onClick: I,
902
+ children: "下载客户端"
903
+ }
904
+ )
905
+ ] })
906
+ ]
907
+ }
908
+ )
909
+ ] })
910
+ ] }) }),
911
+ /* @__PURE__ */ a("section", { className: e.section, id: "clients", children: /* @__PURE__ */ t("div", { className: e.container, children: [
912
+ /* @__PURE__ */ t(
913
+ "div",
914
+ {
915
+ className: `${e.sectionHead} ${e.fadeIn} ${o("cli-head") ? e.fadeInVisible : ""}`,
916
+ "data-reveal-id": "cli-head",
917
+ children: [
918
+ /* @__PURE__ */ a("span", { className: e.sectionEyebrow, children: "Clients" }),
919
+ /* @__PURE__ */ a("h2", { className: e.sectionTitle, children: "全平台客户端" }),
920
+ /* @__PURE__ */ a("p", { className: e.sectionLead, children: "桌面端、移动端、Web 与 CLI 共用同一套消息协议与账号体系, 任务与数据在任意一端无缝接续。" })
921
+ ]
922
+ }
923
+ ),
924
+ /* @__PURE__ */ a("div", { className: e.cliGrid, children: D.map((n, c) => {
925
+ const s = n.key === "macos" ? C(i, "macos") : n.key === "windows" ? C(i, "windows") : n.key === "android" ? _ : null, d = s && s.releaseType === "beta" ? "beta" : n.state, N = s && s.releaseType === "beta" ? "内测中" : Rn[n.state];
926
+ return /* @__PURE__ */ t(
927
+ "article",
928
+ {
929
+ className: `${e.cliCard} ${e.fadeIn} ${o(`cli-${c}`) ? e.fadeInVisible : ""}`,
930
+ "data-reveal-id": `cli-${c}`,
931
+ style: { transitionDelay: `${c % 3 * 60}ms` },
932
+ children: [
933
+ /* @__PURE__ */ t("div", { className: e.cliTop, children: [
934
+ /* @__PURE__ */ a("span", { className: e.cliIcon, children: /* @__PURE__ */ a(
935
+ r,
936
+ {
937
+ name: n.icon,
938
+ size: 20,
939
+ strokeWidth: 1.8
940
+ }
941
+ ) }),
942
+ /* @__PURE__ */ a(
943
+ "span",
944
+ {
945
+ className: `${e.cliState} ${e[`state_${d}`]}`,
946
+ children: N
947
+ }
948
+ )
949
+ ] }),
950
+ /* @__PURE__ */ a("h3", { className: e.cliName, children: n.name }),
951
+ /* @__PURE__ */ a("div", { className: e.cliEn, children: s ? `${n.en} · v${s.version}` : n.en }),
952
+ /* @__PURE__ */ a("p", { className: e.cliDesc, children: n.desc }),
953
+ s && /* @__PURE__ */ t("div", { className: e.cliMeta, children: [
954
+ s.fileSize > 0 && /* @__PURE__ */ a("span", { children: O(s.fileSize) }),
955
+ s.releaseTime && /* @__PURE__ */ a("span", { children: z(s.releaseTime) }),
956
+ s.changelog && /* @__PURE__ */ a("span", { className: e.cliMetaNote, children: s.changelog })
957
+ ] }),
958
+ /* @__PURE__ */ a("div", { className: e.cliAction, children: s ? /* @__PURE__ */ t(
959
+ "a",
960
+ {
961
+ className: e.cliBtnPrimary,
962
+ href: s.downloadUrl,
963
+ target: "_blank",
964
+ rel: "noreferrer",
965
+ children: [
966
+ /* @__PURE__ */ a(
967
+ r,
968
+ {
969
+ name: "download",
970
+ size: 15,
971
+ strokeWidth: 2
972
+ }
973
+ ),
974
+ "下载 v",
975
+ s.version
976
+ ]
977
+ }
978
+ ) : n.key === "web" ? /* @__PURE__ */ t(
979
+ "button",
980
+ {
981
+ className: e.cliBtnPrimary,
982
+ onClick: T,
983
+ children: [
984
+ "立即使用",
985
+ /* @__PURE__ */ a(
986
+ r,
987
+ {
988
+ name: "arrow",
989
+ size: 15,
990
+ strokeWidth: 2
991
+ }
992
+ )
993
+ ]
994
+ }
995
+ ) : n.key === "cli" ? /* @__PURE__ */ a(
996
+ "button",
997
+ {
998
+ className: e.cliBtnGhost,
999
+ onClick: () => h.push("/docs"),
1000
+ children: "查看接入方式"
1001
+ }
1002
+ ) : (
1003
+ /* iOS / Android(以及清单未就绪时的 Windows):
1004
+ 不在首页做「假下载」,直接带平台深链进下载中心对应卡片 */
1005
+ /* @__PURE__ */ a(
1006
+ "button",
1007
+ {
1008
+ className: e.cliBtnGhost,
1009
+ onClick: () => h.push(
1010
+ `/download?platform=${n.key}`
1011
+ ),
1012
+ children: n.key === "ios" ? "申请内测" : n.key === "android" ? "获取安装包" : "前往下载中心"
1013
+ }
1014
+ )
1015
+ ) })
1016
+ ]
1017
+ },
1018
+ n.key
1019
+ );
1020
+ }) }),
1021
+ /* @__PURE__ */ t(
1022
+ "div",
1023
+ {
1024
+ className: `${e.cliMore} ${e.fadeIn} ${o("cli-more") ? e.fadeInVisible : ""}`,
1025
+ "data-reveal-id": "cli-more",
1026
+ children: [
1027
+ /* @__PURE__ */ t("span", { children: [
1028
+ "需要完整版本信息、校验与历史版本?",
1029
+ /* @__PURE__ */ t("span", { className: e.cliMoreSub, children: [
1030
+ " ",
1031
+ W,
1032
+ " · ",
1033
+ x,
1034
+ " · iOS 内测 · ",
1035
+ G,
1036
+ " · Web 免安装"
1037
+ ] })
1038
+ ] }),
1039
+ /* @__PURE__ */ t("button", { className: e.cliMoreBtn, onClick: I, children: [
1040
+ "前往下载中心",
1041
+ /* @__PURE__ */ a(r, { name: "arrow", size: 15, strokeWidth: 2 })
1042
+ ] })
1043
+ ]
1044
+ }
1045
+ )
1046
+ ] }) }),
1047
+ /* @__PURE__ */ t("footer", { className: e.footer, children: [
1048
+ /* @__PURE__ */ t("div", { className: e.footerInner, children: [
1049
+ /* @__PURE__ */ t("div", { className: e.footerBrand, children: [
1050
+ /* @__PURE__ */ a("span", { className: e.navMark, children: "ZT" }),
1051
+ /* @__PURE__ */ t("div", { children: [
1052
+ /* @__PURE__ */ a("div", { className: e.footerBrandName, children: "Z Team" }),
1053
+ /* @__PURE__ */ a("div", { className: e.footerBrandDesc, children: "组织级 AI 协同平台 · 让 Agent 融入团队日常" })
1054
+ ] })
1055
+ ] }),
1056
+ /* @__PURE__ */ t("nav", { className: e.footerLinks, children: [
1057
+ /* @__PURE__ */ t("div", { className: e.footerCol, children: [
1058
+ /* @__PURE__ */ a("span", { className: e.footerColTitle, children: "产品" }),
1059
+ k.map((n) => /* @__PURE__ */ a(
1060
+ "button",
1061
+ {
1062
+ className: e.footerLink,
1063
+ onClick: () => j(n.id),
1064
+ children: n.label
1065
+ },
1066
+ n.id
1067
+ ))
1068
+ ] }),
1069
+ /* @__PURE__ */ t("div", { className: e.footerCol, children: [
1070
+ /* @__PURE__ */ a("span", { className: e.footerColTitle, children: "资源" }),
1071
+ /* @__PURE__ */ a(
1072
+ "button",
1073
+ {
1074
+ className: e.footerLink,
1075
+ onClick: () => h.push("/download"),
1076
+ children: "下载中心"
1077
+ }
1078
+ ),
1079
+ /* @__PURE__ */ a(
1080
+ "button",
1081
+ {
1082
+ className: e.footerLink,
1083
+ onClick: () => h.push("/docs"),
1084
+ children: "操作手册"
1085
+ }
1086
+ ),
1087
+ /* @__PURE__ */ a(
1088
+ "button",
1089
+ {
1090
+ className: e.footerLink,
1091
+ onClick: () => h.push("/docs#changelog"),
1092
+ children: "迭代日志"
1093
+ }
1094
+ ),
1095
+ /* @__PURE__ */ a(
1096
+ "button",
1097
+ {
1098
+ className: e.footerLink,
1099
+ onClick: () => h.push("/workspace"),
1100
+ children: "进入工作台"
1101
+ }
1102
+ )
1103
+ ] })
1104
+ ] })
1105
+ ] }),
1106
+ /* @__PURE__ */ t("div", { className: e.footerBottom, children: [
1107
+ /* @__PURE__ */ a("span", { children: "Spring Boot 2.7 · React 19 · Tauri 2.x · MsgHub · Evolution Pipeline" }),
1108
+ /* @__PURE__ */ a("span", { children: "© 2026 Z Team" })
1109
+ ] })
1110
+ ] }),
1111
+ /* @__PURE__ */ a(
1112
+ "button",
1113
+ {
1114
+ className: `${e.toTop} ${v ? e.toTopVisible : ""}`,
1115
+ onClick: () => window.scrollTo({ top: 0, behavior: "smooth" }),
1116
+ "aria-label": "回到顶部",
1117
+ tabIndex: v ? 0 : -1,
1118
+ children: /* @__PURE__ */ a(
1119
+ r,
1120
+ {
1121
+ name: "arrow",
1122
+ size: 18,
1123
+ strokeWidth: 2,
1124
+ className: e.toTopIcon
1125
+ }
1126
+ )
1127
+ }
1128
+ )
1129
+ ] });
1130
+ }
1131
+ export {
1132
+ xn as default
1133
+ };