@cxyhhhhh/dsh-qqbot 0.1.0-dev.202608142112 → 0.1.0-dev.202608142135

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/.orange-ci.yml ADDED
@@ -0,0 +1,76 @@
1
+ # dsh-qqbot OCI 配置
2
+ # 参考 qqbot-nodejs/.orange-ci.yml
3
+ #
4
+ # 发布约定:
5
+ # tag 名即 npm 版本号(不带 v 前缀),例如:
6
+ # git tag 0.1.0 → 发布 0.1.0 到 latest
7
+ # git tag 0.1.0-beta.1 → 发布 0.1.0-beta.1(dist-tag 由版本号推断)
8
+ # feat/fix 分支 push → 内网 mirrors 发布 dev 版本
9
+
10
+ # ── 打 tag 触发发布(核心:打 tags + 发布) ──
11
+ $:
12
+ tag_push:
13
+ - services:
14
+ - docker
15
+ docker:
16
+ image: node:24
17
+ runner:
18
+ network: devnet
19
+ stages:
20
+ - name: 安装依赖
21
+ script: npm install
22
+ - name: 构建项目
23
+ script: npm run build
24
+ - name: 配置 npm 官方源
25
+ script: npm config set registry https://registry.npmjs.org
26
+ - name: 配置 token
27
+ imports: https://git.woa.com/qq-ai/web/secret/blob/master/envs/npm/npmjs.txt
28
+ script: npm config set //registry.npmjs.org/:_authToken=$NPM_TOKEN
29
+ - name: 设置 npm 包版本号
30
+ script: npm version ${ORANGE_BRANCH} --no-git-tag-version --allow-same-version
31
+ - name: 发布 npm 包
32
+ script: npm publish --access public
33
+ - name: 生成通知
34
+ script: echo "@tencent-connect/dsh-qqbot@${ORANGE_BRANCH} 发布成功" > message.txt
35
+ - name: 发送通知
36
+ type: wework:message
37
+ options:
38
+ fromFile: message.txt
39
+
40
+
41
+ # ── MR 检查 ──
42
+ merge_request:
43
+ - docker:
44
+ image: node:24
45
+ wework:
46
+ silent: true
47
+ stages:
48
+ - name: 安装依赖
49
+ script: npm install
50
+ - name: TypeScript 类型检查
51
+ script: npx tsc --noEmit
52
+
53
+ # ── feat/fix 分支 push:内网发布 dev 版本 ──
54
+ (feat|fix)/**:
55
+ push:
56
+ - docker:
57
+ image: node:24
58
+ runner:
59
+ network: devnet
60
+ stages:
61
+ - name: 安装依赖
62
+ script: npm install
63
+ - name: 构建项目
64
+ script: npm run build
65
+ - name: 设置测试版本
66
+ script: npm version "0.0.0-dev.${ORANGE_COMMIT_SHORT}" --no-git-tag-version
67
+ - name: 发布 npm 包
68
+ image: tencentcom/npm:latest
69
+ imports: https://git.woa.com/qq-ai/web/secret/blob/master/envs/npm/public.txt
70
+ settings:
71
+ username: $USER
72
+ password: $PWD
73
+ email: $EMAIL
74
+ registry: https://mirrors.tencent.com/npm/
75
+ folder: ./
76
+ tag: dev
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Tencent Connect
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # @tencent-connect/dsh-qqbot
2
2
 
3
- 基于 [deepseek-harness](../deepseek-harness) (dsh) 的 QQ Bot IM 插件,将 QQ 消息平台作为 dsh agent 的前端协议驱动。
3
+ 基于 [deepseek-harness](https://github.com/deepseek-ai/deepseek-harness) (dsh) 的 QQ Bot IM 插件,将 QQ 消息平台作为 dsh agent 的前端协议驱动。
4
+
5
+ 中文 | [English](./README_EN.md)
4
6
 
5
7
  ## 架构
6
8
 
@@ -13,45 +15,19 @@ QQ 用户 → QQ WebSocket → dsh-im-qqbot → ctx.agents → dsh agent loop
13
15
 
14
16
  ## 安装
15
17
 
16
- ### 方式一:一键安装脚本
17
-
18
- ```bash
19
- # 安装默认包最新版本
20
- sh install.sh
21
-
22
- # 指定版本
23
- sh install.sh --version 0.2.0
24
-
25
- # 指定包名
26
- sh install.sh --pkg @myorg/my-qqbot-plugin
27
-
28
- # 指定包名 + 版本
29
- sh install.sh --pkg @myorg/my-qqbot-plugin --version 1.0.0
30
-
31
- # 指定 npm registry
32
- sh install.sh --registry https://registry.npmmirror.com
33
-
34
- # 查看帮助
35
- sh install.sh --help
36
- ```
37
-
38
- 脚本自动完成 dsh/pnpm 预检 + profile 初始化 + 插件注册。
39
-
40
- ### 方式二:手动执行
18
+ ### 方式一:手动执行
41
19
 
42
20
  ```bash
43
21
  # 安装到 profile
44
22
  dsh plugin --profile qqbot add @tencent-connect/dsh-qqbot
45
23
 
46
- # 配置环境变量
47
- export QQBOT_APPID="你的AppID"
48
- export QQBOT_SECRET="你的AppSecret"
49
-
50
24
  # 启动
51
25
  dsh --profile qqbot
52
26
  ```
53
27
 
54
- ### 方式三:本地路径安装
28
+ 首次启动时,插件检测到凭据未配置会自动进入扫码引导:终端输出二维码 → 手机 QQ 扫码绑定 → 凭据自动保存到 profile,后续启动无需再次扫码。
29
+
30
+ ### 方式二:本地路径安装
55
31
 
56
32
  ```bash
57
33
  # 构建
@@ -95,36 +71,44 @@ pnpm dsh web --patch /path/to/dsh-qqbot/cordis.dev.yml
95
71
 
96
72
  | 命令 | 说明 |
97
73
  |------|------|
98
- | `/reset` | 重置当前会话(清除上下文) |
99
- | `/clear` | 同 `/reset` |
74
+ | `/bot-reset` | 重置当前会话(清除上下文) |
75
+ | `/bot-model` | 查看或切换模型 |
76
+ | `/bot-status` | 查看当前会话状态 |
77
+ | `/bot-help` | 查看所有指令 |
100
78
 
101
79
  ## 核心模块
102
80
 
103
81
  ```
104
82
  src/
105
- ├── index.ts # Cordis 插件入口(async apply)
106
- ├── config.ts # 配置 Schema
107
- ├── session-manager.ts # QQ peer → Agent 映射(get → resume → create)
108
- ├── inbound.ts # QQ 入站消息 → agent.followup()
109
- ├── outbound.ts # session/event → QQ sendMarkdown
110
- ├── mention.ts # @mention 检测/清理
111
- ├── chunker.ts # Markdown 文本切分(代码块/表格感知)
112
- └── types.ts # 内部类型定义
83
+ ├── index.ts # Cordis 插件入口(async apply)
84
+ ├── config.ts # 配置 Schema
85
+ ├── types.ts # 全局类型定义
86
+ ├── setup.ts # 凭据绑定(扫码)
87
+ ├── transport/ # 传输层
88
+ │ ├── inbound.ts # QQ 入站消息 → agent.followup()
89
+ │ ├── outbound.ts # session/event → QQ sendMarkdown
90
+ │ ├── outbound-buffer.ts # 流式缓冲
91
+ │ └── chunker.ts # Markdown 文本切分
92
+ ├── session/ # 会话管理层
93
+ │ ├── session-manager.ts # QQ peer → Agent 映射
94
+ │ └── idle-evictor.ts # 闲置回收
95
+ ├── model/ # 模型路由层
96
+ │ ├── model-resolver.ts # 路由解析
97
+ │ ├── prefs-store.ts # per-peer 偏好持久化
98
+ │ └── settings-reader.ts # settings.yaml 只读
99
+ ├── shared/ # 共享工具
100
+ │ ├── utils.ts # 通用函数
101
+ │ ├── scope.ts # scope/peer 提取
102
+ │ └── send-helper.ts # 分块发送
103
+ ├── commands/ # 斜杠命令
104
+ └── typings/ # 外部模块声明
113
105
  ```
114
106
 
115
107
  ## 会话路由
116
108
 
117
- sessionKey 格式: `qqbot:${appId}:${kind}:${peerId}`
118
-
119
- - c2c (私聊): `qqbot:102901613:c2c:B9CE1DEEC46B...`
120
- - group (群聊): `qqbot:102901613:group:16FA861B01EE...`
121
-
122
- SessionId 由 sessionKey 确定性派生(SHA-256),保证同一用户/群的消息始终路由到同一 agent,重启后可恢复会话。
109
+ sessionKey: `qqbot:${appId}:${scope}:${peerId}`,由 SHA-256 确定性派生 SessionId,重启后可恢复。
123
110
 
124
- 会话解析策略(三级降级):
125
- 1. **进程内复用** — `agents.get(sessionId)`
126
- 2. **持久化恢复** — `agents.resume({ resumeSessionId, setup })`
127
- 3. **全新创建** — `agents.create({ sessionId, meta, setup })`
111
+ 解析策略:进程内复用 → 持久化恢复 → 全新创建。
128
112
 
129
113
  ## 设计原则
130
114
 
@@ -153,46 +137,6 @@ export QQBOT_APPID="xxx" QQBOT_SECRET="xxx"
153
137
  pnpm dsh web --patch /path/to/dsh-qqbot/cordis.dev.yml
154
138
  ```
155
139
 
156
- ### 断点调试
140
+ ## License
157
141
 
158
- ```bash
159
- node --inspect ./node_modules/.bin/dsh --profile headless \
160
- --patch /path/to/dsh-qqbot/cordis.dev.yml
161
- ```
162
-
163
- ### VS Code launch.json
164
-
165
- ```json
166
- {
167
- "version": "0.2.0",
168
- "configurations": [
169
- {
170
- "name": "dsh + qqbot (patch)",
171
- "type": "node",
172
- "request": "launch",
173
- "cwd": "/path/to/deepseek-harness",
174
- "runtimeExecutable": "pnpm",
175
- "runtimeArgs": ["dsh", "web", "--patch", "/path/to/dsh-qqbot/cordis.dev.yml"],
176
- "env": {
177
- "QQBOT_APPID": "你的AppID",
178
- "QQBOT_SECRET": "你的AppSecret",
179
- "DEEPSEEK_API_KEY": "sk-xxx"
180
- },
181
- "console": "integratedTerminal"
182
- }
183
- ]
184
- }
185
- ```
186
-
187
- ## 发布
188
-
189
- ```bash
190
- pnpm build
191
- npm publish --access public
192
- ```
193
-
194
- 安装后用户通过以下命令添加到 dsh:
195
-
196
- ```bash
197
- dsh plugin --profile qqbot add @tencent-connect/dsh-qqbot
198
- ```
142
+ [MIT](./LICENSE)
package/README_EN.md ADDED
@@ -0,0 +1,142 @@
1
+ # @tencent-connect/dsh-qqbot
2
+
3
+ A QQ Bot IM plugin for [deepseek-harness](https://github.com/deepseek-ai/deepseek-harness) (dsh), driving the dsh agent loop with the QQ messaging platform as the frontend protocol.
4
+
5
+ [中文文档](./README.md) | English
6
+
7
+ ## Architecture
8
+
9
+ ```
10
+ QQ User → QQ WebSocket → dsh-im-qqbot → ctx.agents → dsh agent loop → LLM
11
+ ↑ │
12
+ └── session/event ──────────┘
13
+ (assistant reply → QQ sendMarkdown)
14
+ ```
15
+
16
+ ## Installation
17
+
18
+ ### Method 1: Manual
19
+
20
+ ```bash
21
+ # Add to a profile
22
+ dsh plugin --profile qqbot add @tencent-connect/dsh-qqbot
23
+
24
+ # Start
25
+ dsh --profile qqbot
26
+ ```
27
+
28
+ On first launch, the plugin detects missing credentials and automatically starts the QR flow: a QR code is printed in the terminal → scan it with the QQ mobile app → credentials are saved to the profile, so subsequent launches require no re-scan.
29
+
30
+ ### Method 2: Local path
31
+
32
+ ```bash
33
+ # Build
34
+ cd /path/to/dsh-qqbot
35
+ pnpm install && pnpm build
36
+
37
+ # Add to a profile (local path)
38
+ dsh plugin --profile qqbot add /path/to/dsh-qqbot
39
+
40
+ # Start
41
+ export QQBOT_APPID="yourAppID" QQBOT_SECRET="yourAppSecret"
42
+ dsh --profile qqbot
43
+ ```
44
+
45
+ ### Method 3: --patch dev mode
46
+
47
+ ```bash
48
+ cd /path/to/deepseek-harness
49
+ export QQBOT_APPID="yourAppID" QQBOT_SECRET="yourAppSecret"
50
+ pnpm dsh web --patch /path/to/dsh-qqbot/cordis.dev.yml
51
+ ```
52
+
53
+ ## Configuration
54
+
55
+ | Config | Type | Default | Description |
56
+ |------|------|--------|------|
57
+ | `appId` | string | **required** | QQ Bot AppID (or via `QQBOT_APPID` env var) |
58
+ | `appSecret` | string | **required** | QQ Bot AppSecret (or via `QQBOT_SECRET` env var) |
59
+ | `provider` | string | `deepseek-official` | LLM provider name |
60
+ | `model` | string | `deepseek-chat` | Model name |
61
+ | `preset` | string | - | Agent preset id |
62
+ | `cwd` | string | `process.cwd()` | Agent working directory |
63
+ | `requireMention` | boolean | `true` | Whether group messages require @bot to trigger |
64
+ | `groupPrompt` | string | - | Extra system prompt for group chats |
65
+ | `directPrompt` | string | - | Extra system prompt for direct chats |
66
+ | `textChunkLimit` | number | `4500` | Max chars per message |
67
+ | `sessionIdleTimeout` | number | `1800000` | Session idle timeout (ms), default 30 min |
68
+ | `debug` | boolean | `false` | Debug mode |
69
+
70
+ ## Built-in Commands
71
+
72
+ | Command | Description |
73
+ |------|------|
74
+ | `/bot-reset` | Reset the current session (clear context) |
75
+ | `/bot-model` | View or switch model |
76
+ | `/bot-status` | View current session status |
77
+ | `/bot-help` | View all commands |
78
+
79
+ ## Core Modules
80
+
81
+ ```
82
+ src/
83
+ ├── index.ts # Cordis plugin entry (async apply)
84
+ ├── config.ts # Config schema
85
+ ├── types.ts # Global types
86
+ ├── setup.ts # Credential binding (QR)
87
+ ├── transport/ # Transport layer
88
+ │ ├── inbound.ts # QQ inbound message → agent.followup()
89
+ │ ├── outbound.ts # session/event → QQ sendMarkdown
90
+ │ ├── outbound-buffer.ts # Streaming buffer
91
+ │ └── chunker.ts # Markdown chunking
92
+ ├── session/ # Session management
93
+ │ ├── session-manager.ts # QQ peer → Agent mapping
94
+ │ └── idle-evictor.ts # Idle eviction
95
+ ├── model/ # Model routing
96
+ │ ├── model-resolver.ts # Route resolution
97
+ │ ├── prefs-store.ts # Per-peer preference persistence
98
+ │ └── settings-reader.ts # settings.yaml read-only
99
+ ├── shared/ # Shared utilities
100
+ │ ├── utils.ts # Common helpers
101
+ │ ├── scope.ts # scope/peer extraction
102
+ │ └── send-helper.ts # Chunked send
103
+ ├── commands/ # Slash commands
104
+ └── typings/ # External module declarations
105
+ ```
106
+
107
+ ## Session Routing
108
+
109
+ sessionKey: `qqbot:${appId}:${scope}:${peerId}`, with the SessionId derived deterministically via SHA-256 so sessions survive restarts.
110
+
111
+ Resolution strategy: in-process reuse → persisted resume → fresh create.
112
+
113
+ ## Design Principles
114
+
115
+ - **Pure Cordis plugin** — follows the dsh "Plugins, not loop changes" principle
116
+ - **Declarative dependencies** — `inject = ['agents']`, no direct coupling to other plugins
117
+ - **Session isolation** — one independent Agent per QQ direct user / group
118
+ - **Preset support** — mount presets (toolkits, prompts, etc.) via the `agent-presets` service
119
+ - **Idle eviction** — auto-dispose Agents on timeout to prevent memory leaks
120
+ - **Markdown output** — replies sent as Markdown with code-block/table-aware chunking
121
+
122
+ ## Local Development
123
+
124
+ ```bash
125
+ # Install dependencies
126
+ pnpm install
127
+
128
+ # Build
129
+ pnpm build
130
+
131
+ # Dev mode (watch)
132
+ pnpm dev
133
+
134
+ # Debug via --patch (inside the dsh monorepo)
135
+ cd /path/to/deepseek-harness
136
+ export QQBOT_APPID="xxx" QQBOT_SECRET="xxx"
137
+ pnpm dsh web --patch /path/to/dsh-qqbot/cordis.dev.yml
138
+ ```
139
+
140
+ ## License
141
+
142
+ [MIT](./LICENSE)
package/dist/index.js CHANGED
@@ -135,7 +135,7 @@ async function bootstrap(ctx, agents, config, logger) {
135
135
  logger.error(`bot error: ${err instanceof Error ? err.message : String(err)}`);
136
136
  });
137
137
  bot.on('ready', () => {
138
- logger.info(`Bot ready! appId=${config.appId}`);
138
+ console.log(`[im-qqbot] Bot ready! appId=${config.appId}`);
139
139
  });
140
140
  // ── 生命周期 ──
141
141
  ctx
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cxyhhhhh/dsh-qqbot",
3
- "version": "0.1.0-dev.202608142112",
3
+ "version": "0.1.0-dev.202608142135",
4
4
  "description": "QQ Bot IM channel plugin for deepseek-harness (dsh)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",