cicy-desktop 2.1.69 → 2.1.71

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 (61) hide show
  1. package/package.json +7 -7
  2. package/src/backends/homepage-react/assets/index-BpljolQs.js +365 -0
  3. package/src/backends/homepage-react/assets/{index-BniEbx_j.css → index-C9AZlTew.css} +1 -1
  4. package/src/backends/homepage-react/index.html +2 -2
  5. package/src/backends/local-teams.js +42 -4
  6. package/src/backends/sidecar-ipc.js +23 -1
  7. package/src/i18n/locales/en.json +9 -7
  8. package/src/i18n/locales/zh-CN.json +9 -7
  9. package/src/sidecar/cicy-code.js +54 -111
  10. package/src/sidecar/localbin.js +133 -0
  11. package/src/sidecar/native.js +4 -2
  12. package/src/sidecar/runtime.js +7 -3
  13. package/workers/render/src/App.css +156 -10
  14. package/workers/render/src/App.jsx +254 -39
  15. package/.env.dev +0 -7
  16. package/src/backends/homepage-react/assets/index-B8gGhz8B.js +0 -365
  17. package/workers/render.bak.20260528-2338/DESIGN_v2.md +0 -254
  18. package/workers/render.bak.20260528-2338/index.html +0 -12
  19. package/workers/render.bak.20260528-2338/package-lock.json +0 -827
  20. package/workers/render.bak.20260528-2338/package.json +0 -19
  21. package/workers/render.bak.20260528-2338/public/_headers +0 -5
  22. package/workers/render.bak.20260528-2338/public/manifest.json +0 -6
  23. package/workers/render.bak.20260528-2338/src/App.css +0 -224
  24. package/workers/render.bak.20260528-2338/src/App.jsx +0 -1028
  25. package/workers/render.bak.20260528-2338/src/api.js +0 -285
  26. package/workers/render.bak.20260528-2338/src/cicycode-ops.js +0 -222
  27. package/workers/render.bak.20260528-2338/src/components/BackendCard.css +0 -299
  28. package/workers/render.bak.20260528-2338/src/components/BackendCard.jsx +0 -133
  29. package/workers/render.bak.20260528-2338/src/components/BackendModal.css +0 -161
  30. package/workers/render.bak.20260528-2338/src/components/BackendModal.jsx +0 -199
  31. package/workers/render.bak.20260528-2338/src/components/Button.css +0 -72
  32. package/workers/render.bak.20260528-2338/src/components/Button.jsx +0 -37
  33. package/workers/render.bak.20260528-2338/src/components/Card.css +0 -42
  34. package/workers/render.bak.20260528-2338/src/components/Card.jsx +0 -21
  35. package/workers/render.bak.20260528-2338/src/components/Icon.jsx +0 -30
  36. package/workers/render.bak.20260528-2338/src/components/Menu.css +0 -55
  37. package/workers/render.bak.20260528-2338/src/components/Menu.jsx +0 -91
  38. package/workers/render.bak.20260528-2338/src/components/SidecarBanner.css +0 -79
  39. package/workers/render.bak.20260528-2338/src/components/SidecarBanner.jsx +0 -84
  40. package/workers/render.bak.20260528-2338/src/components/StatusChip.css +0 -19
  41. package/workers/render.bak.20260528-2338/src/components/StatusChip.jsx +0 -31
  42. package/workers/render.bak.20260528-2338/src/components/Toast.css +0 -31
  43. package/workers/render.bak.20260528-2338/src/components/Toast.jsx +0 -23
  44. package/workers/render.bak.20260528-2338/src/components/WslSetupBanner.css +0 -464
  45. package/workers/render.bak.20260528-2338/src/components/WslSetupBanner.jsx +0 -716
  46. package/workers/render.bak.20260528-2338/src/dockerInstaller.js +0 -0
  47. package/workers/render.bak.20260528-2338/src/i18n/en.json +0 -116
  48. package/workers/render.bak.20260528-2338/src/i18n/fr.json +0 -116
  49. package/workers/render.bak.20260528-2338/src/i18n/index.js +0 -69
  50. package/workers/render.bak.20260528-2338/src/i18n/ja.json +0 -116
  51. package/workers/render.bak.20260528-2338/src/i18n/zh-CN.json +0 -121
  52. package/workers/render.bak.20260528-2338/src/main.js +0 -475
  53. package/workers/render.bak.20260528-2338/src/main.jsx +0 -18
  54. package/workers/render.bak.20260528-2338/src/style.css +0 -275
  55. package/workers/render.bak.20260528-2338/src/styles/base.css +0 -98
  56. package/workers/render.bak.20260528-2338/src/styles/tokens.css +0 -90
  57. package/workers/render.bak.20260528-2338/src/tos.js +0 -72
  58. package/workers/render.bak.20260528-2338/src/worker.js +0 -40
  59. package/workers/render.bak.20260528-2338/src/wslInstaller.js +0 -1563
  60. package/workers/render.bak.20260528-2338/vite.config.js +0 -36
  61. package/workers/render.bak.20260528-2338/wrangler.toml +0 -17
@@ -1,254 +0,0 @@
1
- # cicy-desktop 整体重设计 v2 (proposal)
2
-
3
- > 写给你睡醒后看的:基于当前痛点 + 你的"团队助手"产品定位,给整套 render + team 出一个端到端 UX 提案。不动一行代码先,等你拍板再开。
4
-
5
- ---
6
-
7
- ## 当前 v1 的问题(实测下来)
8
-
9
- 1. **抽屉永远占 50% → 团队卡片被挤**
10
- 左侧 cards 在 50% 宽时只能挤 2-3 个,本地+云团队多的话拥挤。
11
- 2. **首次用户和老用户体验同一个 UI**
12
- 首次用户屏幕中央应该是"建立本地团队"的引导,老用户应该是团队 grid。同样的布局对两者都不友好。
13
- 3. **助手与团队是"邻居",不是"关系"**
14
- 抽屉里的助手与左侧团队卡片之间没有 visual continuity —— 用户不知道助手装完之后会变成谁。
15
- 4. **没有"会话"概念**
16
- 助手是聊天,但 chat history 在 webview 内部,用户切换 cards 没法保留 context。
17
- 5. **拖宽是技术解,不是产品解**
18
- 用户根本不应该手动调宽度——好产品自动适配状态。
19
-
20
- ---
21
-
22
- ## 设计哲学(三条)
23
-
24
- 1. **状态驱动布局**:屏幕 layout 由"用户处于哪个 stage"决定,不是用户拖出来的。
25
- 2. **助手是关系,不是工具**:助手不是放在右边的 chat 框,是"建立一支团队的过程"。装完后助手"长成"团队本身。
26
- 3. **团队是工作目的地**:homepage 的中心是"打开一支团队进入工作",不是"管理一堆 card"。
27
-
28
- ---
29
-
30
- ## 新 layout 三大状态
31
-
32
- ### 状态 A:首次进入(无团队 / 无本地)
33
-
34
- ```
35
- ┌─────────────────────────────────────────────────────────────┐
36
- │ CiCy Desktop ✕ ⊠ ⊟ │
37
- ├─────────────────────────────────────────────────────────────┤
38
- │ │
39
- │ 欢迎使用 CiCy │
40
- │ │
41
- │ 您还没有任何团队。从这里开始: │
42
- │ │
43
- │ ┌──────────────────────────────────────────────┐ │
44
- │ │ │ │
45
- │ │ 🤖 1 分钟创建本地团队 │ │
46
- │ │ │ │
47
- │ │ 我的云端虚拟团队小助手会全程协助您安装 │ │
48
- │ │ Docker + cicy-code,一杯咖啡时间内完成 │ │
49
- │ │ │ │
50
- │ │ [ 开始 ➜ ] [ 我有云团队 ] │ │
51
- │ │ │ │
52
- │ └──────────────────────────────────────────────┘ │
53
- │ │
54
- │ 已有 cicy 账号? [ 登录 ] │
55
- │ │
56
- └─────────────────────────────────────────────────────────────┘
57
- ```
58
-
59
- - 大 hero card 居中,单一明确动作
60
- - "开始" 直接进入状态 B(装机模式)
61
- - "我有云团队"打开 add-cloud modal
62
- - "登录"用于同步个人 settings、token、bookmarks
63
-
64
- ---
65
-
66
- ### 状态 B:装机进行中(助手主导)
67
-
68
- ```
69
- ┌─────────────────────────────────────────────────────────────┐
70
- │ CiCy Desktop · 正在创建本地团队… ✕ ⊠ ⊟ │
71
- ├─────────────────────────────────────────────────────────────┤
72
- │ │
73
- │ ╭──────────────────────╮ ╭───────────────────────────────╮│
74
- │ │ 装机进度 │ │ 🤖 团队助手 ││
75
- │ │ │ │ ││
76
- │ │ ✓ 探测网络环境 │ │ 您好,我是您的云端虚拟团队 ││
77
- │ │ ✓ 检查 Docker │ │ 小助手。我会按 7 步完成… ││
78
- │ │ ⠹ 下载 Docker (40%) │ │ ││
79
- │ │ 安装 Docker │ │ [user] 1 ││
80
- │ │ 拉取 cicy-code │ │ ││
81
- │ │ 启动容器 │ │ [agent] 开始第 1 步:探测网络 ││
82
- │ │ 验证 :8008 │ │ 速度…正在用 curl 测您本机到 ││
83
- │ │ │ │ docker.com 的速度… ││
84
- │ │ │ │ ││
85
- │ │ 预估剩余 ~5 min │ │ 您本机在 US,可以直接下载, ││
86
- │ │ │ │ 不需要挂代理。 ││
87
- │ │ ╔══════════════╗ │ │ ││
88
- │ │ ║ 60% ║ │ │ 下面我开始下载 Docker Desktop ││
89
- │ │ ╚══════════════╝ │ │ 到您 Desktop 文件夹… ││
90
- │ │ │ │ ││
91
- │ ╰──────────────────────╯ ╰───────────────────────────────╯│
92
- │ │
93
- │ [ 取消装机 ] │
94
- │ │
95
- └─────────────────────────────────────────────────────────────┘
96
- ```
97
-
98
- - 左右 50/50 split,但**只有装机进行时是这布局**
99
- - 左:**进度可视化 panel**(不是 banner 嵌在 card 里)—— 7 步实时进度,预估时间
100
- - 右:助手 chat(webview,开场协议已发,可继续对话)
101
- - 头部 title 显示 "正在创建本地团队…" —— 用户知道身处何处
102
- - 装完 → 自动切到状态 C,左侧进度面板 morph 成"本地团队卡片"
103
-
104
- ---
105
-
106
- ### 状态 C:日常使用(有团队,助手退场)
107
-
108
- ```
109
- ┌─────────────────────────────────────────────────────────────┐
110
- │ CiCy Desktop 🤖 ➜ ✕ ⊠ ⊟ │
111
- ├─────────────────────────────────────────────────────────────┤
112
- │ │
113
- │ 我的团队 │
114
- │ │
115
- │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
116
- │ │ │ │ │ │ │ │ │ │
117
- │ │ 本地 │ │ Ecommoce│ │ TeamA │ │ + 添加 │ │
118
- │ │ ✓ 在线 │ │ ✓ 在线 │ │ ⚠ 离线 │ │ │ │
119
- │ │ │ │ │ │ │ │ │ │
120
- │ │ 打开 → │ │ 打开 → │ │ 重连 │ │ │ │
121
- │ │ │ │ │ │ │ │ │ │
122
- │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
123
- │ │
124
- │ │
125
- │ 最近 (按使用时间) │
126
- │ │
127
- │ • 本地 · 5 分钟前 │
128
- │ • Ecommoce · 2 小时前 │
129
- │ │
130
- └─────────────────────────────────────────────────────────────┘
131
- ```
132
-
133
- - 团队卡片**全宽 grid**,4 列 @ 240px 卡,6 列 @ 200px 卡,自适应
134
- - "本地"卡有独特视觉(边框微亮 / 微缩 dock icon)—— 显示它是 "您建立的"
135
- - 顶部 `🤖 ➜` 按钮 —— 召唤助手抽屉(不是常驻)
136
- - 召唤后从右边滑入 320px 宽 drawer,**不是 50%**——日常 chat 不需要大画面
137
- - 助手在状态 C 也能用:续装新团队、查看团队状态、改 settings
138
-
139
- ---
140
-
141
- ## 状态切换流(status machine)
142
-
143
- ```
144
- [启动]
145
-
146
- v
147
- detect: 本地团队是否就绪?
148
- │ │
149
- 既无 cards cards 存在
150
- 也没装着 │
151
- │ v
152
- v 状态 C (日常)
153
- 状态 A │
154
- (欢迎) │ 用户点 🤖 ➜
155
- │ v
156
- 用户点 助手抽屉滑入(320px)
157
- "开始" │
158
- │ │ 用户问"装新团队"
159
- v │
160
- 状态 B ───────┘
161
- (装机中)
162
-
163
- v
164
- 装机成功?
165
-
166
- v
167
- 状态 C
168
- (左侧多了一张"本地"卡)
169
- 且首次自动打开本地团队
170
- ```
171
-
172
- ---
173
-
174
- ## 关键设计点
175
-
176
- ### 1. 装机进度本质是产品级 feedback,不是 chat 副产品
177
-
178
- 把 7 步进度做成**主面板**,agent chat 是辅助说明。哪一步在跑、卡了多久、为啥卡,用户一眼看。当前 v1 把这些信息埋在 chat 流里,用户找不着。
179
-
180
- ### 2. 助手"长成"本地团队
181
-
182
- 装完瞬间:
183
- - 状态 B 的"装机面板"动画 morph 成"本地团队卡"插进 grid
184
- - 右侧助手 chat 关掉(或 minimize 成顶部 🤖 icon)
185
- - 自动 highlight "本地"卡 + auto-open 工作区(webview swap 到 localhost:8008)
186
-
187
- 用户感受:**我请了一个助手,他给我交付了团队,现在我直接进团队工作**——闭环。
188
-
189
- ### 3. 助手是 on-demand 不是 always-on
190
-
191
- 状态 C 默认助手是隐藏的,顶部 🤖 ➜ 按钮召唤。理由:
192
- - 日常用户已经有团队了,助手用不上
193
- - 助手永远占 50% 屏幕在 disturbing
194
- - 召唤式更像 Notion 的 AI、Slack 的 Comet —— 用户主动唤起
195
-
196
- ### 4. webview iframe-style 嵌入 → SDK-style 嵌入
197
-
198
- 当前是塞个 webview 加载 helper SPA。问题:webview 是个孤岛。
199
-
200
- 未来 v3 直接:
201
- - helper 容器暴露 chat WebSocket / SSE
202
- - desktop-render 自己实现 chat UI(message bubbles, tool invocation render, file diff render)
203
- - 控制力 + 一致性 100%
204
-
205
- ### 5. 多团队 + 多账号
206
-
207
- cicy 账号登录后:
208
- - 云团队从账号同步(不是用户手动 add backend URL)
209
- - 本地团队全局有效(多账号共用同一台机器的 docker)
210
- - 助手有"账号上下文":知道你是哪个 cicy 用户、有什么 quota
211
-
212
- ---
213
-
214
- ## 组件改动清单(从产品角度)
215
-
216
- | 组件 | 当前 | 重设计 |
217
- |------|------|--------|
218
- | 顶部 topbar | drag region + brand + 工具按钮 | drag region + brand + **🤖 助手 toggle**(仅 C 态显示)+ 账号头像 |
219
- | 团队 cards | 全部混在 grid 里 | "我的团队" + "最近" 双 section |
220
- | 装机 banner | 嵌在 card 内部 | 独立 **进度面板**(B 态主面板) |
221
- | Helper drawer | 50% 常驻 | A 态:隐藏;B 态:右 50%;C 态:320px 召唤式 |
222
- | 状态机 | 无(一开始 cards + 抽屉) | A/B/C 三态明确切换 |
223
- | 首次引导 | 一个 install 按钮 | hero card + 大动作 |
224
-
225
- ---
226
-
227
- ## 实施分期建议
228
-
229
- **Phase 1(1-2 天,最有效)**:
230
- - 引入"状态 A / B / C"derive
231
- - 装机时切到 B 布局(独立进度面板 + helper 右 50%)
232
- - 装完自动切 C + 关 helper
233
- - 顶部加 🤖 ➜ 按钮
234
-
235
- **Phase 2(再 1-2 天)**:
236
- - A 态欢迎 hero
237
- - C 态团队 grid 全宽
238
- - "最近"section
239
-
240
- **Phase 3(后续)**:
241
- - helper SDK 化(自实现 chat UI 替换 webview)
242
- - 账号 + 云团队同步
243
-
244
- ---
245
-
246
- ## 关键决定要你拍板
247
-
248
- 1. **是否引入 A/B/C 状态机**(最大改动,但最值得)
249
- 2. **装机进度面板是否独立**(替换当前 banner 嵌入 card 的设计)
250
- 3. **helper 是常驻还是召唤式**(v1 常驻 / v2 召唤)
251
- 4. **首次用户是否需要 hero 引导页**(vs 直接 cards + empty state)
252
- 5. **Phase 1 优先级**:1-2 天能否接受 v2 上线
253
-
254
- 醒来发给我答复即可,我就开干。👋
@@ -1,12 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
6
- <title>CiCy Desktop</title>
7
- </head>
8
- <body>
9
- <div id="root"></div>
10
- <script type="module" src="/src/main.jsx"></script>
11
- </body>
12
- </html>