From e577e66a93459ba71cdd772542c329d3723448e4 Mon Sep 17 00:00:00 2001 From: xmanrui <841206367@qq.com> Date: Mon, 24 Aug 2026 04:12:18 +0800 Subject: [PATCH] chore: release v2.0.0 --- CHANGELOG.md | 20 +++++++++++++++++++- README.en.md | 2 +- README.md | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 5 files changed, 24 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 06b0409..08abec0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,16 +6,33 @@ This file records the notable changes in each dsh-im release. Its format follows ## [Unreleased] +## [2.0.0] - 2026-08-24 + ### Added / 新增 +- Discord 服务器文字和公告频道首次 @ 机器人后会创建原生 Thread;后续消息、流式回答和结果文件都留在该 Thread,并在重启、事件重放和并发创建时保持同一会话。 + The first bot mention in a Discord server text or announcement channel now creates a native Thread; follow-up messages, streamed replies, and result files stay in that Thread, with stable routing across restarts, event replays, and concurrent creation attempts. +- Telegram 新增原生 Rich Message:私聊使用可更新 Draft 并持久化唯一最终消息,群聊和 Topic 原位完成占位消息,同时保留 Markdown 结构、长内容拆分和确定性纯文本降级。 + Added native Telegram Rich Messages: private chats update a Draft and persist one final message, while groups and Topics finalize their placeholder in place, preserving Markdown structure, long-content splitting, and deterministic plain-text fallback. - 新增机器人聊天消息的英文支持:Host 配置 `language: en`(或环境变量 `DSH_IM_LANGUAGE=en`)后,各渠道发送给用户的提示、命令帮助和交互消息会切换为英文;未设置或未收录的文案仍以中文原样输出,不影响现有中文用户。 Added English support for bot chat messages: with `language: en` in the Host config (or the `DSH_IM_LANGUAGE=en` environment variable), prompts, command help, and interaction messages sent by every channel switch to English; unset or untranslated text is still sent verbatim in Chinese, so existing Chinese users are unaffected. ### Changed / 变更 +- **重大变更:** Discord 服务器父频道中的任务现在默认迁移到机器人创建的 Public Thread。部署方需要启用 **Message Content Intent**,并授予 **Create Public Threads**、**Send Messages in Threads**、**Send Messages** 和 **Read Message History**;文件交付还需要 **Attach Files**。 + **Breaking:** Discord tasks started in server parent channels now move into bot-created Public Threads by default. Deployments must enable **Message Content Intent** and grant **Create Public Threads**, **Send Messages in Threads**, **Send Messages**, and **Read Message History**; file delivery also requires **Attach Files**. +- Harness 助手增量和最终回答现在保留 Markdown 呈现意图,Telegram 交付回执会记录 Rich、纯文本降级、失败或不确定终态,并避免重复最终消息。 + Harness assistant updates and final replies now preserve Markdown presentation intent; Telegram delivery receipts record Rich delivery, plain-text fallback, failure, or uncertain terminal outcomes without duplicating final messages. - 统一各渠道共用的英文文案到共享词典,消除同名键在不同渠道词典中的重复定义。 Consolidated English copy shared across channels into the shared dictionaries, removing duplicate keys that were defined in multiple channel dictionaries. +### Fixed / 修复 + +- 最终文本交付明确失败时会向渠道上层报告安全错误,同时仍然完成已登记结果文件的交付,不会重复运行 Prompt。 + Definite final-text delivery failures now surface a safe channel-level error while registered result files still settle, without rerunning the Prompt. +- 收紧 Host 语言值识别并修复 Discord、Slack、Telegram 等渠道的英文消息边界,未知语言继续可靠回退为中文。 + Hardened Host language-value recognition and English-message handling in Discord, Slack, Telegram, and other channels, while unknown languages continue to fall back reliably to Chinese. + ## [1.5.0] - 2026-08-24 ### Added / 新增 @@ -222,7 +239,8 @@ This file records the notable changes in each dsh-im release. Its format follows - 改进 npm 发布包结构,保留 CLI 入口并避免安装脚本拦截。 Improved npm package contents to preserve the CLI entry point and avoid install-script blocking. -[Unreleased]: https://github.com/xmanrui/dsh-im/compare/v1.5.0...HEAD +[Unreleased]: https://github.com/xmanrui/dsh-im/compare/v2.0.0...HEAD +[2.0.0]: https://github.com/xmanrui/dsh-im/compare/v1.5.0...v2.0.0 [1.5.0]: https://github.com/xmanrui/dsh-im/compare/v1.4.0...v1.5.0 [1.4.0]: https://github.com/xmanrui/dsh-im/compare/v1.3.0...v1.4.0 [1.3.0]: https://github.com/xmanrui/dsh-im/compare/v1.2.0...v1.3.0 diff --git a/README.en.md b/README.en.md index 4e7d996..c62a953 100644 --- a/README.en.md +++ b/README.en.md @@ -51,7 +51,7 @@ Connect IM bots to DeepSeek Harness by scanning a QR code, using an App Manifest | WeCom | Create an intelligent bot by QR code, or bind one with Bot ID + Secret | Official WebSocket connection; native thinking state, tool progress, and streaming replies | | QQ | Create a bot with mobile QQ QR scanning, or bind one with AppID + AppSecret | WebSocket connection; private chats show typing and receive one Markdown reply, while mentioned group chats receive only the final answer | | Slack | Create an app from the bundled App Manifest, then enter a Bot Token (`xoxb-`) and App Token (`xapp-`) | Socket Mode connection; direct DM replies, mention-only channel replies, and preferred native streaming API | -| Telegram | Enter a Bot Token generated by @BotFather | Bot API long polling; DMs work by default and groups respond to mentions or replies, while each bot can optionally enable a private-DM allowlist; streaming uses message edits | +| Telegram | Enter a Bot Token generated by @BotFather | Bot API long polling; DMs work by default and groups respond to mentions or replies, while each bot can optionally enable a private-DM allowlist; private chats stream through a Rich Message Draft and persist one rich final, groups and Topics finalize their placeholder in place, and unsupported Rich delivery falls back to ordinary text | | Discord | Enter a Bot Token generated in the Developer Portal | Gateway v10 connection; direct DM replies; the first mention in a server text or announcement channel creates a native Thread, where follow-up messages no longer need to mention the bot; replies stream through message edits | | WhatsApp | Scan a QR code with mobile WhatsApp to link a device | WhatsApp Web connection; self-chat only by default, with optional selected-contact and open-response modes; read receipt and typing indicator followed by the final answer | diff --git a/README.md b/README.md index 7ff8f9d..9df3152 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ Connect IM bots to DeepSeek Harness by scanning a QR code, using an App Manifest | 企业微信 | 使用企业微信 App 扫码创建智能机器人,或使用 Bot ID + Secret 手动绑定 | 官方 WebSocket 长连接;原生显示“正在思考中”、工具执行进度和流式回答 | | QQ | 使用手机 QQ 扫码创建机器人,或使用 AppID + AppSecret 手动绑定 | WebSocket 长连接;私聊显示“正在输入”并以单条 Markdown 回复,群聊被 @ 后只发送最终答案 | | Slack | 使用预置 App Manifest 创建应用,再填写 Bot Token(`xoxb-`)和 App Token(`xapp-`) | Socket Mode 长连接;私聊直接回复,频道被 @ 后响应,优先使用官方流式消息 API | -| Telegram | 使用 @BotFather 生成的 Bot Token | Bot API 长轮询;默认私聊直接响应、群聊被提及或回复时响应,也可为每个机器人独立启用私聊白名单安全模式;通过编辑消息流式显示回答 | +| Telegram | 使用 @BotFather 生成的 Bot Token | Bot API 长轮询;默认私聊直接响应、群聊被提及或回复时响应,也可为每个机器人独立启用私聊白名单安全模式;私聊通过 Rich Message Draft 流式预览并持久化最终富消息,群聊和 Topic 原位完成占位消息,平台不支持时回退为普通文字 | | Discord | 使用 Developer Portal 生成的 Bot Token | Gateway v10 长连接;私信直接回复;服务器文字/公告频道首次 @ 后创建原生 Thread,后续在线程中无需重复 @,并通过编辑消息流式显示回答 | | WhatsApp | 使用手机 WhatsApp 扫码关联设备 | WhatsApp Web 长连接;默认仅响应账号自聊,也可切换到指定联系人或开放响应模式;显示已读和“正在输入”,再发送最终回答 | diff --git a/package-lock.json b/package-lock.json index 46f9d14..0a8fe06 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@xmanrui/dsh-im", - "version": "1.5.0", + "version": "2.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@xmanrui/dsh-im", - "version": "1.5.0", + "version": "2.0.0", "license": "MIT", "dependencies": { "@tencent-connect/qqbot-connector": "1.2.0", diff --git a/package.json b/package.json index bf22d13..a71ff1d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@xmanrui/dsh-im", - "version": "1.5.0", + "version": "2.0.0", "description": "把九种 IM 机器人和公网 AI Office 接入本机 DeepSeek Harness。 Connect nine IM channels and a public AI Office to a local DeepSeek Harness.", "keywords": [ "deepseek-harness",