Repository navigation
Releases
v0.1.2
中文
本版本汇总自 v0.1.1 以来的变更。
新增功能
- 出站消息可以选择 Markdown 格式,由渠道自己转成对方能显示的排版:Telegram 用 HTML,微信用它自己的 Markdown。
- 附件打通:出站附件可以直接给本地字节,入站附件可以按需取回内容,微信侧自动解密。
- 微信回复不再因为等得久而丢掉:过期的会话凭据会在发送前自动换取新的。
体验优化
- 发送失败会重试:网络抖动和限流会被重试,渠道要求的等待时间会被遵守。
其他变更
- 两个适配器各自移入自己的目录,
@wowyuarm/dsh-channel-gateway/telegram与/weixin两个入口不变。
安装
dsh plugin add @wowyuarm/dsh-channel-gateway --profile <profile>兼容性:peer 仍为 @deepseek-ai/cordis ^4.0.1 与 @deepseek-ai/schemastery ^3.18.1,由宿主 DSH 提供。
English
Changes since v0.1.1.
New
- An outbound message can ask for Markdown, and each channel renders it the way its provider displays formatted text: HTML for Telegram, WeChat's own Markdown for Weixin.
- Attachments work end to end: an outbound attachment sends from local bytes, and an inbound one is fetched on demand — decrypted automatically on the Weixin side.
- A Weixin reply is no longer lost when the agent takes a while: an expired conversation credential is refreshed before sending.
Improvements
- A failed send is retried: transport blips and rate limits are tried again, honouring the wait the provider asks for.
Other changes
- Each adapter moved into its own directory; the
@wowyuarm/dsh-channel-gateway/telegramand/weixinentries are unchanged.
Install
dsh plugin add @wowyuarm/dsh-channel-gateway --profile <profile>Compatibility: peers remain @deepseek-ai/cordis ^4.0.1 and @deepseek-ai/schemastery ^3.18.1, provided by the host DSH.
Full Changelog: v0.1.1...v0.1.2
v0.1.1
中文
本版本汇总自 v0.1.0 以来的变更。
问题修复
- Telegram 长文本不再被切断在词中间:超过单条上限时优先在换行处断开,其次空格,且绝不落在 emoji 的字符中间。
其他变更
- README 与架构文档补上宿主版本兼容表,以及一条自行复验当前 DSH 版本的命令。
安装
dsh plugin add @wowyuarm/dsh-channel-gateway --profile <profile>兼容性:peer 仍为 @deepseek-ai/cordis ^4.0.1 与 @deepseek-ai/schemastery ^3.18.1,由宿主 DSH 提供。
English
Changes since v0.1.0.
Fixes
- Long Telegram text is no longer cut mid-word: past the single-message limit it breaks at a line, then a space, and never between the halves of an emoji.
Other changes
- Both READMEs and the architecture doc gained a host-version compatibility table and a command that re-verifies the DSH version you run.
Install
dsh plugin add @wowyuarm/dsh-channel-gateway --profile <profile>Compatibility: peers remain @deepseek-ai/cordis ^4.0.1 and @deepseek-ai/schemastery ^3.18.1, provided by the host DSH.
Full Changelog: v0.1.0...v0.1.1
v0.1.0
中文
dsh-channel-gateway 首个公开版本。
DSH 的 channel 网关:适配器把各聊天平台的消息归一成同一套消息契约,网关完成鉴权后分发一个 channel/inbound 事件,消费方用入站消息携带的 route 通过 ctx.channels.send 回复。它覆盖聊天接入的传输层——一条消息意味着什么、是否见过、下一步去哪,都由上层决定。
新增功能
- 五个面定型为公开 API:入站
InboundMessage、出站OutboundMessage、传输Channel、网关服务ctx.channels与channel/inbound事件。 - 鉴权在网关这一行:allowlist 默认谁都不放行,适配器不参与「谁能说话」。
- Telegram 适配器:Bot API 长轮询,文本、文档、图片、音频、视频。
- 微信适配器:iLink 长轮询,回复需带上入站消息的
context_token。 - 适配器都是可选行,安装 bundle 只插入 gateway 一行;core 只认声明的两个 peer,唯一的 runtime 依赖
undici只在适配器里使用。
已知限制
- 微信扫码登录尚未实现,现在要手工提供一个已获得的 token。
- 微信出站只发文本;入站媒体会上报,但不拉取也不发送。
安装
dsh plugin add @wowyuarm/dsh-channel-gateway --profile <profile>兼容性:peer 为 @deepseek-ai/cordis ^4.0.1 与 @deepseek-ai/schemastery ^3.18.1,由宿主 DSH 提供。
English
The first public release of dsh-channel-gateway.
A channel gateway for DeepSeek Harness: an adapter normalizes provider traffic into one message contract, the gateway authorizes it and announces a single channel/inbound event, and a consumer answers through ctx.channels.send with the route the inbound message carried. It covers the transport half of a chat integration; what a message means, whether it was seen before, and where it goes next are decided above it.
New
- Five surfaces fixed as the public API: inbound
InboundMessage, outboundOutboundMessage, transportChannel, thectx.channelsservice, and thechannel/inboundevent. - Authorization lives on the gateway row: an allowlist that admits nobody by default, with adapters taking no part in who may speak.
- Telegram adapter: Bot API long poll; text, documents, photos, audio and video.
- Weixin adapter: iLink long poll; a reply quotes the inbound
context_token. - Adapters are opt-in rows, and installing the bundle inserts only the gateway row; the core names nothing beyond its two peers, and its single runtime dependency,
undici, is used by adapters only.
Known limitations
- The Weixin adapter's QR login flow is not implemented yet; it starts from a token you provide.
- The Weixin adapter sends text only: inbound media is reported but neither fetched nor sent.
Install
dsh plugin add @wowyuarm/dsh-channel-gateway --profile <profile>Compatibility: peers are @deepseek-ai/cordis ^4.0.1 and @deepseek-ai/schemastery ^3.18.1, provided by the host DSH.