# dsh-qqbot-panel

> [**English**](README.md) | **中文**

为 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)（dsh）官方 QQ Bot 插件 [@tencent-connect/dsh-qqbot](https://github.com/tencent-connect/dsh-qqbot) 提供的一个**可视化配置面板**。官方 QQ 插件是纯 CLI 插件、没有 Web 界面；本 companion 插件在 Web GUI 新增「设置 → QQ Bot」页，让你直接在网页里完成全部配置 —— 甚至扫码绑定机器人。

## 特性

- **设置面板** —— Web GUI：设置 → QQ Bot。管理 `appId` / `appSecret`、私聊（c2c）与群聊访问模式（`open` / `allowlist` / `disabled`）及各自白名单、`requireMention`、Agent 工作目录。
- **扫码绑定** —— 面板内一键生成二维码，用手机 QQ 扫码后自动把返回的 `appId` / `appSecret` 写回（无需浏览器连接页、无 Apple-ID 登录）。
- **工作区选择** —— 选择 QQ Bot 的 agent 会话落在哪个工作区（`cwd`）；面板列出所有已用工作区及会话数。
- 读写 qqbot profile 的 `cordis.patch.yml` 中 `im-qqbot` 行，通过仅限本机回环的 `/api/dsh-qqbot-panel` 路由族。
- `appSecret` 只返回脱敏值；空值不会覆盖已保存的 secret。

## 配套 / 依赖

这是**官方 QQ Bot 插件**（`@tencent-connect/dsh-qqbot`）的**配套面板**。要真正用起来，需要先安装并绑定官方插件 —— 面板编辑的就是 qqbot profile 加载的那份 `cordis.patch.yml`。

运行时 `dependencies`（自动安装）：`@tencent-connect/qqbot-connector`、`qrcode`、`js-yaml`。

## 安装

```sh
# 发布后（仓库打 dsh-plugin topic）
dsh plugin --profile web add github:zhengjy01/dsh-qqbot-panel

# 本地开发
dsh plugin --profile web add link:/路径/dsh-qqbot-panel
```

然后重启 `dsh web`，打开「设置 → QQ Bot」。无需构建步骤 —— `lib/index.js` 是纯 ESM。

## 配合使用

```sh
# 官方 QQ Bot 插件（必需配套），装在独立 profile
dsh plugin --profile qqbot add @tencent-connect/dsh-qqbot
dsh --profile qqbot          # 终端打印二维码绑定，或用面板的「扫码绑定」
```

## 配置

全部在面板里完成：设置 → QQ Bot。可设 `appId` / `appSecret`、访问模式与白名单、群聊是否需 `@bot`（`requireMention`）、以及 QQ Bot 会话落在哪个工作区。

面板把改动持久化到 qqbot profile 的 `cordis.patch.yml`（`~/.dsh/profiles/qqbot/cordis.patch.yml`），运行中的 QQ Bot 会热加载。

## 说明

- `/api/dsh-qqbot-panel` 路由仅限本机回环（同源浏览器）。
- 扫码绑定走 QQ 机器人 connect 任务；返回的 `appId`/`appSecret` 以 0600 权限存入 qqbot profile 配置。
- 界面刻意极简：纯内联样式、无外部 UI 库。

## License

MIT
