openclaw-rocketchat 0.7.7 → 0.7.9

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/README.en.md CHANGED
@@ -1,184 +1,184 @@
1
- <div align="center">
2
-
3
- # 🦞 openclaw-rocketchat
4
-
5
- **The Missing Channel for OpenClaw Users in China**
6
-
7
- [![npm version](https://img.shields.io/npm/v/openclaw-rocketchat?color=red)](https://www.npmjs.com/package/openclaw-rocketchat)
8
- [![license](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
9
- [![GitHub](https://img.shields.io/badge/GitHub-Kxiandaoyan%2Fopenclaw--rocketchat-blue?logo=github)](https://github.com/Kxiandaoyan/openclaw-rocketchat)
10
- [![Node.js](https://img.shields.io/badge/node-%3E%3D22-green.svg)](https://nodejs.org/)
11
- [![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue.svg)](https://www.typescriptlang.org/)
12
-
13
- [中文](./README.md) | **English**
14
-
15
- ---
16
-
17
- **Chat with your OpenClaw AI via Rocket.Chat App**
18
- **Dedicated Space · Dedicated Notifications · Self-Hosted · No VPN Required**
19
-
20
- </div>
21
-
22
- > **📖 Docs:** [Guide](docs/GUIDE.en.md) · [FAQ](docs/FAQ.en.md) · [Configuration](docs/CONFIGURATION.en.md) · [Architecture](docs/ARCHITECTURE.en.md) · [Security](docs/SECURITY.en.md)
23
-
24
- ---
25
-
26
- ## The Problem
27
-
28
- OpenClaw supports Telegram, WhatsApp, Discord, and 10+ other messaging platforms. Users worldwide can chat with their AI assistants through their favorite apps.
29
-
30
- **But what about users in mainland China?**
31
-
32
- - Telegram — blocked by the Great Firewall
33
- - WhatsApp — requires a foreign phone number
34
- - Discord — completely inaccessible
35
- - Feishu (Lark) — complex setup, requires enterprise account
36
-
37
- And there's a deeper problem: **even if these platforms work, your AI conversations get buried in social noise** — friend messages, group chats, channel updates. Important AI responses disappear in the flood.
38
-
39
- ## The Solution
40
-
41
- > **What is Rocket.Chat?** [Rocket.Chat](https://www.rocket.chat/) is the world's largest open-source enterprise messaging platform, used by 12M+ users globally. Think of it as a self-hosted Slack/Teams you can run on your own server — polished UI, full-featured, multi-platform (phone/desktop/web), and downloadable from China's App Store.
42
-
43
- This plugin connects OpenClaw to **Rocket.Chat**. One command to deploy. Three steps to start chatting. **Your AI data never passes through third parties.**
44
-
45
- ## Ten Advantages
46
-
47
- - 🏠 **Dedicated AI Workspace** — Open Rocket.Chat and see only your AI assistants, no social noise
48
- - 🔔 **Dedicated Push Notifications** — AI messages aren't buried in other app notifications
49
- - 🔐 **Complete Data Sovereignty** — Messages stay on your server, never touch third parties
50
- - 🇨🇳 **Works Perfectly in China** — Direct App Store download, no VPN, auto free domain + HTTPS cert
51
- - ⚡ **One-Command Deployment** — Interactive wizard handles Docker, accounts, and config in one go
52
- - 🤖 **Multi-Agent, Multi-Bot** — Each Agent maps to a dedicated Rocket.Chat bot
53
- - 👥 **Team Collaboration** — Share AI across your whole team in the same group
54
- - 🔒 **Fine-Grained Permissions** — Full access / read-only roles for different team members
55
- - 📱 **Cross-Platform** — iOS, Android, macOS, Windows, Linux, Web — real-time sync across all devices
56
- - 🆓 **Free & Open Source** — MIT license, no subscriptions, no message limits, no vendor lock-in
57
-
58
- ### Technical Features (v0.7.1)
59
-
60
- | Feature | Description |
61
- |---------|-------------|
62
- | Typing Indicator | Shows "typing..." on phone while the Agent is thinking |
63
- | Threaded Replies | Agent replies are linked to the corresponding message thread |
64
- | Group History Context | When @mentioned, Agent sees recent group conversation for context |
65
- | Sender Identity | Agent distinguishes who is speaking in group chats |
66
- | Media File Upload | Agent-sent images/files are actually uploaded to Rocket.Chat |
67
- | @Mention State | Correctly passes `WasMentioned` field, matching official channel behavior |
68
- | authToken Compat | Auto-compatible with legacy credential format, no re-add needed |
69
- | One-Click Upgrade | `openclaw rocketchat upgrade` auto backup/restore config |
70
- | Security Hardening | Install script auto-generates strong random admin password, eliminating `admin/admin` risk |
71
- | Install Info Persistence | Install info saved to `.rc-info`, setup auto-reads it — zero manual input |
72
-
73
- ## Comparison
74
-
75
- | | Feishu | Telegram | WhatsApp | This Plugin |
76
- |---|---|---|---|---|
77
- | **China Available** | ✅ | ❌ VPN needed | ❌ Foreign # needed | ✅ |
78
- | **Setup Complexity** | 🔴 High | 🔴 High | 🔴 High | 🟢 One command |
79
- | **Data Privacy** | 🟡 Via 3rd party | 🟡 Via 3rd party | 🟡 Via 3rd party | 🟢 Fully local |
80
- | **Multi-User Team** | Enterprise only | ❌ | ❌ | ✅ One deploy for all |
81
- | **Free & Open Source** | ❌ | ❌ | ❌ | ✅ MIT |
82
-
83
- > Full comparison table at [docs/ARCHITECTURE.en.md](docs/ARCHITECTURE.en.md)
84
-
85
- ## Quick Start (3 Steps)
86
-
87
- > **Full walkthrough with terminal output examples: [Usage Guide](docs/GUIDE.en.md)**
88
-
89
- ### Step 1: Deploy Rocket.Chat
90
-
91
- ```bash
92
- curl -fsSL https://raw.githubusercontent.com/Kxiandaoyan/openclaw-rocketchat/master/install-rc.sh | bash
93
- ```
94
-
95
- The script auto-handles Docker deployment, free domain, and HTTPS certificate.
96
-
97
- ### Step 2: Install Plugin + Configure
98
-
99
- ```bash
100
- openclaw plugins install openclaw-rocketchat
101
- openclaw rocketchat setup
102
- ```
103
-
104
- Interactive wizard guides you through connection and account creation. On the same machine, it auto-detects install info.
105
-
106
- ### Step 3: Add an AI Bot
107
-
108
- ```bash
109
- openclaw rocketchat add-bot
110
- ```
111
-
112
- Type a bot name, pick an Agent, done.
113
-
114
- ### Step 4: Download Rocket.Chat on Your Phone, Start Chatting
115
-
116
- 1. Search **"Rocket.Chat"** on App Store / Google Play
117
- 2. Open the app, enter server address (e.g. `https://123-45-67-89.sslip.io`)
118
- 3. Login with your credentials from Step 2
119
- 4. Find your bot and start chatting!
120
-
121
- ### 📱 Mobile App Screenshots
122
-
123
- | Step | Screenshot |
124
- |------|-----------|
125
- | Open App, enter server URL | <img src="images/1.jpg" width="280"> |
126
- | Tap Connect to reach login | <img src="images/2.jpg" width="280"> |
127
- | Conversation list after login | <img src="images/3.jpg" width="280"> |
128
- | Chat with your AI bot | <img src="images/4.jpg" width="280"> |
129
-
130
- > **Highlight**: Code blocks in AI replies are **automatically syntax-highlighted and beautifully formatted** in Rocket.Chat App — unlike WeChat/DingTalk/Slack where code gets squished into unreadable blobs. A much better experience for developers and technical users.
131
-
132
- ## Commands
133
-
134
- | Command | Description |
135
- |---|---|
136
- | `openclaw rocketchat setup` | Connect to Rocket.Chat + create admin + create phone account |
137
- | `openclaw rocketchat add-bot` | Add bot + bind Agent + create DM |
138
- | `openclaw rocketchat add-group` | Create private channel (multi-bot group) |
139
- | `openclaw rocketchat add-user` | Add phone login user |
140
- | `openclaw rocketchat remove-user` | Remove phone login user |
141
- | `openclaw rocketchat invite` | Manage group members |
142
- | `openclaw rocketchat status` | View running status |
143
- | `openclaw rocketchat upgrade` | **One-click upgrade (auto backup/restore config)** |
144
- | `openclaw rocketchat uninstall` | Uninstall |
145
-
146
- All commands are **interactive** — no flags to memorize, just follow the prompts.
147
-
148
- ## Documentation
149
-
150
- | Document | Content |
151
- |----------|---------|
152
- | [Usage Guide](docs/GUIDE.en.md) | Full step-by-step walkthrough, terminal output examples, remote deployment, user management |
153
- | [FAQ](docs/FAQ.en.md) | Registration disabled, upgrades, reset, Docker commands, certificates, push notifications |
154
- | [Configuration](docs/CONFIGURATION.en.md) | Full parameter tables, JSON example, manual editing, full reset |
155
- | [Architecture](docs/ARCHITECTURE.en.md) | Full comparison table, architecture diagrams, tech stack |
156
- | [Security](docs/SECURITY.en.md) | Password security, credential storage, backup/restore, file permissions |
157
-
158
- ## Contributing
159
-
160
- Contributions welcome! Whether it's bug reports, feature suggestions, or code:
161
-
162
- 1. Fork this repository
163
- 2. Create your branch (`git checkout -b feature/amazing`)
164
- 3. Commit changes (`git commit -m 'Add amazing feature'`)
165
- 4. Push to remote (`git push origin feature/amazing`)
166
- 5. Create a Pull Request
167
-
168
- ## License
169
-
170
- [MIT](LICENSE) — Free to use, free to modify.
171
-
172
- ---
173
-
174
- <div align="center">
175
-
176
- **If this plugin helps you, please give it a Star ⭐**
177
-
178
- **Every Star shows support for the Chinese developer community 🇨🇳**
179
-
180
- [![Star History Chart](https://api.star-history.com/svg?repos=Kxiandaoyan/openclaw-rocketchat&type=Date)](https://star-history.com/#Kxiandaoyan/openclaw-rocketchat&Date)
181
-
182
- *Making AI assistants accessible to every user in China*
183
-
184
- </div>
1
+ <div align="center">
2
+
3
+ # 🦞 openclaw-rocketchat
4
+
5
+ **The Missing Channel for OpenClaw Users in China**
6
+
7
+ [![npm version](https://img.shields.io/npm/v/openclaw-rocketchat?color=red)](https://www.npmjs.com/package/openclaw-rocketchat)
8
+ [![license](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
9
+ [![GitHub](https://img.shields.io/badge/GitHub-Kxiandaoyan%2Fopenclaw--rocketchat-blue?logo=github)](https://github.com/Kxiandaoyan/openclaw-rocketchat)
10
+ [![Node.js](https://img.shields.io/badge/node-%3E%3D22-green.svg)](https://nodejs.org/)
11
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue.svg)](https://www.typescriptlang.org/)
12
+
13
+ [中文](./README.md) | **English**
14
+
15
+ ---
16
+
17
+ **Chat with your OpenClaw AI via Rocket.Chat App**
18
+ **Dedicated Space · Dedicated Notifications · Self-Hosted · No VPN Required**
19
+
20
+ </div>
21
+
22
+ > **📖 Docs:** [Guide](docs/GUIDE.en.md) · [FAQ](docs/FAQ.en.md) · [Configuration](docs/CONFIGURATION.en.md) · [Architecture](docs/ARCHITECTURE.en.md) · [Security](docs/SECURITY.en.md)
23
+
24
+ ---
25
+
26
+ ## The Problem
27
+
28
+ OpenClaw supports Telegram, WhatsApp, Discord, and 10+ other messaging platforms. Users worldwide can chat with their AI assistants through their favorite apps.
29
+
30
+ **But what about users in mainland China?**
31
+
32
+ - Telegram — blocked by the Great Firewall
33
+ - WhatsApp — requires a foreign phone number
34
+ - Discord — completely inaccessible
35
+ - Feishu (Lark) — complex setup, requires enterprise account
36
+
37
+ And there's a deeper problem: **even if these platforms work, your AI conversations get buried in social noise** — friend messages, group chats, channel updates. Important AI responses disappear in the flood.
38
+
39
+ ## The Solution
40
+
41
+ > **What is Rocket.Chat?** [Rocket.Chat](https://www.rocket.chat/) is the world's largest open-source enterprise messaging platform, used by 12M+ users globally. Think of it as a self-hosted Slack/Teams you can run on your own server — polished UI, full-featured, multi-platform (phone/desktop/web), and downloadable from China's App Store.
42
+
43
+ This plugin connects OpenClaw to **Rocket.Chat**. One command to deploy. Three steps to start chatting. **Your AI data never passes through third parties.**
44
+
45
+ ## Ten Advantages
46
+
47
+ - 🏠 **Dedicated AI Workspace** — Open Rocket.Chat and see only your AI assistants, no social noise
48
+ - 🔔 **Dedicated Push Notifications** — AI messages aren't buried in other app notifications
49
+ - 🔐 **Complete Data Sovereignty** — Messages stay on your server, never touch third parties
50
+ - 🇨🇳 **Works Perfectly in China** — Direct App Store download, no VPN, auto free domain + HTTPS cert
51
+ - ⚡ **One-Command Deployment** — Interactive wizard handles Docker, accounts, and config in one go
52
+ - 🤖 **Multi-Agent, Multi-Bot** — Each Agent maps to a dedicated Rocket.Chat bot
53
+ - 👥 **Team Collaboration** — Share AI across your whole team in the same group
54
+ - 🔒 **Fine-Grained Permissions** — Full access / read-only roles for different team members
55
+ - 📱 **Cross-Platform** — iOS, Android, macOS, Windows, Linux, Web — real-time sync across all devices
56
+ - 🆓 **Free & Open Source** — MIT license, no subscriptions, no message limits, no vendor lock-in
57
+
58
+ ### Technical Features (v0.7.1)
59
+
60
+ | Feature | Description |
61
+ |---------|-------------|
62
+ | Typing Indicator | Shows "typing..." on phone while the Agent is thinking |
63
+ | Threaded Replies | Agent replies are linked to the corresponding message thread |
64
+ | Group History Context | When @mentioned, Agent sees recent group conversation for context |
65
+ | Sender Identity | Agent distinguishes who is speaking in group chats |
66
+ | Media File Upload | Agent-sent images/files are actually uploaded to Rocket.Chat |
67
+ | @Mention State | Correctly passes `WasMentioned` field, matching official channel behavior |
68
+ | authToken Compat | Auto-compatible with legacy credential format, no re-add needed |
69
+ | One-Click Upgrade | `openclaw rocketchat upgrade` auto backup/restore config |
70
+ | Security Hardening | Install script auto-generates strong random admin password, eliminating `admin/admin` risk |
71
+ | Install Info Persistence | Install info saved to `.rc-info`, setup auto-reads it — zero manual input |
72
+
73
+ ## Comparison
74
+
75
+ | | Feishu | Telegram | WhatsApp | This Plugin |
76
+ |---|---|---|---|---|
77
+ | **China Available** | ✅ | ❌ VPN needed | ❌ Foreign # needed | ✅ |
78
+ | **Setup Complexity** | 🔴 High | 🔴 High | 🔴 High | 🟢 One command |
79
+ | **Data Privacy** | 🟡 Via 3rd party | 🟡 Via 3rd party | 🟡 Via 3rd party | 🟢 Fully local |
80
+ | **Multi-User Team** | Enterprise only | ❌ | ❌ | ✅ One deploy for all |
81
+ | **Free & Open Source** | ❌ | ❌ | ❌ | ✅ MIT |
82
+
83
+ > Full comparison table at [docs/ARCHITECTURE.en.md](docs/ARCHITECTURE.en.md)
84
+
85
+ ## Quick Start (3 Steps)
86
+
87
+ > **Full walkthrough with terminal output examples: [Usage Guide](docs/GUIDE.en.md)**
88
+
89
+ ### Step 1: Deploy Rocket.Chat
90
+
91
+ ```bash
92
+ curl -fsSL https://raw.githubusercontent.com/Kxiandaoyan/openclaw-rocketchat/master/install-rc.sh | bash
93
+ ```
94
+
95
+ The script auto-handles Docker deployment, free domain, and HTTPS certificate.
96
+
97
+ ### Step 2: Install Plugin + Configure
98
+
99
+ ```bash
100
+ openclaw plugins install openclaw-rocketchat
101
+ openclaw rocketchat setup
102
+ ```
103
+
104
+ Interactive wizard guides you through connection and account creation. On the same machine, it auto-detects install info.
105
+
106
+ ### Step 3: Add an AI Bot
107
+
108
+ ```bash
109
+ openclaw rocketchat add-bot
110
+ ```
111
+
112
+ Type a bot name, pick an Agent, done.
113
+
114
+ ### Step 4: Download Rocket.Chat on Your Phone, Start Chatting
115
+
116
+ 1. Search **"Rocket.Chat"** on App Store / Google Play
117
+ 2. Open the app, enter server address (e.g. `https://123-45-67-89.sslip.io`)
118
+ 3. Login with your credentials from Step 2
119
+ 4. Find your bot and start chatting!
120
+
121
+ ### 📱 Mobile App Screenshots
122
+
123
+ | Step | Screenshot |
124
+ |------|-----------|
125
+ | Open App, enter server URL | <img src="images/1.jpg" width="280"> |
126
+ | Tap Connect to reach login | <img src="images/2.jpg" width="280"> |
127
+ | Conversation list after login | <img src="images/3.jpg" width="280"> |
128
+ | Chat with your AI bot | <img src="images/4.jpg" width="280"> |
129
+
130
+ > **Highlight**: Code blocks in AI replies are **automatically syntax-highlighted and beautifully formatted** in Rocket.Chat App — unlike WeChat/DingTalk/Slack where code gets squished into unreadable blobs. A much better experience for developers and technical users.
131
+
132
+ ## Commands
133
+
134
+ | Command | Description |
135
+ |---|---|
136
+ | `openclaw rocketchat setup` | Connect to Rocket.Chat + create admin + create phone account |
137
+ | `openclaw rocketchat add-bot` | Add bot + bind Agent + create DM |
138
+ | `openclaw rocketchat add-group` | Create private channel (multi-bot group) |
139
+ | `openclaw rocketchat add-user` | Add phone login user |
140
+ | `openclaw rocketchat remove-user` | Remove phone login user |
141
+ | `openclaw rocketchat invite` | Manage group members |
142
+ | `openclaw rocketchat status` | View running status |
143
+ | `openclaw rocketchat upgrade` | **One-click upgrade (auto backup/restore config)** |
144
+ | `openclaw rocketchat uninstall` | Uninstall |
145
+
146
+ All commands are **interactive** — no flags to memorize, just follow the prompts.
147
+
148
+ ## Documentation
149
+
150
+ | Document | Content |
151
+ |----------|---------|
152
+ | [Usage Guide](docs/GUIDE.en.md) | Full step-by-step walkthrough, terminal output examples, remote deployment, user management |
153
+ | [FAQ](docs/FAQ.en.md) | Registration disabled, upgrades, reset, Docker commands, certificates, push notifications |
154
+ | [Configuration](docs/CONFIGURATION.en.md) | Full parameter tables, JSON example, manual editing, full reset |
155
+ | [Architecture](docs/ARCHITECTURE.en.md) | Full comparison table, architecture diagrams, tech stack |
156
+ | [Security](docs/SECURITY.en.md) | Password security, credential storage, backup/restore, file permissions |
157
+
158
+ ## Contributing
159
+
160
+ Contributions welcome! Whether it's bug reports, feature suggestions, or code:
161
+
162
+ 1. Fork this repository
163
+ 2. Create your branch (`git checkout -b feature/amazing`)
164
+ 3. Commit changes (`git commit -m 'Add amazing feature'`)
165
+ 4. Push to remote (`git push origin feature/amazing`)
166
+ 5. Create a Pull Request
167
+
168
+ ## License
169
+
170
+ [MIT](LICENSE) — Free to use, free to modify.
171
+
172
+ ---
173
+
174
+ <div align="center">
175
+
176
+ **If this plugin helps you, please give it a Star ⭐**
177
+
178
+ **Every Star shows support for the Chinese developer community 🇨🇳**
179
+
180
+ [![Star History Chart](https://api.star-history.com/svg?repos=Kxiandaoyan/openclaw-rocketchat&type=Date)](https://star-history.com/#Kxiandaoyan/openclaw-rocketchat&Date)
181
+
182
+ *Making AI assistants accessible to every user in China*
183
+
184
+ </div>
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAqFA,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmMpE"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAqFA,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyMpE"}
package/dist/cli/setup.js CHANGED
@@ -81,20 +81,27 @@ export async function setupCommand(configPath) {
81
81
  // ----------------------------------------------------------
82
82
  const rcInfo = tryLoadRcInfo();
83
83
  let autoMode = false;
84
+ /** 外部域名(sslip.io),用于最终提示手机连接地址 */
85
+ let externalDomain;
86
+ // ----------------------------------------------------------
87
+ // 1. 确定连接方式 + 服务器地址
88
+ // ----------------------------------------------------------
89
+ let serverUrl;
84
90
  if (rcInfo) {
85
- success(`检测到本机 Rocket.Chat 安装信息`);
86
- info(` 服务器地址: ${rcInfo.serverUrl}`);
91
+ // 能读到 .rc-info → 一定是本机部署
92
+ success("检测到本机 Rocket.Chat 安装信息");
87
93
  if (rcInfo.domain)
88
94
  info(` 域名: ${rcInfo.domain}`);
89
95
  if (rcInfo.adminUser)
90
96
  info(` 管理员: ${rcInfo.adminUser}`);
91
97
  console.log("");
92
- const useDetected = await confirm("使用检测到的信息自动配置?(推荐)");
93
- if (useDetected) {
94
- autoMode = true;
95
- }
98
+ autoMode = true;
99
+ serverUrl = "https://127.0.0.1";
100
+ externalDomain = rcInfo.domain;
101
+ info(`本机部署,使用 ${serverUrl} 连接`);
96
102
  }
97
- if (!autoMode) {
103
+ else {
104
+ // 未检测到本地安装 → 让用户选择连接方式
98
105
  console.log("");
99
106
  info("本命令用于连接 Rocket.Chat 服务器并配置插件。");
100
107
  info("如果还没有部署 Rocket.Chat,请先运行 install-rc.sh:");
@@ -102,18 +109,17 @@ export async function setupCommand(configPath) {
102
109
  info(" 本机部署: bash install-rc.sh");
103
110
  info(" 远程 VPS: SSH 到 VPS 上运行 bash install-rc.sh");
104
111
  console.log("");
105
- }
106
- // ----------------------------------------------------------
107
- // 1. 输入服务器地址
108
- // ----------------------------------------------------------
109
- let serverUrl;
110
- if (autoMode && rcInfo?.serverUrl) {
111
- serverUrl = rcInfo.serverUrl;
112
- info(`使用检测到的服务器地址: ${serverUrl}`);
113
- }
114
- else {
115
- const defaultUrl = rcInfo?.serverUrl || "https://127.0.0.1";
116
- serverUrl = await ask("Rocket.Chat 服务器地址\n (本机部署填 https://127.0.0.1,远程填 install-rc.sh 输出的 https://xxx.sslip.io 地址)", defaultUrl) || "";
112
+ const deployMode = await select("连接方式", [
113
+ { label: "本机部署(Rocket.Chat 在当前服务器上)", value: "local" },
114
+ { label: "远程连接(Rocket.Chat 在其他服务器上)", value: "remote" },
115
+ ]);
116
+ if (deployMode === "local") {
117
+ serverUrl = "https://127.0.0.1";
118
+ info(`本机部署,使用 ${serverUrl} 连接`);
119
+ }
120
+ else {
121
+ serverUrl = await ask("Rocket.Chat 服务器地址\n (填 install-rc.sh 输出的 https://xxx.sslip.io 地址)", "https://") || "";
122
+ }
117
123
  }
118
124
  if (!serverUrl) {
119
125
  error("地址不能为空!");
@@ -247,7 +253,7 @@ export async function setupCommand(configPath) {
247
253
  // ----------------------------------------------------------
248
254
  // 6. 完成提示
249
255
  // ----------------------------------------------------------
250
- printFinishBanner(cleanUrl, username, port);
256
+ printFinishBanner(cleanUrl, username, port, externalDomain);
251
257
  }
252
258
  // ==============================================================
253
259
  // 辅助函数
@@ -500,10 +506,9 @@ async function createPersonalAccount(rc, username, password) {
500
506
  }
501
507
  }
502
508
  /** 打印完成横幅 */
503
- function printFinishBanner(serverUrl, username, _port) {
509
+ function printFinishBanner(serverUrl, username, _port, externalDomain) {
504
510
  // 如果是 localhost/127.0.0.1,提醒用户手机要用公网 IP
505
511
  const isLocal = /localhost|127\.0\.0\.1/.test(serverUrl);
506
- const isHttps = serverUrl.startsWith("https://");
507
512
  console.log("");
508
513
  console.log("╔══════════════════════════════════════════╗");
509
514
  console.log("║ 🎉 配置完成! ║");
@@ -511,7 +516,11 @@ function printFinishBanner(serverUrl, username, _port) {
511
516
  console.log("");
512
517
  info("📱 手机操作:");
513
518
  info(` 1. App Store 搜索下载 "Rocket.Chat"`);
514
- if (isLocal) {
519
+ if (isLocal && externalDomain) {
520
+ info(` 2. 打开 App,服务器填: https://${externalDomain}`);
521
+ info(" (手机不能用 127.0.0.1,需要填 sslip.io 域名)");
522
+ }
523
+ else if (isLocal) {
515
524
  info(` 2. 打开 App,服务器填: install-rc.sh 输出的 https://xxx.sslip.io 地址`);
516
525
  info(" (手机不能用 127.0.0.1,需要填 sslip.io 域名或服务器公网 IP)");
517
526
  }
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
package/install-rc.sh CHANGED
@@ -352,6 +352,22 @@ CERT_ISSUED=false
352
352
  step "申请 Let's Encrypt 证书..."
353
353
  info "策略 1: HTTP-01 验证(standalone 模式,使用 80 端口)"
354
354
 
355
+ # 辅助函数:检查 acme.sh 是否已有此域名的有效证书
356
+ check_existing_cert() {
357
+ local domain="$1"
358
+ local cert_dir
359
+ # acme.sh 证书目录可能是 domain 或 domain_ecc
360
+ for cert_dir in "$HOME/.acme.sh/${domain}" "$HOME/.acme.sh/${domain}_ecc"; do
361
+ if [ -f "${cert_dir}/fullchain.cer" ] && [ -f "${cert_dir}/${domain}.key" ]; then
362
+ # 检查证书是否未过期
363
+ if openssl x509 -checkend 86400 -noout -in "${cert_dir}/fullchain.cer" 2>/dev/null; then
364
+ return 0 # 有效证书存在
365
+ fi
366
+ fi
367
+ done
368
+ return 1 # 没有有效证书
369
+ }
370
+
355
371
  if "$ACME_SH" --issue --standalone -d "${RC_DOMAIN}" \
356
372
  --server letsencrypt \
357
373
  --keylength 2048 \
@@ -360,6 +376,10 @@ if "$ACME_SH" --issue --standalone -d "${RC_DOMAIN}" \
360
376
  --post-hook "cd ${INSTALL_DIR} && ${COMPOSE_CMD} start nginx 2>/dev/null || true"; then
361
377
  CERT_ISSUED=true
362
378
  success "证书获取成功!(HTTP-01 验证)"
379
+ elif check_existing_cert "${RC_DOMAIN}"; then
380
+ # acme.sh 返回非零是因为证书已存在且未到期,无需续期
381
+ CERT_ISSUED=true
382
+ success "证书已存在且有效(未到期,无需续期)"
363
383
  else
364
384
  warn "HTTP-01 验证失败(80 端口可能不可用),自动切换后备方案..."
365
385
  echo ""
@@ -374,6 +394,9 @@ else
374
394
  --post-hook "cd ${INSTALL_DIR} && ${COMPOSE_CMD} start nginx 2>/dev/null || true"; then
375
395
  CERT_ISSUED=true
376
396
  success "证书获取成功!(TLS-ALPN-01 验证)"
397
+ elif check_existing_cert "${RC_DOMAIN}"; then
398
+ CERT_ISSUED=true
399
+ success "证书已存在且有效(未到期,无需续期)"
377
400
  fi
378
401
  fi
379
402
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openclaw-rocketchat",
3
- "version": "0.7.7",
3
+ "version": "0.7.9",
4
4
  "description": "Rocket.Chat channel plugin for OpenClaw — connect via mobile app, ideal for China mainland users",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",