Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Start with the **Onboard** panel for first-run initialization. Tutorial: [Wiki](
- Configure local or online model settings in **LocalLLM** and **Model Switch**.
- Configure bot channels in **Channels**.
- Create and run instances in **Instances**, then update version or open folder/CLI when needed.
- Install required extensions in **Plugins**.
- Install required extensions in **Plugins**. Stop the instance first, install recommended plugins such as [`@xquik/tweetclaw`](https://github.com/Xquik-dev/tweetclaw) for X/Twitter automation, add required credentials in **Env Vars**, then restart the instance.
- Use **Logs** and **Backups** for troubleshooting and data safety.
- Tune tray behavior, auto-start, mirrors, and cleanup options in **Advanced**.

Expand Down
2 changes: 1 addition & 1 deletion README.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@
- 在“本地模型”和“模型切换”面板配置本地或在线模型。
- 在“频道配置”面板配置机器人频道参数。
- 在“实例管理”面板创建并启动实例,按需更新版本或打开目录/CLI。
- 在“插件管理”面板安装所需插件。
- 在“插件管理”面板安装所需插件。请先停止实例,再安装 [`@xquik/tweetclaw`](https://github.com/Xquik-dev/tweetclaw) 等推荐插件,用于 X/Twitter 自动化;将所需凭据写入“环境变量”后再重启实例。
- 在“日志查看”和“备份管理”面板进行运行排查与数据保护。
- 在“高级设置”面板调整托盘、开机启动、源地址和清理策略。

Expand Down
5 changes: 4 additions & 1 deletion src/openclaw_launcher/ui/i18n/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,9 @@
"btn_install": "Install",
"btn_help": "Help",
"section_recommended_plugins": "Recommended Plugins",
"desc_plugin_dingtalk": "Connect OpenClaw instances to DingTalk bots.",
"desc_plugin_weixin": "Connect OpenClaw instances to Weixin workflows.",
"desc_plugin_tweetclaw": "Add X/Twitter search, replies, followers, media, DMs, monitors, webhooks, and guarded posting.",
"col_plugin_source": "Source",
"col_plugin_name": "Plugin",
"col_plugin_action": "Action",
Expand Down Expand Up @@ -409,4 +412,4 @@
"model_switch_test_failed": "API test failed: {error}",
"model_switch_success": "✅ Model switch successful! Configuration updated and instance is now stopped.",
"model_switch_error": "❌ Model switch failed: {error}"
}
}
5 changes: 4 additions & 1 deletion src/openclaw_launcher/ui/i18n/zh.json
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,9 @@
"btn_install": "安装",
"btn_help": "帮助",
"section_recommended_plugins": "推荐插件",
"desc_plugin_dingtalk": "将 OpenClaw 实例连接到钉钉机器人。",
"desc_plugin_weixin": "将 OpenClaw 实例连接到微信工作流。",
"desc_plugin_tweetclaw": "添加 X/Twitter 搜索、回复、粉丝、媒体、私信、监控、Webhook 与确认后发布。",
"col_plugin_source": "来源",
"col_plugin_name": "插件",
"col_plugin_action": "操作",
Expand Down Expand Up @@ -410,4 +413,4 @@
"model_switch_test_failed": "API 测试失败: {error}",
"model_switch_success": "✅ 模型切换成功!配置已更新,实例当前为已停止状态。",
"model_switch_error": "❌ 模型切换失败: {error}"
}
}
20 changes: 19 additions & 1 deletion src/openclaw_launcher/ui/panels/plugin_panel.py
Original file line number Diff line number Diff line change
Expand Up @@ -207,10 +207,17 @@ class PluginPanel(QWidget):
{
"name": "@dingtalk-real-ai/dingtalk-connector",
"url": "https://github.com/DingTalk-Real-AI/dingtalk-openclaw-connector",
"description_key": "desc_plugin_dingtalk",
},
{
"name": "@tencent-weixin/openclaw-weixin",
"url": "https://github.com/Tencent/openclaw-weixin",
"description_key": "desc_plugin_weixin",
},
{
"name": "@xquik/tweetclaw",
"url": "https://github.com/Xquik-dev/tweetclaw",
"description_key": "desc_plugin_tweetclaw",
},
]

Expand Down Expand Up @@ -288,8 +295,19 @@ def _build_recommended_rows(self):
row_layout = QHBoxLayout(row_widget)
row_layout.setContentsMargins(0, 0, 0, 0)

text_widget = QWidget()
text_layout = QVBoxLayout(text_widget)
text_layout.setContentsMargins(0, 0, 0, 0)
text_layout.setSpacing(2)

label = QLabel(plugin["name"])
row_layout.addWidget(label)
text_layout.addWidget(label)

description = QLabel(i18n.t(plugin["description_key"]))
description.setWordWrap(True)
text_layout.addWidget(description)

row_layout.addWidget(text_widget, 1)
row_layout.addStretch()

btn_install = QPushButton(i18n.t("btn_install"))
Expand Down