dsh-slack 0.3.0 → 0.3.2
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 +12 -8
- package/README.md +12 -13
- package/package.json +59 -59
package/README.en.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
[中文](README.md)
|
|
2
2
|
|
|
3
|
+
   
|
|
4
|
+
|
|
3
5
|
# dsh-slack
|
|
4
6
|
|
|
5
7
|
[](https://awesome-dsh-plugin.com)
|
|
@@ -20,18 +22,20 @@ DSH (DeepSeek Harness) community plugin: lets the agent communicate with Slack b
|
|
|
20
22
|
- WebClient instances are cached by `token + slackApiUrl` and rebuilt automatically when configuration changes.
|
|
21
23
|
- Configuration via `cordis.patch.yml`; tokens support environment-variable fallback (`DSH_SLACK_TOKEN` / `DSH_SLACK_APP_TOKEN`).
|
|
22
24
|
|
|
23
|
-
|
|
25
|
+
## Changelog
|
|
24
26
|
|
|
25
|
-
- `
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
27
|
+
- **0.3.0**: new `slack_health` self-check (one-call token / Socket Mode config health); fixed a startup crash from optional chaining when only some config fields are set (e.g. token without appToken).
|
|
28
|
+
- **0.2.3**:
|
|
29
|
+
- `slack_channels` paginates automatically so large workspaces no longer lose channels after the first page.
|
|
30
|
+
- `slack_inbox` deduplicates Slack's at-least-once event deliveries and drains atomically on `markRead`.
|
|
31
|
+
- WebClient reuse avoids rebuilding clients on every tool call.
|
|
32
|
+
- Pagination has a page cap to prevent loops from a misbehaving `next_cursor`.
|
|
33
|
+
- Error mapping adds `not_authed` / `is_archived` / `msg_too_long` / `ratelimited`.
|
|
30
34
|
|
|
31
35
|
|
|
32
36
|
## Compatibility
|
|
33
37
|
|
|
34
|
-
|
|
38
|
+
Validation host: Harness `0.2.0-rc.1` built from official sources (commit `407e65c8`) with Node `24.16.0` on 2026-09-28. All 43 plugin tests pass in an isolated environment; all 18 plugins mount together in one host registering 5 tools, with tool schemas and health-check contracts passing. No live ports or external services were exercised in this round.
|
|
35
39
|
|
|
36
40
|
## Installation
|
|
37
41
|
|
|
@@ -201,4 +205,4 @@ Roadmap: v0.3 plans to introduce interactive components (buttons/modals) and a p
|
|
|
201
205
|
|
|
202
206
|
## License
|
|
203
207
|
|
|
204
|
-
MIT
|
|
208
|
+
MIT
|
package/README.md
CHANGED
|
@@ -8,9 +8,12 @@
|
|
|
8
8
|
|
|
9
9
|
[](https://awesome-dsh-plugin.com)
|
|
10
10
|
|
|
11
|
-
|
|
12
11
|
DSH(DeepSeek Harness)社区插件:让 agent 与 Slack 双向通信。
|
|
13
12
|
|
|
13
|
+
## 兼容性
|
|
14
|
+
|
|
15
|
+
验证宿主:官方源码构建的 Harness `0.2.0-rc.1`(commit `407e65c8`)+ Node `24.16.0`(2026-09-28)。43 项插件测试在隔离环境全部通过;同一个宿主里 18 个插件共同加载,注册 5 个工具,工具 schema 与健康检查契约通过。本轮未启用真实端口与外部服务。
|
|
16
|
+
|
|
14
17
|
> **v0.2 范围(双向)**:v0.1 只做「agent → Slack」单向通知;v0.2 新增 Socket Mode,
|
|
15
18
|
> 支持「Slack 消息 → agent」:`slack_inbox` 收取消息、`slack_reply` 线程回复。
|
|
16
19
|
> RTM、交互组件(按钮/弹窗/slash command 回复)不在 v0.2,见下方
|
|
@@ -25,18 +28,15 @@ DSH(DeepSeek Harness)社区插件:让 agent 与 Slack 双向通信。
|
|
|
25
28
|
- WebClient 按 `token + slackApiUrl` 缓存复用,配置变更时自动重建。
|
|
26
29
|
- 配置走 `cordis.patch.yml`,令牌支持环境变量回退(`DSH_SLACK_TOKEN` / `DSH_SLACK_APP_TOKEN`)。
|
|
27
30
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
- `slack_channels` 自动分页:频道很多时不再只返回第一页。
|
|
31
|
-
- `slack_inbox` 去重 + `drain` 原子消费:Slack 重投的事件不会重复入队,`markRead` 期间新到的消息也不会被误清。
|
|
32
|
-
- WebClient 复用:同一 `token + slackApiUrl` 只创建一个客户端,减少重复初始化。
|
|
33
|
-
- 分页增加页数上限,防止异常 `next_cursor` 导致死循环。
|
|
34
|
-
- 错误映射补充 `not_authed` / `is_archived` / `msg_too_long` / `ratelimited`。
|
|
31
|
+
## 版本记录
|
|
35
32
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
33
|
+
- **0.3.0**:新增 `slack_health` 自检(令牌/Socket Mode 配置一键体检);修复只配置部分字段(如只有 token 没有 appToken)时可选链导致的启动崩溃。
|
|
34
|
+
- **0.2.3**:
|
|
35
|
+
- `slack_channels` 自动分页:频道很多时不再只返回第一页。
|
|
36
|
+
- `slack_inbox` 去重 + `drain` 原子消费:Slack 重投的事件不会重复入队,`markRead` 期间新到的消息也不会被误清。
|
|
37
|
+
- WebClient 复用:同一 `token + slackApiUrl` 只创建一个客户端,减少重复初始化。
|
|
38
|
+
- 分页增加页数上限,防止异常 `next_cursor` 导致死循环。
|
|
39
|
+
- 错误映射补充 `not_authed` / `is_archived` / `msg_too_long` / `ratelimited`。
|
|
40
40
|
|
|
41
41
|
## 安装
|
|
42
42
|
|
|
@@ -114,7 +114,6 @@ export DSH_SLACK_APP_TOKEN=xapp-你的App级令牌
|
|
|
114
114
|
> 未配置 `appToken` 时插件**不会崩溃**:只打印告警,`slack_inbox` 返回空队列(中文提示)。
|
|
115
115
|
> Socket Mode 网络错误由 SDK 自动重连,插件只记录告警、不抛崩。
|
|
116
116
|
|
|
117
|
-
|
|
118
117
|
## 卸载
|
|
119
118
|
|
|
120
119
|
```bash
|
package/package.json
CHANGED
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "dsh-slack",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"description": "DSH
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./lib/index.js",
|
|
7
|
-
"types": "./lib/index.d.ts",
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"types": "./lib/index.d.ts",
|
|
11
|
-
"default": "./lib/index.js"
|
|
12
|
-
},
|
|
13
|
-
"./package.json": "./package.json",
|
|
14
|
-
"./cordis.patch.yml": "./cordis.patch.yml"
|
|
15
|
-
},
|
|
16
|
-
"files": [
|
|
17
|
-
"lib",
|
|
18
|
-
"cordis.patch.yml",
|
|
19
|
-
"README.md"
|
|
20
|
-
],
|
|
21
|
-
"license": "MIT",
|
|
22
|
-
"dsh": {
|
|
23
|
-
"bundle": {
|
|
24
|
-
"patch": "./cordis.patch.yml"
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
"scripts": {
|
|
28
|
-
"build": "tsc -p tsconfig.json",
|
|
29
|
-
"test": "pnpm run build && node --test \"test/*.test.mjs\"",
|
|
30
|
-
"prepublishOnly": "pnpm run build",
|
|
31
|
-
"test:protocol": "node test/protocol-acceptance.mjs"
|
|
32
|
-
},
|
|
33
|
-
"dependencies": {
|
|
34
|
-
"@slack/socket-mode": "^3.0.0",
|
|
35
|
-
"@slack/web-api": "^8.0.0"
|
|
36
|
-
},
|
|
37
|
-
"devDependencies": {
|
|
38
|
-
"@types/node": "^24.0.0",
|
|
39
|
-
"typescript": "^5.7.3"
|
|
40
|
-
},
|
|
41
|
-
"repository": {
|
|
42
|
-
"url": "git+https://github.com/STARDUSTLC666/dsh-slack.git",
|
|
43
|
-
"type": "git"
|
|
44
|
-
},
|
|
45
|
-
"bugs": {
|
|
46
|
-
"url": "https://github.com/STARDUSTLC666/dsh-slack/issues"
|
|
47
|
-
},
|
|
48
|
-
"homepage": "https://github.com/STARDUSTLC666/dsh-slack#readme",
|
|
49
|
-
"author": "stardustlc",
|
|
50
|
-
"keywords": [
|
|
51
|
-
"dsh-plugin",
|
|
52
|
-
"deepseek-harness",
|
|
53
|
-
"dsh"
|
|
54
|
-
],
|
|
55
|
-
"packageManager": "pnpm@11.7.0",
|
|
56
|
-
"engines": {
|
|
57
|
-
"node": ">=
|
|
58
|
-
}
|
|
59
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "dsh-slack",
|
|
3
|
+
"version": "0.3.2",
|
|
4
|
+
"description": "DSH Slack 插件:通知与桥接,Socket Mode 双向消息(收件箱 + 线程回复)。",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./lib/index.js",
|
|
7
|
+
"types": "./lib/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./lib/index.d.ts",
|
|
11
|
+
"default": "./lib/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./package.json": "./package.json",
|
|
14
|
+
"./cordis.patch.yml": "./cordis.patch.yml"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"lib",
|
|
18
|
+
"cordis.patch.yml",
|
|
19
|
+
"README.md"
|
|
20
|
+
],
|
|
21
|
+
"license": "MIT",
|
|
22
|
+
"dsh": {
|
|
23
|
+
"bundle": {
|
|
24
|
+
"patch": "./cordis.patch.yml"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"scripts": {
|
|
28
|
+
"build": "tsc -p tsconfig.json",
|
|
29
|
+
"test": "pnpm run build && node --test \"test/*.test.mjs\"",
|
|
30
|
+
"prepublishOnly": "pnpm run build",
|
|
31
|
+
"test:protocol": "node test/protocol-acceptance.mjs"
|
|
32
|
+
},
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"@slack/socket-mode": "^3.0.0",
|
|
35
|
+
"@slack/web-api": "^8.0.0"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@types/node": "^24.0.0",
|
|
39
|
+
"typescript": "^5.7.3"
|
|
40
|
+
},
|
|
41
|
+
"repository": {
|
|
42
|
+
"url": "git+https://github.com/STARDUSTLC666/dsh-slack.git",
|
|
43
|
+
"type": "git"
|
|
44
|
+
},
|
|
45
|
+
"bugs": {
|
|
46
|
+
"url": "https://github.com/STARDUSTLC666/dsh-slack/issues"
|
|
47
|
+
},
|
|
48
|
+
"homepage": "https://github.com/STARDUSTLC666/dsh-slack#readme",
|
|
49
|
+
"author": "stardustlc",
|
|
50
|
+
"keywords": [
|
|
51
|
+
"dsh-plugin",
|
|
52
|
+
"deepseek-harness",
|
|
53
|
+
"dsh"
|
|
54
|
+
],
|
|
55
|
+
"packageManager": "pnpm@11.7.0",
|
|
56
|
+
"engines": {
|
|
57
|
+
"node": "^22.19.0 || >=24.0.0"
|
|
58
|
+
}
|
|
59
|
+
}
|