@privateclaw/privateclaw-relay 0.1.11 → 0.1.12
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.
- package/dist/provider-setup.d.ts +19 -3
- package/dist/provider-setup.js +227 -79
- package/dist/provider-setup.js.map +1 -1
- package/dist/web/assets/icon-app-store.svg +12 -0
- package/dist/web/assets/icon-google-group.svg +4 -4
- package/dist/web/assets/icon-google-play.svg +6 -0
- package/dist/web/assets/icon-linux.svg +4 -0
- package/dist/web/assets/icon-macos.svg +4 -0
- package/dist/web/assets/icon-windows.svg +3 -0
- package/dist/web/chat/index.html +3 -3
- package/dist/web/index.html +106 -11
- package/dist/web/privacy/index.html +5 -5
- package/dist/web/scripts/chat.js +1 -1
- package/dist/web/scripts/i18n.js +81 -45
- package/dist/web/scripts/policy.js +1 -1
- package/dist/web/scripts/site.js +1 -1
- package/dist/web/styles.css +78 -0
- package/dist/web/terms/index.html +5 -5
- package/package.json +1 -1
package/dist/web/index.html
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<meta name="description" content="PrivateClaw gives you beautiful, private rooms for the people you trust around one shared OpenClaw." />
|
|
8
8
|
<title>PrivateClaw</title>
|
|
9
9
|
<link rel="icon" type="image/png" href="./assets/privateclaw_app_icon.png?v=20260314-2" />
|
|
10
|
-
<link rel="stylesheet" href="./styles.css?v=
|
|
10
|
+
<link rel="stylesheet" href="./styles.css?v=20260329-2" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="marketing-page">
|
|
13
13
|
<div class="aurora aurora-a"></div>
|
|
@@ -29,15 +29,15 @@
|
|
|
29
29
|
|
|
30
30
|
<nav class="topbar-actions">
|
|
31
31
|
<a class="ghost-button icon-link" href="https://github.com/topcheer/PrivateClaw" target="_blank" rel="noreferrer">
|
|
32
|
-
<img src="./assets/icon-github.svg?v=
|
|
32
|
+
<img src="./assets/icon-github.svg?v=20260329-1" alt="" class="icon-link-image" />
|
|
33
33
|
<span class="sr-only" data-i18n="site.navGithub"></span>
|
|
34
34
|
</a>
|
|
35
35
|
<a class="ghost-button icon-link google-icon-link" href="https://groups.google.com/g/gg-studio-ai-products" target="_blank" rel="noreferrer">
|
|
36
|
-
<img src="./assets/icon-google-group.svg?v=
|
|
36
|
+
<img src="./assets/icon-google-group.svg?v=20260329-1" alt="" class="icon-link-image" />
|
|
37
37
|
<span class="sr-only" data-i18n="site.navBetaGroup"></span>
|
|
38
38
|
</a>
|
|
39
39
|
<a class="ghost-button icon-link" href="https://t.me/+W3RUKxEO9kIxMmZl" target="_blank" rel="noreferrer">
|
|
40
|
-
<img src="./assets/icon-telegram.svg?v=
|
|
40
|
+
<img src="./assets/icon-telegram.svg?v=20260329-1" alt="" class="icon-link-image" />
|
|
41
41
|
<span class="sr-only" data-i18n="site.navTelegramGroup"></span>
|
|
42
42
|
</a>
|
|
43
43
|
<label class="locale-picker" for="locale-select">
|
|
@@ -58,7 +58,12 @@
|
|
|
58
58
|
<a id="web-entry" class="primary-button" href="./chat/">
|
|
59
59
|
<span data-i18n="site.heroPrimaryCta"></span>
|
|
60
60
|
</a>
|
|
61
|
-
<a class="ghost-button" href="https://groups.google.com/g/gg-studio-ai-products" target="_blank" rel="noreferrer"
|
|
61
|
+
<a class="ghost-button button-with-icon" href="https://groups.google.com/g/gg-studio-ai-products" target="_blank" rel="noreferrer">
|
|
62
|
+
<span class="button-icon-surface" aria-hidden="true">
|
|
63
|
+
<img src="./assets/icon-google-group.svg?v=20260329-1" alt="" class="button-icon-image" />
|
|
64
|
+
</span>
|
|
65
|
+
<span data-i18n="site.heroSecondaryCta"></span>
|
|
66
|
+
</a>
|
|
62
67
|
</div>
|
|
63
68
|
|
|
64
69
|
<div class="device-hint card-inline">
|
|
@@ -69,19 +74,25 @@
|
|
|
69
74
|
<span class="coming-soon-badge" data-i18n="site.appComingSoon"></span>
|
|
70
75
|
<div class="store-button-grid">
|
|
71
76
|
<a
|
|
72
|
-
class="store-button store-button-live"
|
|
73
|
-
href="https://
|
|
77
|
+
class="store-button store-button-live store-button-rich"
|
|
78
|
+
href="https://apps.apple.com/us/app/yourclaw/id6760531637"
|
|
74
79
|
target="_blank"
|
|
75
80
|
rel="noreferrer"
|
|
76
81
|
>
|
|
82
|
+
<span class="button-icon-surface store-button-icon-surface" aria-hidden="true">
|
|
83
|
+
<img src="./assets/icon-app-store.svg?v=20260329-1" alt="" class="button-icon-image store-button-icon-image" />
|
|
84
|
+
</span>
|
|
77
85
|
<span class="store-button-label" data-i18n="site.iosComingSoon"></span>
|
|
78
86
|
</a>
|
|
79
87
|
<a
|
|
80
|
-
class="store-button store-button-live"
|
|
88
|
+
class="store-button store-button-live store-button-rich"
|
|
81
89
|
href="https://play.google.com/store/apps/details?id=gg.ai.privateclaw"
|
|
82
90
|
target="_blank"
|
|
83
91
|
rel="noreferrer"
|
|
84
92
|
>
|
|
93
|
+
<span class="button-icon-surface store-button-icon-surface" aria-hidden="true">
|
|
94
|
+
<img src="./assets/icon-google-play.svg?v=20260329-1" alt="" class="button-icon-image store-button-icon-image" />
|
|
95
|
+
</span>
|
|
85
96
|
<span class="store-button-label" data-i18n="site.androidComingSoon"></span>
|
|
86
97
|
</a>
|
|
87
98
|
</div>
|
|
@@ -126,6 +137,80 @@
|
|
|
126
137
|
<div class="scenario-grid" id="scenario-grid"></div>
|
|
127
138
|
</section>
|
|
128
139
|
|
|
140
|
+
<section class="section-block">
|
|
141
|
+
<div class="section-heading">
|
|
142
|
+
<span class="section-kicker" data-i18n="site.desktopDownloadsKicker"></span>
|
|
143
|
+
<h2 data-i18n="site.desktopDownloadsTitle"></h2>
|
|
144
|
+
<p data-i18n="site.desktopDownloadsBody"></p>
|
|
145
|
+
</div>
|
|
146
|
+
<div class="coming-soon-row">
|
|
147
|
+
<span class="coming-soon-badge badge-with-icon">
|
|
148
|
+
<span class="badge-icon-surface" aria-hidden="true">
|
|
149
|
+
<img src="./assets/icon-github.svg?v=20260329-1" alt="" class="badge-icon-image" />
|
|
150
|
+
</span>
|
|
151
|
+
<span data-i18n="site.desktopDownloadsBadge"></span>
|
|
152
|
+
</span>
|
|
153
|
+
<div class="store-button-grid">
|
|
154
|
+
<a
|
|
155
|
+
class="store-button store-button-live store-button-rich"
|
|
156
|
+
href="https://github.com/topcheer/PrivateClaw/releases/download/app-v0.1.14/PrivateClaw-v0.1.14-b70560865-windows-x64.zip"
|
|
157
|
+
target="_blank"
|
|
158
|
+
rel="noreferrer"
|
|
159
|
+
>
|
|
160
|
+
<span class="button-icon-surface store-button-icon-surface" aria-hidden="true">
|
|
161
|
+
<img src="./assets/icon-windows.svg?v=20260329-1" alt="" class="button-icon-image store-button-icon-image" />
|
|
162
|
+
</span>
|
|
163
|
+
<span class="store-button-label" data-i18n="site.desktopDownloadWindowsX64"></span>
|
|
164
|
+
</a>
|
|
165
|
+
<a
|
|
166
|
+
class="store-button store-button-live store-button-rich"
|
|
167
|
+
href="https://github.com/topcheer/PrivateClaw/releases/download/app-v0.1.14/PrivateClaw-v0.1.14-b70560865-macos-arm64.dmg"
|
|
168
|
+
target="_blank"
|
|
169
|
+
rel="noreferrer"
|
|
170
|
+
>
|
|
171
|
+
<span class="button-icon-surface store-button-icon-surface" aria-hidden="true">
|
|
172
|
+
<img src="./assets/icon-macos.svg?v=20260329-1" alt="" class="button-icon-image store-button-icon-image" />
|
|
173
|
+
</span>
|
|
174
|
+
<span class="store-button-label" data-i18n="site.desktopDownloadMacosArm64"></span>
|
|
175
|
+
</a>
|
|
176
|
+
<a
|
|
177
|
+
class="store-button store-button-live store-button-rich"
|
|
178
|
+
href="https://github.com/topcheer/PrivateClaw/releases/download/app-v0.1.14/PrivateClaw-v0.1.14-b70560865-macos-x64.dmg"
|
|
179
|
+
target="_blank"
|
|
180
|
+
rel="noreferrer"
|
|
181
|
+
>
|
|
182
|
+
<span class="button-icon-surface store-button-icon-surface" aria-hidden="true">
|
|
183
|
+
<img src="./assets/icon-macos.svg?v=20260329-1" alt="" class="button-icon-image store-button-icon-image" />
|
|
184
|
+
</span>
|
|
185
|
+
<span class="store-button-label" data-i18n="site.desktopDownloadMacosX64"></span>
|
|
186
|
+
</a>
|
|
187
|
+
<a
|
|
188
|
+
class="store-button store-button-live store-button-rich"
|
|
189
|
+
href="https://github.com/topcheer/PrivateClaw/releases/download/app-v0.1.14/PrivateClaw-v0.1.14-b70560865-linux-x64.tar.gz"
|
|
190
|
+
target="_blank"
|
|
191
|
+
rel="noreferrer"
|
|
192
|
+
>
|
|
193
|
+
<span class="button-icon-surface store-button-icon-surface" aria-hidden="true">
|
|
194
|
+
<img src="./assets/icon-linux.svg?v=20260329-1" alt="" class="button-icon-image store-button-icon-image" />
|
|
195
|
+
</span>
|
|
196
|
+
<span class="store-button-label" data-i18n="site.desktopDownloadLinuxX64"></span>
|
|
197
|
+
</a>
|
|
198
|
+
<a
|
|
199
|
+
class="store-button store-button-live store-button-rich"
|
|
200
|
+
href="https://github.com/topcheer/PrivateClaw/releases/download/app-v0.1.14/PrivateClaw-v0.1.14-b70560865-linux-arm64.tar.gz"
|
|
201
|
+
target="_blank"
|
|
202
|
+
rel="noreferrer"
|
|
203
|
+
>
|
|
204
|
+
<span class="button-icon-surface store-button-icon-surface" aria-hidden="true">
|
|
205
|
+
<img src="./assets/icon-linux.svg?v=20260329-1" alt="" class="button-icon-image store-button-icon-image" />
|
|
206
|
+
</span>
|
|
207
|
+
<span class="store-button-label" data-i18n="site.desktopDownloadLinuxArm64"></span>
|
|
208
|
+
</a>
|
|
209
|
+
</div>
|
|
210
|
+
</div>
|
|
211
|
+
<p class="community-footnote" data-i18n="site.desktopDownloadsNote"></p>
|
|
212
|
+
</section>
|
|
213
|
+
|
|
129
214
|
<section class="section-block setup-section">
|
|
130
215
|
<div class="section-heading">
|
|
131
216
|
<span class="section-kicker" data-i18n="site.setupKicker"></span>
|
|
@@ -143,8 +228,18 @@
|
|
|
143
228
|
<p data-i18n="site.betaBody"></p>
|
|
144
229
|
</div>
|
|
145
230
|
<div class="community-actions">
|
|
146
|
-
<a class="primary-button" href="https://groups.google.com/g/gg-studio-ai-products" target="_blank" rel="noreferrer"
|
|
147
|
-
|
|
231
|
+
<a class="primary-button button-with-icon" href="https://groups.google.com/g/gg-studio-ai-products" target="_blank" rel="noreferrer">
|
|
232
|
+
<span class="button-icon-surface" aria-hidden="true">
|
|
233
|
+
<img src="./assets/icon-google-group.svg?v=20260329-1" alt="" class="button-icon-image" />
|
|
234
|
+
</span>
|
|
235
|
+
<span data-i18n="site.betaPrimaryCta"></span>
|
|
236
|
+
</a>
|
|
237
|
+
<a class="ghost-button button-with-icon" href="https://t.me/+W3RUKxEO9kIxMmZl" target="_blank" rel="noreferrer">
|
|
238
|
+
<span class="button-icon-surface" aria-hidden="true">
|
|
239
|
+
<img src="./assets/icon-telegram.svg?v=20260329-1" alt="" class="button-icon-image" />
|
|
240
|
+
</span>
|
|
241
|
+
<span data-i18n="site.betaTelegramCta"></span>
|
|
242
|
+
</a>
|
|
148
243
|
<span class="community-footnote" data-i18n="site.betaFootnote"></span>
|
|
149
244
|
</div>
|
|
150
245
|
</div>
|
|
@@ -169,6 +264,6 @@
|
|
|
169
264
|
</footer>
|
|
170
265
|
</div>
|
|
171
266
|
|
|
172
|
-
<script type="module" src="./scripts/site.js?v=
|
|
267
|
+
<script type="module" src="./scripts/site.js?v=20260328-2"></script>
|
|
173
268
|
</body>
|
|
174
269
|
</html>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<meta name="description" content="PrivateClaw privacy policy." />
|
|
8
8
|
<title>PrivateClaw Privacy</title>
|
|
9
9
|
<link rel="icon" type="image/png" href="../assets/privateclaw_app_icon.png?v=20260314-2" />
|
|
10
|
-
<link rel="stylesheet" href="../styles.css?v=
|
|
10
|
+
<link rel="stylesheet" href="../styles.css?v=20260329-2" />
|
|
11
11
|
</head>
|
|
12
12
|
<body class="marketing-page policy-page" data-policy-page="privacy">
|
|
13
13
|
<div class="aurora aurora-a"></div>
|
|
@@ -29,15 +29,15 @@
|
|
|
29
29
|
|
|
30
30
|
<nav class="topbar-actions">
|
|
31
31
|
<a class="ghost-button icon-link" href="https://github.com/topcheer/PrivateClaw" target="_blank" rel="noreferrer">
|
|
32
|
-
<img src="../assets/icon-github.svg?v=
|
|
32
|
+
<img src="../assets/icon-github.svg?v=20260329-1" alt="" class="icon-link-image" />
|
|
33
33
|
<span class="sr-only" data-i18n="site.navGithub"></span>
|
|
34
34
|
</a>
|
|
35
35
|
<a class="ghost-button icon-link google-icon-link" href="https://groups.google.com/g/gg-studio-ai-products" target="_blank" rel="noreferrer">
|
|
36
|
-
<img src="../assets/icon-google-group.svg?v=
|
|
36
|
+
<img src="../assets/icon-google-group.svg?v=20260329-1" alt="" class="icon-link-image" />
|
|
37
37
|
<span class="sr-only" data-i18n="site.navBetaGroup"></span>
|
|
38
38
|
</a>
|
|
39
39
|
<a class="ghost-button icon-link" href="https://t.me/+W3RUKxEO9kIxMmZl" target="_blank" rel="noreferrer">
|
|
40
|
-
<img src="../assets/icon-telegram.svg?v=
|
|
40
|
+
<img src="../assets/icon-telegram.svg?v=20260329-1" alt="" class="icon-link-image" />
|
|
41
41
|
<span class="sr-only" data-i18n="site.navTelegramGroup"></span>
|
|
42
42
|
</a>
|
|
43
43
|
<label class="locale-picker" for="locale-select">
|
|
@@ -78,6 +78,6 @@
|
|
|
78
78
|
</footer>
|
|
79
79
|
</div>
|
|
80
80
|
|
|
81
|
-
<script type="module" src="../scripts/policy.js?v=
|
|
81
|
+
<script type="module" src="../scripts/policy.js?v=20260325-1"></script>
|
|
82
82
|
</body>
|
|
83
83
|
</html>
|
package/dist/web/scripts/chat.js
CHANGED
package/dist/web/scripts/i18n.js
CHANGED
|
@@ -9,20 +9,20 @@ const BUNDLES = {
|
|
|
9
9
|
brandTagline: "Private rooms for your OpenClaw",
|
|
10
10
|
languageLabel: "Language",
|
|
11
11
|
navGithub: "GitHub",
|
|
12
|
-
navBetaGroup: "
|
|
12
|
+
navBetaGroup: "Android test group",
|
|
13
13
|
navTelegramGroup: "Telegram group chat",
|
|
14
14
|
heroBadge: "Private • Encrypted • Invite-only",
|
|
15
15
|
heroTitle: "Bring your people into one private OpenClaw room.",
|
|
16
16
|
heroBody:
|
|
17
17
|
"PrivateClaw turns one shared OpenClaw into a beautiful private room for the people you actually trust. Scan once, join instantly, and let the relay carry ciphertext only.",
|
|
18
18
|
heroPrimaryCta: "Open web chat",
|
|
19
|
-
heroSecondaryCta: "Join
|
|
19
|
+
heroSecondaryCta: "Join Android testing",
|
|
20
20
|
heroDesktopHint:
|
|
21
21
|
"Web chat works on desktop and phone. On desktop, pasting an invite or selecting a saved QR image is usually the fastest way in.",
|
|
22
22
|
heroMobileHint:
|
|
23
23
|
"Web chat works here too, so you can open the PrivateClaw room right away from this phone.",
|
|
24
|
-
appComingSoon: "
|
|
25
|
-
iosComingSoon: "
|
|
24
|
+
appComingSoon: "iPhone App Store + Android closed alpha",
|
|
25
|
+
iosComingSoon: "Download on the App Store",
|
|
26
26
|
androidComingSoon: "Join Android closed alpha",
|
|
27
27
|
androidBetaNote:
|
|
28
28
|
"Android closed alpha is delivered through Google Play. Join the Google Group first or Play will say the test is unavailable.",
|
|
@@ -108,6 +108,18 @@ const BUNDLES = {
|
|
|
108
108
|
body: "Spin up an invite-only room when you need a focused conversation without dragging people into another public chat silo.",
|
|
109
109
|
},
|
|
110
110
|
],
|
|
111
|
+
desktopDownloadsKicker: "Desktop downloads",
|
|
112
|
+
desktopDownloadsTitle: "Download the desktop builds from GitHub for now.",
|
|
113
|
+
desktopDownloadsBody:
|
|
114
|
+
"Until the desktop store listings are ready, the current Windows, macOS, and Linux builds are published here as direct GitHub release assets.",
|
|
115
|
+
desktopDownloadsBadge: "GitHub desktop downloads",
|
|
116
|
+
desktopDownloadWindowsX64: "Windows ZIP",
|
|
117
|
+
desktopDownloadMacosArm64: "macOS Apple Silicon DMG",
|
|
118
|
+
desktopDownloadMacosX64: "macOS Intel DMG",
|
|
119
|
+
desktopDownloadLinuxX64: "Linux x64 tar.gz",
|
|
120
|
+
desktopDownloadLinuxArm64: "Linux ARM64 tar.gz",
|
|
121
|
+
desktopDownloadsNote:
|
|
122
|
+
"These links point to the latest published GitHub desktop release assets. We can switch the site over to native store links later.",
|
|
111
123
|
setupKicker: "Simple install",
|
|
112
124
|
setupTitle: "Start with one command. Keep the manual path as backup.",
|
|
113
125
|
setupBody:
|
|
@@ -118,21 +130,21 @@ const BUNDLES = {
|
|
|
118
130
|
title: "Run the one-command setup wizard",
|
|
119
131
|
body: "Use this first on a fresh machine. The wizard handles install or update, enables the plugin, confirms the command is ready, and walks you straight into pairing.",
|
|
120
132
|
commands: ["npx -y @privateclaw/privateclaw@latest"],
|
|
121
|
-
note: "The wizard will ask whether you want a single chat or group chat, then let you choose a session duration from 30 minutes to permanent.",
|
|
133
|
+
note: "The wizard will ask whether you want a single chat or group chat, then let you choose a session duration from 30 minutes to permanent. Because it comes from npm directly, it is also the fastest way to pick up a newer npm patch before ClawHub does.",
|
|
122
134
|
featured: true,
|
|
123
135
|
variant: "recommended",
|
|
124
136
|
},
|
|
125
137
|
{
|
|
126
138
|
step: "Backup",
|
|
127
139
|
title: "Manually install the plugin if you prefer",
|
|
128
|
-
body: "Choose this path only when you want to manage OpenClaw yourself or point at your own relay before pairing.
|
|
140
|
+
body: "Choose this path only when you want to manage OpenClaw yourself or point at your own relay before pairing. Keep `--dangerously-force-unsafe-install` on every manual install path. If you already have a local package directory, prefer installing that directory directly because OpenClaw 2026.3.31 can drop the unsafe-install override on archive installs.",
|
|
129
141
|
commands: [
|
|
130
|
-
"
|
|
131
|
-
"openclaw plugins install ./privateclaw-
|
|
142
|
+
"openclaw plugins install --dangerously-force-unsafe-install @privateclaw/privateclaw@latest",
|
|
143
|
+
"openclaw plugins install --dangerously-force-unsafe-install ./packages/privateclaw-provider",
|
|
132
144
|
"openclaw plugins enable privateclaw",
|
|
133
145
|
"openclaw config set plugins.entries.privateclaw.config.relayBaseUrl https://your-relay.example.com",
|
|
134
146
|
],
|
|
135
|
-
note: "Skip the relay command if you are happy with the default public relay at https://relay.privateclaw.us.
|
|
147
|
+
note: "Skip the relay command if you are happy with the default public relay at https://relay.privateclaw.us. If you intentionally install from ClawHub, also keep the flag: `openclaw plugins install --dangerously-force-unsafe-install clawhub:@privateclaw/privateclaw@latest`.",
|
|
136
148
|
variant: "fallback",
|
|
137
149
|
},
|
|
138
150
|
{
|
|
@@ -148,19 +160,19 @@ const BUNDLES = {
|
|
|
148
160
|
variant: "fallback",
|
|
149
161
|
},
|
|
150
162
|
],
|
|
151
|
-
betaKicker: "
|
|
152
|
-
betaTitle: "
|
|
163
|
+
betaKicker: "Mobile apps",
|
|
164
|
+
betaTitle: "Get YourClaw on iPhone. Join Android testing.",
|
|
153
165
|
betaBody:
|
|
154
|
-
"
|
|
155
|
-
betaPrimaryCta: "Join
|
|
166
|
+
"YourClaw is now live on the App Store for iPhone, and Android closed alpha is live on Google Play. Join the Google Group first so Google Play will admit you to the Android test.",
|
|
167
|
+
betaPrimaryCta: "Join Android test group",
|
|
156
168
|
betaTelegramCta: "Join the Telegram chat",
|
|
157
169
|
betaFootnote:
|
|
158
|
-
"Android closed alpha requires Google Group membership first.
|
|
170
|
+
"Android closed alpha still requires Google Group membership first. iPhone users can now download YourClaw on the App Store, and Telegram stays open for the early community.",
|
|
159
171
|
footerLine: "Private rooms, shared OpenClaw, and a calmer way to chat.",
|
|
160
172
|
footerDisclaimer: "PrivateClaw is independent and not affiliated with OpenClaw.",
|
|
161
173
|
footerPrivacy: "Privacy",
|
|
162
174
|
footerTerms: "Terms",
|
|
163
|
-
footerSupport: "
|
|
175
|
+
footerSupport: "Android testing updates live in the Google Group.",
|
|
164
176
|
footerCopyright: "Copyright GG AI Studio 2026.",
|
|
165
177
|
},
|
|
166
178
|
chat: {
|
|
@@ -297,18 +309,18 @@ const BUNDLES = {
|
|
|
297
309
|
brandTagline: "给 OpenClaw 的私密聊天室",
|
|
298
310
|
languageLabel: "语言",
|
|
299
311
|
navGithub: "GitHub",
|
|
300
|
-
navBetaGroup: "
|
|
312
|
+
navBetaGroup: "Android 内测群组",
|
|
301
313
|
navTelegramGroup: "Telegram 群聊",
|
|
302
314
|
heroBadge: "私密 • 加密 • 邀请制",
|
|
303
315
|
heroTitle: "把你信任的人带进同一个私密 OpenClaw 房间。",
|
|
304
316
|
heroBody:
|
|
305
317
|
"PrivateClaw 把一套共享的 OpenClaw 变成只属于你们的小房间。扫一次码就能进入,中继只负责转发密文,不读取聊天内容。",
|
|
306
318
|
heroPrimaryCta: "打开网页聊天",
|
|
307
|
-
heroSecondaryCta: "
|
|
319
|
+
heroSecondaryCta: "加入 Android 内测",
|
|
308
320
|
heroDesktopHint: "网页聊天支持桌面和手机访问。在桌面端,直接粘贴邀请或选择一张二维码截图通常是最快的进入方式。",
|
|
309
321
|
heroMobileHint: "网页聊天在手机上也完全可用,你现在就可以直接打开 PrivateClaw 房间。",
|
|
310
|
-
appComingSoon: "
|
|
311
|
-
iosComingSoon: "
|
|
322
|
+
appComingSoon: "iPhone App Store + Android 封闭 alpha",
|
|
323
|
+
iosComingSoon: "前往 App Store 下载",
|
|
312
324
|
androidComingSoon: "加入 Android 封闭 alpha",
|
|
313
325
|
androidBetaNote:
|
|
314
326
|
"Android 封闭 alpha 通过 Google Play 分发。请先加入 Google 群组,否则 Google Play 会提示你暂时无法参与测试。",
|
|
@@ -393,6 +405,18 @@ const BUNDLES = {
|
|
|
393
405
|
body: "当你需要一个短期、专注、非公开的讨论空间时,随时开一个邀请制房间。",
|
|
394
406
|
},
|
|
395
407
|
],
|
|
408
|
+
desktopDownloadsKicker: "桌面下载",
|
|
409
|
+
desktopDownloadsTitle: "桌面版本现在先从 GitHub 直接下载。",
|
|
410
|
+
desktopDownloadsBody:
|
|
411
|
+
"在桌面应用商店版本就绪之前,当前 Windows、macOS 和 Linux 构建会先以 GitHub release 资产的形式直接发布在这里。",
|
|
412
|
+
desktopDownloadsBadge: "GitHub 桌面下载",
|
|
413
|
+
desktopDownloadWindowsX64: "Windows ZIP",
|
|
414
|
+
desktopDownloadMacosArm64: "macOS Apple Silicon DMG",
|
|
415
|
+
desktopDownloadMacosX64: "macOS Intel DMG",
|
|
416
|
+
desktopDownloadLinuxX64: "Linux x64 tar.gz",
|
|
417
|
+
desktopDownloadLinuxArm64: "Linux ARM64 tar.gz",
|
|
418
|
+
desktopDownloadsNote:
|
|
419
|
+
"这些链接当前都直接指向最新一次公开的 GitHub 桌面 release 资产。后面如果上了桌面应用商店,再把这里切过去。",
|
|
396
420
|
setupKicker: "简单安装",
|
|
397
421
|
setupTitle: "先用一条命令跑起来,复杂安装留作备用。",
|
|
398
422
|
setupBody:
|
|
@@ -403,21 +427,21 @@ const BUNDLES = {
|
|
|
403
427
|
title: "先运行这一条命令",
|
|
404
428
|
body: "这是新机器上最快的方式。向导会处理安装或更新、启用插件、确认命令已经就绪,并马上进入配对流程。",
|
|
405
429
|
commands: ["npx -y @privateclaw/privateclaw@latest"],
|
|
406
|
-
note: "向导会询问你要单聊还是群聊,并让你选择会话时长:30 分钟、2/4/8/24 小时、1 周、1 个月、1
|
|
430
|
+
note: "向导会询问你要单聊还是群聊,并让你选择会话时长:30 分钟、2/4/8/24 小时、1 周、1 个月、1 年或永久。由于它直接使用 npm 包本身,所以如果 npm 上已经有比 ClawHub 更新的 patch,它也是最快拿到最新 patch 的方式。",
|
|
407
431
|
featured: true,
|
|
408
432
|
variant: "recommended",
|
|
409
433
|
},
|
|
410
434
|
{
|
|
411
435
|
step: "备用",
|
|
412
436
|
title: "如果你想自己掌控,就手动安装",
|
|
413
|
-
body: "只有在你想手工管理插件,或想一开始就指向自己的 relay
|
|
437
|
+
body: "只有在你想手工管理插件,或想一开始就指向自己的 relay 时,才使用这条路径。所有手工安装路径都请保留 `--dangerously-force-unsafe-install`。如果你手边已经有本地 package 目录,优先直接安装这个目录,因为 OpenClaw 2026.3.31 的 archive 安装分支会把 unsafe-install override 丢掉。",
|
|
414
438
|
commands: [
|
|
415
|
-
"
|
|
416
|
-
"openclaw plugins install ./privateclaw-
|
|
439
|
+
"openclaw plugins install --dangerously-force-unsafe-install @privateclaw/privateclaw@latest",
|
|
440
|
+
"openclaw plugins install --dangerously-force-unsafe-install ./packages/privateclaw-provider",
|
|
417
441
|
"openclaw plugins enable privateclaw",
|
|
418
442
|
"openclaw config set plugins.entries.privateclaw.config.relayBaseUrl https://your-relay.example.com",
|
|
419
443
|
],
|
|
420
|
-
note: "如果你直接使用默认公共 relay `https://relay.privateclaw.us
|
|
444
|
+
note: "如果你直接使用默认公共 relay `https://relay.privateclaw.us`,第四条可以跳过。如果你明确要走 ClawHub,也同样带上这个 flag:`openclaw plugins install --dangerously-force-unsafe-install clawhub:@privateclaw/privateclaw@latest`。",
|
|
421
445
|
variant: "fallback",
|
|
422
446
|
},
|
|
423
447
|
{
|
|
@@ -433,19 +457,19 @@ const BUNDLES = {
|
|
|
433
457
|
variant: "fallback",
|
|
434
458
|
},
|
|
435
459
|
],
|
|
436
|
-
betaKicker: "
|
|
437
|
-
betaTitle: "
|
|
460
|
+
betaKicker: "移动应用",
|
|
461
|
+
betaTitle: "下载 iPhone 版 YourClaw,加入 Android 内测。",
|
|
438
462
|
betaBody:
|
|
439
|
-
"
|
|
440
|
-
betaPrimaryCta: "加入
|
|
463
|
+
"YourClaw iPhone 版已经在 App Store 正式上线,Android 封闭 alpha 也已经在 Google Play 上线。想参与 Android 测试的话,请先加入 Google 群组。",
|
|
464
|
+
betaPrimaryCta: "加入 Android 内测群组",
|
|
441
465
|
betaTelegramCta: "加入 Telegram 群聊",
|
|
442
466
|
betaFootnote:
|
|
443
|
-
"Android 封闭 alpha
|
|
467
|
+
"Android 封闭 alpha 仍然需要先加入 Google Group;iPhone 用户现在可以直接在 App Store 下载 YourClaw,Telegram 交流群也持续开放。",
|
|
444
468
|
footerLine: "私密房间、共享 OpenClaw、更安静的聊天方式。",
|
|
445
469
|
footerDisclaimer: "PrivateClaw 与 OpenClaw 没有附属关系。",
|
|
446
470
|
footerPrivacy: "隐私",
|
|
447
471
|
footerTerms: "条款",
|
|
448
|
-
footerSupport: "
|
|
472
|
+
footerSupport: "Android 内测动态会发布在 Google 群组。",
|
|
449
473
|
footerCopyright: "Copyright GG AI Studio 2026.",
|
|
450
474
|
},
|
|
451
475
|
chat: {
|
|
@@ -570,18 +594,18 @@ const BUNDLES = {
|
|
|
570
594
|
brandTagline: "給 OpenClaw 的私密聊天室",
|
|
571
595
|
languageLabel: "語言",
|
|
572
596
|
navGithub: "GitHub",
|
|
573
|
-
navBetaGroup: "
|
|
597
|
+
navBetaGroup: "Android 內測群組",
|
|
574
598
|
navTelegramGroup: "Telegram 群聊",
|
|
575
599
|
heroBadge: "私密 • 加密 • 邀請制",
|
|
576
600
|
heroTitle: "把你信任的人帶進同一個私密 OpenClaw 房間。",
|
|
577
601
|
heroBody:
|
|
578
602
|
"PrivateClaw 把一套共享的 OpenClaw 變成只屬於你們的小房間。掃一次碼就能進入,中繼只負責轉送密文,不讀取聊天內容。",
|
|
579
603
|
heroPrimaryCta: "開啟網頁聊天",
|
|
580
|
-
heroSecondaryCta: "
|
|
604
|
+
heroSecondaryCta: "加入 Android 內測",
|
|
581
605
|
heroDesktopHint: "網頁聊天支援桌面與手機。在桌面端,直接貼上邀請,或選擇一張已儲存的 QR 圖片,通常是最快的進入方式。",
|
|
582
606
|
heroMobileHint: "網頁聊天在手機上也完全可用,你現在就可以直接開啟 PrivateClaw 房間。",
|
|
583
|
-
appComingSoon: "
|
|
584
|
-
iosComingSoon: "
|
|
607
|
+
appComingSoon: "iPhone App Store + Android 封閉 alpha",
|
|
608
|
+
iosComingSoon: "前往 App Store 下載",
|
|
585
609
|
androidComingSoon: "加入 Android 封閉 alpha",
|
|
586
610
|
androidBetaNote:
|
|
587
611
|
"Android 封閉 alpha 透過 Google Play 發放。請先加入 Google 群組,否則 Google Play 會顯示你目前無法參與測試。",
|
|
@@ -666,6 +690,18 @@ const BUNDLES = {
|
|
|
666
690
|
body: "當你需要一個短期、專注、非公開的討論空間時,隨時開一個邀請制房間。",
|
|
667
691
|
},
|
|
668
692
|
],
|
|
693
|
+
desktopDownloadsKicker: "桌面下載",
|
|
694
|
+
desktopDownloadsTitle: "桌面版本現在先從 GitHub 直接下載。",
|
|
695
|
+
desktopDownloadsBody:
|
|
696
|
+
"在桌面應用商店版本就緒之前,當前 Windows、macOS 和 Linux 構建會先以 GitHub release 資產的形式直接發布在這裡。",
|
|
697
|
+
desktopDownloadsBadge: "GitHub 桌面下載",
|
|
698
|
+
desktopDownloadWindowsX64: "Windows ZIP",
|
|
699
|
+
desktopDownloadMacosArm64: "macOS Apple Silicon DMG",
|
|
700
|
+
desktopDownloadMacosX64: "macOS Intel DMG",
|
|
701
|
+
desktopDownloadLinuxX64: "Linux x64 tar.gz",
|
|
702
|
+
desktopDownloadLinuxArm64: "Linux ARM64 tar.gz",
|
|
703
|
+
desktopDownloadsNote:
|
|
704
|
+
"這些連結目前都直接指向最新一次公開的 GitHub 桌面 release 資產。後面如果上了桌面應用商店,再把這裡切過去。",
|
|
669
705
|
setupKicker: "簡單安裝",
|
|
670
706
|
setupTitle: "先用一條命令跑起來,複雜安裝留作備用。",
|
|
671
707
|
setupBody:
|
|
@@ -676,21 +712,21 @@ const BUNDLES = {
|
|
|
676
712
|
title: "先執行這一條指令",
|
|
677
713
|
body: "這是新機器上最快的方式。精靈會處理安裝或更新、啟用外掛、確認指令已經就緒,並立刻進入配對流程。",
|
|
678
714
|
commands: ["npx -y @privateclaw/privateclaw@latest"],
|
|
679
|
-
note: "精靈會詢問你要單聊還是群聊,並讓你選擇會話時長:30 分鐘、2/4/8/24 小時、1 週、1 個月、1
|
|
715
|
+
note: "精靈會詢問你要單聊還是群聊,並讓你選擇會話時長:30 分鐘、2/4/8/24 小時、1 週、1 個月、1 年或永久。由於它直接使用 npm 套件本身,所以如果 npm 上已經有比 ClawHub 更新的 patch,它也是最快拿到最新 patch 的方式。",
|
|
680
716
|
featured: true,
|
|
681
717
|
variant: "recommended",
|
|
682
718
|
},
|
|
683
719
|
{
|
|
684
720
|
step: "備用",
|
|
685
721
|
title: "如果你想自己掌控,就手動安裝",
|
|
686
|
-
body: "只有在你想手動管理外掛,或想一開始就指向自己的 relay
|
|
722
|
+
body: "只有在你想手動管理外掛,或想一開始就指向自己的 relay 時,才使用這條路徑。所有手動安裝路徑都請保留 `--dangerously-force-unsafe-install`。如果你手邊已經有本地 package 目錄,優先直接安裝這個目錄,因為 OpenClaw 2026.3.31 的 archive 安裝分支會把 unsafe-install override 丟掉。",
|
|
687
723
|
commands: [
|
|
688
|
-
"
|
|
689
|
-
"openclaw plugins install ./privateclaw-
|
|
724
|
+
"openclaw plugins install --dangerously-force-unsafe-install @privateclaw/privateclaw@latest",
|
|
725
|
+
"openclaw plugins install --dangerously-force-unsafe-install ./packages/privateclaw-provider",
|
|
690
726
|
"openclaw plugins enable privateclaw",
|
|
691
727
|
"openclaw config set plugins.entries.privateclaw.config.relayBaseUrl https://your-relay.example.com",
|
|
692
728
|
],
|
|
693
|
-
note: "如果你直接使用預設公共 relay `https://relay.privateclaw.us
|
|
729
|
+
note: "如果你直接使用預設公共 relay `https://relay.privateclaw.us`,第四條可以略過。如果你明確要走 ClawHub,也同樣帶上這個 flag:`openclaw plugins install --dangerously-force-unsafe-install clawhub:@privateclaw/privateclaw@latest`。",
|
|
694
730
|
variant: "fallback",
|
|
695
731
|
},
|
|
696
732
|
{
|
|
@@ -706,19 +742,19 @@ const BUNDLES = {
|
|
|
706
742
|
variant: "fallback",
|
|
707
743
|
},
|
|
708
744
|
],
|
|
709
|
-
betaKicker: "
|
|
710
|
-
betaTitle: "
|
|
745
|
+
betaKicker: "行動應用",
|
|
746
|
+
betaTitle: "下載 iPhone 版 YourClaw,加入 Android 內測。",
|
|
711
747
|
betaBody:
|
|
712
|
-
"
|
|
713
|
-
betaPrimaryCta: "加入
|
|
748
|
+
"YourClaw iPhone 版已經在 App Store 正式上線,Android 封閉 alpha 也已經在 Google Play 上線。想參與 Android 測試的話,請先加入 Google 群組。",
|
|
749
|
+
betaPrimaryCta: "加入 Android 內測群組",
|
|
714
750
|
betaTelegramCta: "加入 Telegram 群聊",
|
|
715
751
|
betaFootnote:
|
|
716
|
-
"Android 封閉 alpha
|
|
752
|
+
"Android 封閉 alpha 仍然需要先加入 Google Group;iPhone 使用者現在可以直接在 App Store 下載 YourClaw,Telegram 群聊也持續開放。",
|
|
717
753
|
footerLine: "私密房間、共享 OpenClaw、更安靜的聊天方式。",
|
|
718
754
|
footerDisclaimer: "PrivateClaw 與 OpenClaw 沒有附屬關係。",
|
|
719
755
|
footerPrivacy: "隱私",
|
|
720
756
|
footerTerms: "條款",
|
|
721
|
-
footerSupport: "
|
|
757
|
+
footerSupport: "Android 內測動態會發佈在 Google 群組。",
|
|
722
758
|
footerCopyright: "Copyright GG AI Studio 2026.",
|
|
723
759
|
},
|
|
724
760
|
chat: {
|
package/dist/web/scripts/site.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { applyTranslations, bindLocaleSelect, getValue, onLocaleChange, t } from "./i18n.js?v=
|
|
1
|
+
import { applyTranslations, bindLocaleSelect, getValue, onLocaleChange, t } from "./i18n.js?v=20260328-2";
|
|
2
2
|
|
|
3
3
|
const localeSelect = document.getElementById("locale-select");
|
|
4
4
|
const webEntry = document.getElementById("web-entry");
|
package/dist/web/styles.css
CHANGED
|
@@ -291,10 +291,82 @@ img {
|
|
|
291
291
|
display: block;
|
|
292
292
|
}
|
|
293
293
|
|
|
294
|
+
.button-with-icon,
|
|
295
|
+
.store-button-rich,
|
|
296
|
+
.badge-with-icon {
|
|
297
|
+
gap: 12px;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.button-with-icon,
|
|
301
|
+
.store-button-rich {
|
|
302
|
+
padding-inline-start: 14px;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
.button-icon-surface,
|
|
306
|
+
.badge-icon-surface {
|
|
307
|
+
width: 34px;
|
|
308
|
+
height: 34px;
|
|
309
|
+
border-radius: 12px;
|
|
310
|
+
border: 1px solid rgba(255, 255, 255, 0.12);
|
|
311
|
+
background: rgba(255, 255, 255, 0.08);
|
|
312
|
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
|
|
313
|
+
display: inline-flex;
|
|
314
|
+
align-items: center;
|
|
315
|
+
justify-content: center;
|
|
316
|
+
flex-shrink: 0;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
.primary-button .button-icon-surface {
|
|
320
|
+
border-color: rgba(7, 16, 31, 0.12);
|
|
321
|
+
background: rgba(7, 16, 31, 0.1);
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
.button-icon-image,
|
|
325
|
+
.badge-icon-image {
|
|
326
|
+
width: 20px;
|
|
327
|
+
height: 20px;
|
|
328
|
+
display: block;
|
|
329
|
+
flex-shrink: 0;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
.store-button-icon-surface {
|
|
333
|
+
width: 38px;
|
|
334
|
+
height: 38px;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
.store-button-icon-image {
|
|
338
|
+
width: 22px;
|
|
339
|
+
height: 22px;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
.badge-with-icon {
|
|
343
|
+
gap: 10px;
|
|
344
|
+
padding-inline-start: 8px;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
.badge-icon-surface {
|
|
348
|
+
width: 28px;
|
|
349
|
+
height: 28px;
|
|
350
|
+
border-radius: 10px;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
.badge-icon-image {
|
|
354
|
+
width: 16px;
|
|
355
|
+
height: 16px;
|
|
356
|
+
}
|
|
357
|
+
|
|
294
358
|
.store-button {
|
|
295
359
|
text-decoration: none;
|
|
296
360
|
}
|
|
297
361
|
|
|
362
|
+
.store-button-rich .store-button-label {
|
|
363
|
+
font-weight: 600;
|
|
364
|
+
line-height: 1.18;
|
|
365
|
+
display: inline-flex;
|
|
366
|
+
align-items: center;
|
|
367
|
+
min-height: 40px;
|
|
368
|
+
}
|
|
369
|
+
|
|
298
370
|
.store-button:not(.store-button-live) {
|
|
299
371
|
cursor: not-allowed;
|
|
300
372
|
opacity: 0.72;
|
|
@@ -681,6 +753,12 @@ img {
|
|
|
681
753
|
font-size: 0.92rem;
|
|
682
754
|
}
|
|
683
755
|
|
|
756
|
+
.coming-soon-row > .community-footnote,
|
|
757
|
+
.community-actions > .community-footnote {
|
|
758
|
+
flex: 1 1 100%;
|
|
759
|
+
margin: 0;
|
|
760
|
+
}
|
|
761
|
+
|
|
684
762
|
.footer-copy {
|
|
685
763
|
display: flex;
|
|
686
764
|
flex-direction: column;
|