ccnew 0.1.10

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 (62) hide show
  1. package/README.md +107 -0
  2. package/build/icon.ico +0 -0
  3. package/build/icon.png +0 -0
  4. package/core/apply.js +152 -0
  5. package/core/backup.js +53 -0
  6. package/core/constants.js +78 -0
  7. package/core/desktop-service.js +403 -0
  8. package/core/desktop-state.js +1021 -0
  9. package/core/index.js +1468 -0
  10. package/core/paths.js +99 -0
  11. package/core/presets.js +171 -0
  12. package/core/probe.js +70 -0
  13. package/core/routing.js +334 -0
  14. package/core/store.js +218 -0
  15. package/core/utils.js +225 -0
  16. package/core/writers/codex.js +102 -0
  17. package/core/writers/index.js +16 -0
  18. package/core/writers/openclaw.js +93 -0
  19. package/core/writers/opencode.js +91 -0
  20. package/desktop/assets/fml-icon.png +0 -0
  21. package/desktop/assets/march-mark.svg +26 -0
  22. package/desktop/main.js +275 -0
  23. package/desktop/preload.cjs +67 -0
  24. package/desktop/preload.js +49 -0
  25. package/desktop/renderer/app.js +327 -0
  26. package/desktop/renderer/index.html +130 -0
  27. package/desktop/renderer/styles.css +490 -0
  28. package/package.json +111 -0
  29. package/scripts/build-web.mjs +95 -0
  30. package/scripts/desktop-dev.mjs +90 -0
  31. package/scripts/desktop-pack-win.mjs +81 -0
  32. package/scripts/postinstall.mjs +49 -0
  33. package/scripts/prepublish-check.mjs +57 -0
  34. package/scripts/serve-site.mjs +51 -0
  35. package/site/app.js +10 -0
  36. package/site/assets/fml-icon.png +0 -0
  37. package/site/assets/march-mark.svg +26 -0
  38. package/site/index.html +337 -0
  39. package/site/styles.css +840 -0
  40. package/src/App.tsx +1557 -0
  41. package/src/components/layout/app-sidebar.tsx +103 -0
  42. package/src/components/layout/top-toolbar.tsx +44 -0
  43. package/src/components/layout/workspace-tabs.tsx +32 -0
  44. package/src/components/providers/inspector-panel.tsx +84 -0
  45. package/src/components/providers/metric-strip.tsx +26 -0
  46. package/src/components/providers/provider-editor.tsx +87 -0
  47. package/src/components/providers/provider-table.tsx +85 -0
  48. package/src/components/ui/logo-mark.tsx +32 -0
  49. package/src/features/mcp/mcp-view.tsx +45 -0
  50. package/src/features/prompts/prompts-view.tsx +40 -0
  51. package/src/features/providers/providers-view.tsx +40 -0
  52. package/src/features/providers/types.ts +26 -0
  53. package/src/features/skills/skills-view.tsx +44 -0
  54. package/src/hooks/use-control-workspace.ts +235 -0
  55. package/src/index.css +22 -0
  56. package/src/lib/client.ts +726 -0
  57. package/src/lib/query-client.ts +3 -0
  58. package/src/lib/workspace-sections.ts +34 -0
  59. package/src/main.tsx +14 -0
  60. package/src/types.ts +137 -0
  61. package/src/vite-env.d.ts +64 -0
  62. package/src-tauri/README.md +11 -0
@@ -0,0 +1,337 @@
1
+ <!doctype html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>ccon | 下载与界面预览</title>
7
+ <meta
8
+ name="description"
9
+ content="ccon 是一个面向 Codex、OpenCode 与 OpenClaw 的统一配置桌面端,支持一键接入 www.fhl.mom。"
10
+ />
11
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
12
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
13
+ <link
14
+ href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;700&display=swap"
15
+ rel="stylesheet"
16
+ />
17
+ <link rel="stylesheet" href="./styles.css" />
18
+ </head>
19
+ <body>
20
+ <div class="page-shell">
21
+ <header class="topbar">
22
+ <a class="brand" href="#hero" aria-label="ccon">
23
+ <img src="./assets/fml-icon.png" alt="ccon" />
24
+ <span class="brand-copy">
25
+ <strong>ccon</strong>
26
+ <em>Relay Desktop</em>
27
+ </span>
28
+ </a>
29
+
30
+ <nav class="topnav">
31
+ <a href="#preview">界面预览</a>
32
+ <a href="#download">下载</a>
33
+ <a href="#features">功能</a>
34
+ <a href="#faq">FAQ</a>
35
+ </nav>
36
+
37
+ <a class="top-cta" href="#download">立即下载</a>
38
+ </header>
39
+
40
+ <main>
41
+ <section class="hero" id="hero">
42
+ <div class="hero-copy">
43
+ <div class="hero-eyebrow">
44
+ <span class="eyebrow-dot"></span>
45
+ <span>ccon Relay Workspace</span>
46
+ </div>
47
+ <h1>客户只装一个包,只记一条命令。</h1>
48
+ <p>
49
+ 客户安装 <code>ccon</code> 后执行 <code>ccon fhl</code>,默认就会把 Codex、OpenCode 接到
50
+ <code>https://www.fhl.mom</code>,OpenClaw 走 <code>https://www.fhl.mom/v1</code>,并按
51
+ <code>gmn1</code> 的交互逻辑选择要配置的平台。
52
+ </p>
53
+
54
+ <div class="hero-actions">
55
+ <a class="button primary" href="#download">下载桌面端</a>
56
+ <a class="button secondary" href="#preview">看桌面预览</a>
57
+ </div>
58
+
59
+ <ul class="hero-metrics" aria-label="核心指标">
60
+ <li>
61
+ <strong>2</strong>
62
+ <span>客户记忆命令</span>
63
+ </li>
64
+ <li>
65
+ <strong>3</strong>
66
+ <span>支持客户端</span>
67
+ </li>
68
+ <li>
69
+ <strong>www.fhl.mom</strong>
70
+ <span>默认主线路</span>
71
+ </li>
72
+ </ul>
73
+
74
+ <div class="command-strip" aria-label="Quick Start Commands">
75
+ <code>npm i -g ccon</code>
76
+ <code>ccon fhl</code>
77
+ </div>
78
+ </div>
79
+
80
+ <div class="hero-console">
81
+ <div class="hero-console-grid">
82
+ <article class="console-metric">
83
+ <span class="hero-card-label">Main Route</span>
84
+ <strong>https://www.fhl.mom</strong>
85
+ <p>Codex / OpenCode 默认走主线路,OpenClaw 使用 <code>https://www.fhl.mom/v1</code>。</p>
86
+ </article>
87
+
88
+ <article class="console-metric">
89
+ <span class="hero-card-label">Quick Setup</span>
90
+ <strong>ccon fhl</strong>
91
+ <p>默认勾选 Codex + OpenCode,OpenClaw 保持可选,不再全部强塞进去。</p>
92
+ </article>
93
+ </div>
94
+
95
+ <article class="hero-terminal">
96
+ <div class="terminal-head">
97
+ <div class="terminal-lights">
98
+ <span></span>
99
+ <span></span>
100
+ <span></span>
101
+ </div>
102
+ <small>ccon / Quick Flow</small>
103
+ </div>
104
+
105
+ <div class="terminal-lines">
106
+ <div class="terminal-line prompt">$ npm i -g ccon</div>
107
+ <div class="terminal-line prompt">$ ccon fhl</div>
108
+ <div class="terminal-line note">[x] Codex [x] OpenCode [ ] OpenClaw</div>
109
+ <div class="terminal-line success">route ready -> https://www.fhl.mom</div>
110
+ </div>
111
+
112
+ <div class="hero-card-tags">
113
+ <span>Codex</span>
114
+ <span>OpenCode</span>
115
+ <span>OpenClaw</span>
116
+ </div>
117
+ </article>
118
+ </div>
119
+ </section>
120
+
121
+ <section class="preview-shell" id="preview">
122
+ <div class="preview-head">
123
+ <div>
124
+ <span class="eyebrow">Desktop Preview</span>
125
+ <h2>参考 OpenClaw 的首页结构,把入口、状态和操作收进同一层产品卡。</h2>
126
+ </div>
127
+ <p>首屏先把品牌、主线路和动作讲清楚,下面再展开 Provider、测速和下载区,避免做成一张脚本说明页。</p>
128
+ </div>
129
+
130
+ <div class="app-frame">
131
+ <aside class="sidebar">
132
+ <div class="sidebar-brand">
133
+ <img src="./assets/march-mark.svg" alt="" />
134
+ <div>
135
+ <strong>ccon</strong>
136
+ <span>Relay Desktop</span>
137
+ </div>
138
+ </div>
139
+
140
+ <div class="sidebar-section">
141
+ <span class="sidebar-label">Workspace</span>
142
+ <a class="nav-item active" href="#preview">概览</a>
143
+ <a class="nav-item" href="#features">客户端</a>
144
+ <a class="nav-item" href="#download">下载中心</a>
145
+ <a class="nav-item" href="#faq">帮助</a>
146
+ </div>
147
+
148
+ <div class="sidebar-section sidebar-foot">
149
+ <span class="sidebar-label">Quick Switch</span>
150
+ <div class="mini-provider">
151
+ <strong>fhl / gpt-5.4</strong>
152
+ <span>Workspace trusted</span>
153
+ </div>
154
+ </div>
155
+ </aside>
156
+
157
+ <section class="workspace">
158
+ <div class="workspace-header">
159
+ <div>
160
+ <span class="eyebrow">Desktop Preview</span>
161
+ <h2>用一个界面管理所有 CLI 配置</h2>
162
+ </div>
163
+
164
+ <div class="header-actions">
165
+ <button type="button">导入配置</button>
166
+ <button type="button" class="solid">新增 Provider</button>
167
+ </div>
168
+ </div>
169
+
170
+ <div class="workspace-grid">
171
+ <article class="panel panel-highlight">
172
+ <div class="panel-head">
173
+ <div>
174
+ <span class="panel-kicker">Provider Matrix</span>
175
+ <h3>命令更短,状态更清楚,整体像正式产品而不是脚本壳。</h3>
176
+ </div>
177
+ <span class="panel-badge">Active</span>
178
+ </div>
179
+
180
+ <div class="provider-list">
181
+ <div class="provider-card active">
182
+ <strong>FHL Relay</strong>
183
+ <span>https://www.fhl.mom</span>
184
+ <small>Codex / OpenCode / OpenClaw</small>
185
+ </div>
186
+ <div class="provider-card">
187
+ <strong>OpenAI Official</strong>
188
+ <span>api.openai.com</span>
189
+ <small>Fallback Provider</small>
190
+ </div>
191
+ <div class="provider-card">
192
+ <strong>Team Workspace</strong>
193
+ <span>workspace relay</span>
194
+ <small>Shared MCP profile</small>
195
+ </div>
196
+ </div>
197
+ </article>
198
+
199
+ <article class="panel">
200
+ <div class="panel-head">
201
+ <div>
202
+ <span class="panel-kicker">Health Check</span>
203
+ <h3>线路速度</h3>
204
+ </div>
205
+ </div>
206
+
207
+ <div class="speed-table">
208
+ <div class="row">
209
+ <span>GPT-5.4</span>
210
+ <strong>86 ms</strong>
211
+ </div>
212
+ <div class="row">
213
+ <span>GPT-5.3-Codex</span>
214
+ <strong>94 ms</strong>
215
+ </div>
216
+ <div class="row">
217
+ <span>OpenClaw /v1</span>
218
+ <strong>102 ms</strong>
219
+ </div>
220
+ </div>
221
+ </article>
222
+
223
+ <article class="panel">
224
+ <div class="panel-head">
225
+ <div>
226
+ <span class="panel-kicker">Client Status</span>
227
+ <h3>客户端覆盖</h3>
228
+ </div>
229
+ </div>
230
+
231
+ <div class="client-stack">
232
+ <div class="chip">Codex</div>
233
+ <div class="chip">OpenCode</div>
234
+ <div class="chip">OpenClaw</div>
235
+ </div>
236
+
237
+ <p class="panel-note">
238
+ 参考 OpenClaw 的深色产品化语言,把入口、状态和下载动作收在同一层视觉里。
239
+ </p>
240
+ </article>
241
+
242
+ <article class="panel panel-download" id="download">
243
+ <div class="panel-head">
244
+ <div>
245
+ <span class="panel-kicker">Download Center</span>
246
+ <h3>网站上直接下载</h3>
247
+ </div>
248
+ </div>
249
+
250
+ <div class="download-grid">
251
+ <a class="download-card active" data-platform="windows" href="/downloads/ccon-windows-x64.exe">
252
+ <strong>Windows x64</strong>
253
+ <span>.exe Installer</span>
254
+ <small>推荐首发版本</small>
255
+ </a>
256
+ <a class="download-card" data-platform="macos" href="/downloads/ccon-macos.dmg">
257
+ <strong>macOS</strong>
258
+ <span>.dmg Installer</span>
259
+ <small>Apple Silicon / Intel</small>
260
+ </a>
261
+ <a class="download-card" data-platform="linux" href="/downloads/ccon-linux.AppImage">
262
+ <strong>Linux</strong>
263
+ <span>.AppImage</span>
264
+ <small>无需额外安装器</small>
265
+ </a>
266
+ </div>
267
+ </article>
268
+ </div>
269
+ </section>
270
+ </div>
271
+ </section>
272
+
273
+ <section class="feature-strip" id="features">
274
+ <article>
275
+ <span>01</span>
276
+ <h3>桌面级导航</h3>
277
+ <p>固定左侧栏、信息分层清楚,适合做成真正的客户端,而不是一页堆满按钮。</p>
278
+ </article>
279
+ <article>
280
+ <span>02</span>
281
+ <h3>下载页可直接上线</h3>
282
+ <p>首页就有平台下载卡片、版本位和发布说明入口,别人点进网站就能拿到安装包。</p>
283
+ </article>
284
+ <article>
285
+ <span>03</span>
286
+ <h3>品牌露出统一</h3>
287
+ <p>外显品牌统一到 ccon,命令入口和桌面名称保持一致,观感更完整。</p>
288
+ </article>
289
+ </section>
290
+
291
+ <section class="details">
292
+ <article class="detail-card">
293
+ <span class="eyebrow">Visual Direction</span>
294
+ <h2>不是照抄别人,而是借 OpenClaw 的信息编排做出自己的产品语言。</h2>
295
+ <p>
296
+ 我保留了桌面管理器该有的结构感和信息密度,但把首屏入口、主线路、命令和状态收进同一个 hero
297
+ 卡面里,观感更像完整产品。
298
+ </p>
299
+ </article>
300
+
301
+ <article class="detail-card accent">
302
+ <span class="eyebrow">Next Step</span>
303
+ <h2>下一步可以直接接真实下载链接和版本数据。</h2>
304
+ <p>
305
+ 现在下载按钮已经按正式站结构预留好了,只要把 `/downloads/...`
306
+ 接到你的安装包或 release 资源,就能直接上站。
307
+ </p>
308
+ </article>
309
+ </section>
310
+
311
+ <section class="faq" id="faq">
312
+ <div class="section-title">
313
+ <span class="eyebrow">FAQ</span>
314
+ <h2>你接下来最可能要改的地方</h2>
315
+ </div>
316
+
317
+ <div class="faq-list">
318
+ <article>
319
+ <h3>这个页面现在能直接部署吗?</h3>
320
+ <p>可以。这是一套纯静态页面,丢到任意静态站点或 CDN 都能跑。</p>
321
+ </article>
322
+ <article>
323
+ <h3>下载按钮现在是真包吗?</h3>
324
+ <p>现在是正式下载路径占位,等你把安装包放到对应目录或 release 即可直接生效。</p>
325
+ </article>
326
+ <article>
327
+ <h3>能继续扩成真正桌面客户端吗?</h3>
328
+ <p>可以。这个视觉结构已经适合往 Tauri / Electron 的真实应用界面继续扩。</p>
329
+ </article>
330
+ </div>
331
+ </section>
332
+ </main>
333
+ </div>
334
+
335
+ <script src="./app.js" type="module"></script>
336
+ </body>
337
+ </html>