From 12b719c7be977367abcf84b82302605843e7639c Mon Sep 17 00:00:00 2001 From: arch3rPro Date: Sun, 10 May 2026 02:02:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(hermes-web-ui):=20=E6=B7=BB=E5=8A=A0=20Her?= =?UTF-8?q?mes=20Web=20UI=20=E5=BA=94=E7=94=A8=E5=8F=8A=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加 Hermes Web UI 应用,包含多语言支持、Docker 配置、数据持久化及文档说明 删除已废弃的 OpenClaw 应用及相关文件 --- apps/hermes-web-ui/README.md | 54 ++++++++++++++++++ apps/hermes-web-ui/README_en.md | 54 ++++++++++++++++++ apps/hermes-web-ui/data.yml | 33 +++++++++++ apps/hermes-web-ui/latest/data.yml | 21 +++++++ apps/hermes-web-ui/latest/data/.gitkeep | 0 apps/hermes-web-ui/latest/docker-compose.yml | 45 +++++++++++++++ apps/hermes-web-ui/logo.png | Bin 0 -> 18333 bytes apps/hermes-web-ui/v0.5.15/data.yml | 21 +++++++ apps/hermes-web-ui/v0.5.15/data/.gitkeep | 0 apps/hermes-web-ui/v0.5.15/docker-compose.yml | 45 +++++++++++++++ .../2026.5.7-nightly.202605080122/data.yml | 31 ---------- .../docker-compose.yml | 36 ------------ apps/openclaw-zh/README.md | 19 ------ apps/openclaw-zh/README_en.md | 19 ------ apps/openclaw-zh/data.yml | 27 --------- apps/openclaw-zh/latest/data.yml | 31 ---------- apps/openclaw-zh/latest/docker-compose.yml | 36 ------------ apps/openclaw-zh/logo.png | Bin 6413 -> 0 bytes 18 files changed, 273 insertions(+), 199 deletions(-) create mode 100644 apps/hermes-web-ui/README.md create mode 100644 apps/hermes-web-ui/README_en.md create mode 100644 apps/hermes-web-ui/data.yml create mode 100644 apps/hermes-web-ui/latest/data.yml create mode 100644 apps/hermes-web-ui/latest/data/.gitkeep create mode 100644 apps/hermes-web-ui/latest/docker-compose.yml create mode 100644 apps/hermes-web-ui/logo.png create mode 100644 apps/hermes-web-ui/v0.5.15/data.yml create mode 100644 apps/hermes-web-ui/v0.5.15/data/.gitkeep create mode 100644 apps/hermes-web-ui/v0.5.15/docker-compose.yml delete mode 100644 apps/openclaw-zh/2026.5.7-nightly.202605080122/data.yml delete mode 100644 apps/openclaw-zh/2026.5.7-nightly.202605080122/docker-compose.yml delete mode 100644 apps/openclaw-zh/README.md delete mode 100644 apps/openclaw-zh/README_en.md delete mode 100644 apps/openclaw-zh/data.yml delete mode 100644 apps/openclaw-zh/latest/data.yml delete mode 100644 apps/openclaw-zh/latest/docker-compose.yml delete mode 100644 apps/openclaw-zh/logo.png diff --git a/apps/hermes-web-ui/README.md b/apps/hermes-web-ui/README.md new file mode 100644 index 0000000..20720be --- /dev/null +++ b/apps/hermes-web-ui/README.md @@ -0,0 +1,54 @@ +# Hermes Web UI + +Hermes Agent 的全功能 Web 管理面板。管理 AI 聊天会话、监控使用量与成本、配置平台渠道、调度定时任务、浏览技能等,全部通过简洁响应式 Web 界面完成。 + +## 功能特点 + +- **AI 聊天** — 实时流式 SSE 传输,多会话管理,Markdown 渲染与代码高亮 +- **平台渠道** — 统一配置 8 大平台(Telegram、Discord、Slack、WhatsApp、Matrix、飞书、微信、企业微信) +- **用量分析** — Token 使用量统计、成本追踪、模型分布图表 +- **定时任务** — 创建、编辑、暂停、恢复、删除 Cron 任务 +- **模型管理** — 自动发现/添加提供商,支持 OpenAI 兼容接口 +- **多配置文件** — 创建、克隆、导入/导出 Hermes 配置文件 +- **文件浏览器** — 浏览、上传、下载远程后端文件 +- **群聊** — 多 Agent 聊天室,支持 @提及和上下文压缩 +- **技能与记忆** — 浏览已安装技能,用户笔记管理 +- **日志查看** — Agent/网关/错误日志过滤与查看 +- **身份认证** — 基于 Token 的认证(首次运行自动生成) +- **Web 终端** — 集成终端,支持多会话 + +## 使用说明 + +### 架构说明 + +本应用包含两个服务: +- **hermes-agent**:使用 1Panel 官方维护的 Hermes Agent 镜像([1panel/hermes-agent](https://hub.docker.com/r/1panel/hermes-agent)) +- **hermes-webui**:社区维护的全功能 Web 管理面板 + +### 默认端口 + +- Web 界面: `6060`(可在安装时修改) + +### 默认认证 + +- 首次运行时自动生成 Auth Token,可通过容器日志查看: + ```bash + docker logs <容器名> | grep token + ``` +- 也可通过环境变量 `AUTH_TOKEN` 设置自定义 Token +- 如需禁用认证,可将 `AUTH_DISABLED` 设置为 `true` + +### 数据目录 + +- `./data` — Hermes Agent 运行时数据(会话、配置、配置文件) +- `./webui-data` — Web UI 数据(Auth Token 等) + +### 前置条件 + +使用前请确保已在 Web 界面的模型管理页面配置好 AI 模型的 API 密钥。 + +## 相关链接 + +- Hermes Web UI: https://github.com/EKKOLearnAI/hermes-web-ui +- Hermes Agent: https://github.com/NousResearch/hermes-agent +- 1Panel 官方 Hermes Agent: https://github.com/1Panel-dev/appstore/tree/dev/apps/hermes-agent \ No newline at end of file diff --git a/apps/hermes-web-ui/README_en.md b/apps/hermes-web-ui/README_en.md new file mode 100644 index 0000000..e8fcb4c --- /dev/null +++ b/apps/hermes-web-ui/README_en.md @@ -0,0 +1,54 @@ +# Hermes Web UI + +A full-featured web dashboard for Hermes Agent. Manage AI chat sessions, monitor usage & costs, configure platform channels, schedule cron jobs, browse skills — all from a clean, responsive web interface. + +## Features + +- **AI Chat** — Real-time streaming via SSE, multi-session management, Markdown rendering with syntax highlighting +- **Platform Channels** — Unified configuration for 8 platforms (Telegram, Discord, Slack, WhatsApp, Matrix, Feishu, WeChat, WeCom) +- **Usage Analytics** — Token usage breakdown, cost tracking, model distribution charts +- **Scheduled Jobs** — Create, edit, pause, resume, delete cron jobs +- **Model Management** — Auto-discover providers, add custom OpenAI-compatible endpoints +- **Multi-Profile** — Create, clone, import/export Hermes profiles +- **File Browser** — Browse, upload, download files on remote backends +- **Group Chat** — Multi-agent chat rooms with @mention support and context compression +- **Skills & Memory** — Browse installed skills, user notes management +- **Log Viewer** — Filter and view agent/gateway/error logs +- **Authentication** — Token-based auth (auto-generated on first run) +- **Web Terminal** — Integrated terminal with multi-session support + +## Usage + +### Architecture + +This app includes two services: +- **hermes-agent**: Uses the official 1Panel-maintained Hermes Agent image ([1panel/hermes-agent](https://hub.docker.com/r/1panel/hermes-agent)) +- **hermes-webui**: Community-maintained full-featured web dashboard + +### Default Port + +- Web UI: `6060` (configurable during installation) + +### Default Credentials + +- Auth Token is auto-generated on first run. View it via container logs: + ```bash + docker logs | grep token + ``` +- You can also set a custom token via `AUTH_TOKEN` environment variable +- Set `AUTH_DISABLED=true` to disable authentication + +### Data Directories + +- `./data` — Hermes Agent runtime data (sessions, configs, profiles) +- `./webui-data` — Web UI data (auth token, etc.) + +### Prerequisites + +Make sure to configure your AI model API keys via the Web UI's Model Management page before use. + +## Links + +- Hermes Web UI: https://github.com/EKKOLearnAI/hermes-web-ui +- Hermes Agent: https://github.com/NousResearch/hermes-agent +- Official 1Panel Hermes Agent: https://github.com/1Panel-dev/appstore/tree/dev/apps/hermes-agent \ No newline at end of file diff --git a/apps/hermes-web-ui/data.yml b/apps/hermes-web-ui/data.yml new file mode 100644 index 0000000..a6efde6 --- /dev/null +++ b/apps/hermes-web-ui/data.yml @@ -0,0 +1,33 @@ +name: Hermes Web UI +tags: + - AI +title: Hermes Agent 的全功能 Web 管理面板 +description: Hermes Agent 的全功能 Web 管理面板 +additionalProperties: + key: hermes-web-ui + name: Hermes Web UI + type: website + tags: + - AI + shortDescZh: Hermes Agent 的全功能 Web 管理面板 + shortDescEn: A full-featured web dashboard for Hermes Agent + description: + en: A full-featured web dashboard for Hermes Agent. Manage AI chat sessions, monitor usage & costs, configure platform channels, schedule cron jobs, browse skills — all from a clean, responsive web interface. + ja: Hermes Agent のフル機能 Web ダッシュボード。AIチャットセッション管理、使用量・コスト監視、プラットフォームチャンネル設定、cronジョブスケジュール、スキル閲覧など。 + ms: Papan pemuka web berciri penuh untuk Hermes Agent + pt-br: Um painel web completo para Hermes Agent + ru: Полнофункциональная веб-панель для Hermes Agent + ko: Hermes Agent를 위한 완전한 기능의 웹 대시보드 + zh-Hant: Hermes Agent 的全功能 Web 管理面板 + zh: Hermes Agent 的全功能 Web 管理面板。管理 AI 聊天会话、监控使用量与成本、配置平台渠道、调度定时任务、浏览技能等,全部通过简洁响应式 Web 界面完成。 + tr: Hermes Agent için tam özellikli web kontrol paneli + es-es: Un panel web completo para Hermes Agent + crossVersionUpdate: true + limit: 0 + recommend: 13 + website: https://github.com/EKKOLearnAI/hermes-web-ui + github: https://github.com/EKKOLearnAI/hermes-web-ui + document: https://github.com/EKKOLearnAI/hermes-web-ui + architectures: + - amd64 + - arm64 \ No newline at end of file diff --git a/apps/hermes-web-ui/latest/data.yml b/apps/hermes-web-ui/latest/data.yml new file mode 100644 index 0000000..4d0b3cc --- /dev/null +++ b/apps/hermes-web-ui/latest/data.yml @@ -0,0 +1,21 @@ +additionalProperties: + formFields: + - default: 6060 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Web UI Port + labelZh: Web UI 端口 + required: true + rule: paramPort + type: number + label: + en: Web UI Port + es-es: Puerto web + ja: Web UIポート + ms: Port Web UI + pt-br: Porta da Web UI + ru: Порт веб-интерфейса + ko: 웹 UI 포트 + zh-Hant: Web UI 埠 + zh: Web UI 端口 + tr: Web UI Bağlantı Noktası \ No newline at end of file diff --git a/apps/hermes-web-ui/latest/data/.gitkeep b/apps/hermes-web-ui/latest/data/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/apps/hermes-web-ui/latest/docker-compose.yml b/apps/hermes-web-ui/latest/docker-compose.yml new file mode 100644 index 0000000..4d2cf50 --- /dev/null +++ b/apps/hermes-web-ui/latest/docker-compose.yml @@ -0,0 +1,45 @@ +services: + hermes-agent: + container_name: ${CONTAINER_NAME}-agent + image: 1panel/hermes-agent:latest + restart: always + networks: + - 1panel-network + environment: + HOME: /opt/data/home + HERMES_HOME: /opt/data + HERMES_DASHBOARD: "1" + HERMES_DASHBOARD_HOST: 0.0.0.0 + HERMES_DASHBOARD_PORT: 9119 + TERM: xterm-256color + volumes: + - ./data:/opt/data + - /etc/localtime:/etc/localtime + init: true + labels: + createdBy: "Apps" + hermes-webui: + container_name: ${CONTAINER_NAME} + image: ekkoye8888/hermes-web-ui:latest + entrypoint: ["node", "dist/server/index.js"] + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:6060" + volumes: + - ./data:/opt/data + - ./webui-data:/home/agent/.hermes-web-ui + environment: + - PORT=6060 + - HERMES_HOME=/opt/data + - HERMES_BIN=/opt/hermes/.venv/bin/hermes + - AUTH_DISABLED=false + - PATH=/opt/hermes/.venv/bin:/opt/data/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + depends_on: + - hermes-agent + labels: + createdBy: "Apps" +networks: + 1panel-network: + external: true \ No newline at end of file diff --git a/apps/hermes-web-ui/logo.png b/apps/hermes-web-ui/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b821dc32d7317892fcb26821fdbdd8cab64decb6 GIT binary patch literal 18333 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 B2sZ!# literal 0 HcmV?d00001 diff --git a/apps/hermes-web-ui/v0.5.15/data.yml b/apps/hermes-web-ui/v0.5.15/data.yml new file mode 100644 index 0000000..4d0b3cc --- /dev/null +++ b/apps/hermes-web-ui/v0.5.15/data.yml @@ -0,0 +1,21 @@ +additionalProperties: + formFields: + - default: 6060 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Web UI Port + labelZh: Web UI 端口 + required: true + rule: paramPort + type: number + label: + en: Web UI Port + es-es: Puerto web + ja: Web UIポート + ms: Port Web UI + pt-br: Porta da Web UI + ru: Порт веб-интерфейса + ko: 웹 UI 포트 + zh-Hant: Web UI 埠 + zh: Web UI 端口 + tr: Web UI Bağlantı Noktası \ No newline at end of file diff --git a/apps/hermes-web-ui/v0.5.15/data/.gitkeep b/apps/hermes-web-ui/v0.5.15/data/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/apps/hermes-web-ui/v0.5.15/docker-compose.yml b/apps/hermes-web-ui/v0.5.15/docker-compose.yml new file mode 100644 index 0000000..619ef8e --- /dev/null +++ b/apps/hermes-web-ui/v0.5.15/docker-compose.yml @@ -0,0 +1,45 @@ +services: + hermes-agent: + container_name: ${CONTAINER_NAME}-agent + image: 1panel/hermes-agent:2026.5.7 + restart: always + networks: + - 1panel-network + environment: + HOME: /opt/data/home + HERMES_HOME: /opt/data + HERMES_DASHBOARD: "1" + HERMES_DASHBOARD_HOST: 0.0.0.0 + HERMES_DASHBOARD_PORT: 9119 + TERM: xterm-256color + volumes: + - ./data:/opt/data + - /etc/localtime:/etc/localtime + init: true + labels: + createdBy: "Apps" + hermes-webui: + container_name: ${CONTAINER_NAME} + image: ekkoye8888/hermes-web-ui:v0.5.15 + entrypoint: ["node", "dist/server/index.js"] + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:6060" + volumes: + - ./data:/opt/data + - ./webui-data:/home/agent/.hermes-web-ui + environment: + - PORT=6060 + - HERMES_HOME=/opt/data + - HERMES_BIN=/opt/hermes/.venv/bin/hermes + - AUTH_DISABLED=false + - PATH=/opt/hermes/.venv/bin:/opt/data/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + depends_on: + - hermes-agent + labels: + createdBy: "Apps" +networks: + 1panel-network: + external: true \ No newline at end of file diff --git a/apps/openclaw-zh/2026.5.7-nightly.202605080122/data.yml b/apps/openclaw-zh/2026.5.7-nightly.202605080122/data.yml deleted file mode 100644 index 1874895..0000000 --- a/apps/openclaw-zh/2026.5.7-nightly.202605080122/data.yml +++ /dev/null @@ -1,31 +0,0 @@ -additionalProperties: - formFields: - - default: 18789 - edit: true - envKey: PANEL_APP_PORT_HTTP - labelEn: Web UI Port - labelZh: Web UI 端口 - required: true - rule: paramPort - type: number - label: - en: Web UI Port - zh: Web UI 端口 - zh-Hant: Web UI 埠 - - default: "" - edit: true - envKey: OPENCLAW_GATEWAY_TOKEN - labelEn: Gateway Token - labelZh: 网关令牌 - random: true - required: false - rule: paramCommon - type: password - label: - en: Gateway Token - zh: 网关令牌 - zh-Hant: 閘道權杖 - description: - en: Token used to access the OpenClaw Dashboard. Append ?token=your-token to the Dashboard URL when needed. - zh: 用于访问 OpenClaw Dashboard 的令牌。需要时可在访问地址后追加 ?token=你的令牌。 - zh-Hant: 用於訪問 OpenClaw Dashboard 的權杖。需要時可在訪問地址後追加 ?token=你的權杖。 diff --git a/apps/openclaw-zh/2026.5.7-nightly.202605080122/docker-compose.yml b/apps/openclaw-zh/2026.5.7-nightly.202605080122/docker-compose.yml deleted file mode 100644 index 1e96597..0000000 --- a/apps/openclaw-zh/2026.5.7-nightly.202605080122/docker-compose.yml +++ /dev/null @@ -1,36 +0,0 @@ -services: - openclaw-zh: - container_name: ${CONTAINER_NAME} - image: 1186258278/openclaw-zh:2026.5.7-nightly.202605080122 - restart: always - networks: - - 1panel-network - environment: - HOME: /root - TERM: xterm-256color - OPENCLAW_DISABLE_BONJOUR: "1" - OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN} - volumes: - - ./data/conf:/root/.openclaw - ports: - - ${PANEL_APP_PORT_HTTP}:18789 - command: openclaw gateway run --allow-unconfigured - init: true - healthcheck: - test: - [ - "CMD", - "node", - "-e", - "fetch('http://127.0.0.1:18789/healthz').then((r)=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))" - ] - interval: 3m - timeout: 10s - start_period: 15s - retries: 3 - labels: - createdBy: "Apps" - -networks: - 1panel-network: - external: true diff --git a/apps/openclaw-zh/README.md b/apps/openclaw-zh/README.md deleted file mode 100644 index 00defa7..0000000 --- a/apps/openclaw-zh/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# OpenClaw Chinese - -OpenClaw Chinese 是 OpenClaw 的汉化发行版。OpenClaw 是开源、自托管的个人 AI 助理,提供本地运行的 Web Dashboard 和 Gateway。 - -## 使用说明 - -安装后访问 `http://服务器 IP:端口` 打开 Dashboard。默认端口为 `18789`。 - -建议在安装参数中设置 `OPENCLAW_GATEWAY_TOKEN`,用于 Dashboard 访问认证。浏览器打开页面后,可以在 URL 后追加 `?token=你的令牌` 进行访问。 - -## 数据目录 - -应用数据会持久化到安装目录下的 `data/conf`,对应容器内 `/root/.openclaw`。 - -## 参考 - -- 项目仓库:https://github.com/1186258278/OpenClawChineseTranslation -- Docker 说明:https://github.com/1186258278/OpenClawChineseTranslation/blob/main/DOCKER_README.md -- OpenClaw 官网:https://openclaw.ai/ diff --git a/apps/openclaw-zh/README_en.md b/apps/openclaw-zh/README_en.md deleted file mode 100644 index 8ccffbf..0000000 --- a/apps/openclaw-zh/README_en.md +++ /dev/null @@ -1,19 +0,0 @@ -# OpenClaw Chinese - -OpenClaw Chinese is a localized Chinese distribution of OpenClaw. OpenClaw is an open-source, self-hosted personal AI assistant with a local Web Dashboard and Gateway. - -## Usage - -After installation, open `http://server-ip:port` in your browser. The default port is `18789`. - -It is recommended to set `OPENCLAW_GATEWAY_TOKEN` during installation for Dashboard authentication. You can append `?token=your-token` to the URL when opening the Dashboard. - -## Data Directory - -Application data is persisted in `data/conf` under the installation directory, mapped to `/root/.openclaw` inside the container. - -## References - -- Repository: https://github.com/1186258278/OpenClawChineseTranslation -- Docker guide: https://github.com/1186258278/OpenClawChineseTranslation/blob/main/DOCKER_README.md -- OpenClaw website: https://openclaw.ai/ diff --git a/apps/openclaw-zh/data.yml b/apps/openclaw-zh/data.yml deleted file mode 100644 index 9cbdbb8..0000000 --- a/apps/openclaw-zh/data.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: OpenClaw Chinese -tags: - - AI / 大模型 -title: OpenClaw 汉化发行版,开源、自托管的个人 AI 助理 -description: OpenClaw 汉化发行版,开源、自托管的个人 AI 助理 -additionalProperties: - key: openclaw-zh - name: OpenClaw Chinese - tags: - - AI - shortDescZh: OpenClaw 汉化发行版,开源、自托管的个人 AI 助理 - shortDescEn: Chinese localized OpenClaw distribution, a self-hosted personal AI assistant - description: - en: Chinese localized OpenClaw distribution, a self-hosted personal AI assistant - zh: OpenClaw 汉化发行版,开源、自托管的个人 AI 助理 - zh-Hant: OpenClaw 漢化發行版,開源、自托管的個人 AI 助理 - type: website - crossVersionUpdate: true - limit: 0 - recommend: 0 - batchInstallSupport: true - website: https://openclaw.qt.cool/ - github: https://github.com/1186258278/OpenClawChineseTranslation - document: https://github.com/1186258278/OpenClawChineseTranslation/blob/main/DOCKER_README.md - architectures: - - amd64 - - arm64 diff --git a/apps/openclaw-zh/latest/data.yml b/apps/openclaw-zh/latest/data.yml deleted file mode 100644 index 1874895..0000000 --- a/apps/openclaw-zh/latest/data.yml +++ /dev/null @@ -1,31 +0,0 @@ -additionalProperties: - formFields: - - default: 18789 - edit: true - envKey: PANEL_APP_PORT_HTTP - labelEn: Web UI Port - labelZh: Web UI 端口 - required: true - rule: paramPort - type: number - label: - en: Web UI Port - zh: Web UI 端口 - zh-Hant: Web UI 埠 - - default: "" - edit: true - envKey: OPENCLAW_GATEWAY_TOKEN - labelEn: Gateway Token - labelZh: 网关令牌 - random: true - required: false - rule: paramCommon - type: password - label: - en: Gateway Token - zh: 网关令牌 - zh-Hant: 閘道權杖 - description: - en: Token used to access the OpenClaw Dashboard. Append ?token=your-token to the Dashboard URL when needed. - zh: 用于访问 OpenClaw Dashboard 的令牌。需要时可在访问地址后追加 ?token=你的令牌。 - zh-Hant: 用於訪問 OpenClaw Dashboard 的權杖。需要時可在訪問地址後追加 ?token=你的權杖。 diff --git a/apps/openclaw-zh/latest/docker-compose.yml b/apps/openclaw-zh/latest/docker-compose.yml deleted file mode 100644 index bcc13fb..0000000 --- a/apps/openclaw-zh/latest/docker-compose.yml +++ /dev/null @@ -1,36 +0,0 @@ -services: - openclaw-zh: - container_name: ${CONTAINER_NAME} - image: 1186258278/openclaw-zh:latest - restart: always - networks: - - 1panel-network - environment: - HOME: /root - TERM: xterm-256color - OPENCLAW_DISABLE_BONJOUR: "1" - OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN} - volumes: - - ./data/conf:/root/.openclaw - ports: - - ${PANEL_APP_PORT_HTTP}:18789 - command: openclaw gateway run --allow-unconfigured - init: true - healthcheck: - test: - [ - "CMD", - "node", - "-e", - "fetch('http://127.0.0.1:18789/healthz').then((r)=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))" - ] - interval: 3m - timeout: 10s - start_period: 15s - retries: 3 - labels: - createdBy: "Apps" - -networks: - 1panel-network: - external: true diff --git a/apps/openclaw-zh/logo.png b/apps/openclaw-zh/logo.png deleted file mode 100644 index 0812e610f1b8eab4405acf061035bafd356e984b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6413 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 b7lHo+o}JG`MJ>W700000NkvXXu0mjf#F0`q