dsh-slack 0.3.0 → 0.3.1

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.
Files changed (3) hide show
  1. package/README.en.md +12 -8
  2. package/README.md +9 -7
  3. package/package.json +59 -59
package/README.en.md CHANGED
@@ -1,5 +1,7 @@
1
1
  [中文](README.md)
2
2
 
3
+ ![npm](https://img.shields.io/npm/v/dsh-slack) ![downloads](https://img.shields.io/npm/dm/dsh-slack) ![license](https://img.shields.io/github/license/STARDUSTLC666/dsh-slack) ![stars](https://img.shields.io/github/stars/STARDUSTLC666/dsh-slack?style=social)
4
+
3
5
  # dsh-slack
4
6
 
5
7
  [![Awesome DSH Plugin](https://awesome-dsh-plugin.com/badge.svg)](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
- ### v0.2.3 improvements
25
+ ## Changelog
24
26
 
25
- - `slack_channels` paginates automatically so large workspaces no longer lose channels after the first page.
26
- - `slack_inbox` deduplicates Slack's at-least-once event deliveries and drains atomically on `markRead`.
27
- - WebClient reuse avoids rebuilding clients on every tool call.
28
- - Pagination has a page cap to prevent loops from a misbehaving `next_cursor`.
29
- - Error mapping adds `not_authed` / `is_archived` / `msg_too_long` / `ratelimited`.
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
- Verified against `@deepseek-ai/dsh@0.1.1-rc.2` on 2026-08-26. Built for the cordis patch-bundle plugin model (`cordis.patch.yml` + `dsh.bundle.patch`). No runtime imports of `@deepseek-ai/*` internals.
38
+ Verified with official `@deepseek-ai/dsh@0.1.5-rc.1` and Node `24.16.0` on 2026-09-11: all 18 components load alongside Modlens, with passing tool-schema, skill-registration and offline read-only invocation checks. Uses the `cordis.patch.yml` + `dsh.bundle.patch` bundle model. Node requirements match this Harness release: 22.19 or later within 22.x, or 24 or later. Live external-service workflows require separate configuration and validation.
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
@@ -25,18 +25,20 @@ DSH(DeepSeek Harness)社区插件:让 agent 与 Slack 双向通信。
25
25
  - WebClient 按 `token + slackApiUrl` 缓存复用,配置变更时自动重建。
26
26
  - 配置走 `cordis.patch.yml`,令牌支持环境变量回退(`DSH_SLACK_TOKEN` / `DSH_SLACK_APP_TOKEN`)。
27
27
 
28
- ### v0.2.3 优化
28
+ ## 版本记录
29
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`。
30
+ - **0.3.0**:新增 `slack_health` 自检(令牌/Socket Mode 配置一键体检);修复只配置部分字段(如只有 token 没有 appToken)时可选链导致的启动崩溃。
31
+ - **0.2.3**:
32
+ - `slack_channels` 自动分页:频道很多时不再只返回第一页。
33
+ - `slack_inbox` 去重 + `drain` 原子消费:Slack 重投的事件不会重复入队,`markRead` 期间新到的消息也不会被误清。
34
+ - WebClient 复用:同一 `token + slackApiUrl` 只创建一个客户端,减少重复初始化。
35
+ - 分页增加页数上限,防止异常 `next_cursor` 导致死循环。
36
+ - 错误映射补充 `not_authed` / `is_archived` / `msg_too_long` / `ratelimited`。
35
37
 
36
38
 
37
39
  ## 兼容性
38
40
 
39
- 在 `@deepseek-ai/dsh@0.1.1-rc.2` 上验证(2026-08-26)。遵循 cordis 组合包补丁模型(`cordis.patch.yml` + `dsh.bundle.patch`),运行时不 import 任何 `@deepseek-ai/*` 内部模块。
41
+ 已在官方 `@deepseek-ai/dsh@0.1.5-rc.1`、Node `24.16.0` 上验证(2026-09-11):18 个组件与 Modlens 同载,工具 schema、技能注册及离线只读调用检查通过。采用 `cordis.patch.yml` + `dsh.bundle.patch` 组合包模型。Node 要求与该版本 Harness 一致:22.19 及以上的 22.x,或 24 及以上。外部服务的实际业务操作需按各组件配置单独验证。
40
42
 
41
43
  ## 安装
42
44
 
package/package.json CHANGED
@@ -1,59 +1,59 @@
1
- {
2
- "name": "dsh-slack",
3
- "version": "0.3.0",
4
- "description": "DSH 社区插件:Slack 通知/桥接(v0.2 支持 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"
58
- }
59
- }
1
+ {
2
+ "name": "dsh-slack",
3
+ "version": "0.3.1",
4
+ "description": "DSH 社区插件:Slack 通知/桥接(v0.2 支持 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
+ }