Skip to content

Releases: PRTS168/dsh-wechat-suite

v0.2.2

Choose a tag to compare

@PRTS168 PRTS168 released this 10 Sep 16:34

dsh-chatnode-wechat v0.2.2

自 v0.2.1 以来的改进(脱敏标准不变:仓库内无真实凭据 / 个人微信 ID / 本机路径)。

新增

  • 原生图片输入,与 OCR 可切换(适配 DeepSeek 4.1 多模态):微信收到的图片不再只能拿 OCR 文本,多模态模型会直接收到真正的 image 内容块自己看图
    • imageInput: auto(默认)按路由模型声明的 inputModalities 自动决定;native / ocr 可强制
    • 新增命令 /识图 [auto|native|ocr],聊天内运行时切换(重启后回到配置值)
    • imageInputModel 可把「只用于图片」的路由钉到另一个模型:文字走便宜的、图片走视觉模型
    • 若聊天路由是纯文本,auto 会在其他已注册路由里自动寻找声明了图片输入的模型
    • 两种模式都保留 [微信图片] <路径> 前缀,会话日志可重放、模型之后仍能重读该文件
  • send_email 工具:隐式 TLS 的纯文本 SMTP 客户端,可在聊天里直接让 agent 发邮件
    • 配置项 smtpHost / smtpPort / smtpUsername / smtpPassword / smtpFromName

其它

  • 凭据加固client-config.jsonaccount.json(运行时写到仓库根、含微信 token 明文)已加入 .gitignore;二者历史上从未被提交
  • 单元测试 72 → 86 项(新增 vision.test.ts 10 项、email.test.ts 4 项)
  • 首页 README 重写:改为「定位 → 30 秒上手 → 功能表 → 配置」结构,并把版本历史移入新增的 CHANGELOG.md
  • 新增 releases/ 目录,各版本发行说明随仓库分发
  • 仓库改名后的 URL 同步:PRTS168/dsh-chatnode-wechatPRTS168/dsh-wechat-suite

注意

启用原生识图需要先在 DSH 的 settings.yaml 里给路由模型声明图片输入,否则图片根本不会发给模型:

llm-deepseek:
  models:
    - id: deepseek-flash
      inputModalities: [text, image]

models: 列表是整体替换插件内置目录、不是追加,需把你实际路由到的每个 id 都列上。原因是 DeepSeek 适配器的内置目录早于 4.1 多模态(把 deepseek-v4-flash 记为纯文本,唯一声明 imagedeepseek-v4-flash-vision-exp 已下线)。

另:某路由真的拒过一次图片后会被抑制 3 小时、后续图片直接走 OCR——因为「声明」只是对端点的声称,不是检验。

仅供参考,已在一套环境实测(2026-09)。拉取后需 pnpm build重启 dsh web 才会加载新工具与新命令。

v0.2.1

Choose a tag to compare

@PRTS168 PRTS168 released this 10 Sep 13:05

dsh-chatnode-wechat v0.2.1

自 v0.2.0 以来的改进(脱敏标准不变:仓库内无真实凭据 / 个人微信 ID / 本机路径)。

新增

  • Web 管理页「微信桥配置」(设置 → 插件 → 微信桥配置):在一个页面里管理全部占位待填项
    • 必填:微信白名单 ID、人设 preset 名、聊天模型 provider / 模型
    • 可选:cwd、mediaDir、reminderFile、morningFile、esp32BaseUrl、心跳间隔、审批超时、单条上限、分块间隔
    • 媒体模型:OCR / 生图 / STT / TTS 的 Key、模型、目录与克隆音色 uri
    • 密钥脱敏显示;留空 = 不修改,输入 - = 清除;保存直接改写 profile 的 cordis.patch.yml(自动备份、保留注释与其他插件行)
  • 人设设置:列出 agent preset,在线编辑人设正文(仅替换 agent.cordis.yml 的 persona 段,自动备份),并支持「复制为新 preset」快速派生第二个人设
  • 主机 API /dsh-chatnode-wechat/apiGET /schema /config /status /presets /personaPOST /save /persona /preset/copy
    • 全部请求必须携带自定义头 X-DSH-Chatnode-Wechat: 1(跨站无法伪造)
    • 第二个 bundle 行 dsh-chatnode-wechat/config-api 只在存在 webServer 的 profile 中加载,headless 不受影响

其它

  • 依赖对齐 DSH 0.1.1-rc.2(原 0.1.0-rc.6),typecheck / build 全过
  • 单元测试 65 → 72 项(新增配置读写、备份、密钥脱敏用例)
  • README 中英同步:Web 管理页与人设使用说明;非官方 fork 声明(fork 自 Jesse-njx/dsh-chatnode-wechat 快照 2bd4c15

注意

仅供参考,已在一套环境实测(2026-09)。保存配置或人设后需重启 dsh web 生效;WEIXIN_* 凭据仍需先 pnpm login 扫码写入。

v0.2.0

Choose a tag to compare

@PRTS168 PRTS168 released this 09 Sep 18:15

dsh-chatnode-wechat v0.2.0

自 v0.1.0 以来的改进(本仓库已按公开可发布标准脱敏:无真实凭据/个人微信 ID/本机路径)。

新功能

  • 入站用户消息附带发送时间戳:喂给 AI 的内容统一加 [发送于 YYYY-MM-DD HH:mm] 前缀(文字/图片 OCR/语音 STT/文件/视频全部生效)
  • 双向文件与视频
    • 入站 file/video 自动下载解密并落盘 mediaDir,以 [微信文件] / [微信视频] 带路径引用交给 agent(保留原名,失败有明确提示)
    • 出站新增 agent 工具 wechat_send_file / wechat_send_video(视频以可播放 mp4 附件送达,iLink 无原生视频气泡)
  • 接通 /perm:两步切换权限预设命令(此前机制就绪但无命令入口)
  • 一键配置向导 scripts/setup.mjspnpm setup(交互)或 --yes --set key=value(非交互,支持 --dry-run);siliconflowKey 一键填充 OCR/生图/STT/TTS 四把 key;只改 profile 中 dsh-chatnode-wechat 配置块、自动备份

其它

  • 单元测试 65 项全绿(gateway 18 / node 24 / markdown 9 / morning 6 / picker 4 / reminders 4),可离线运行(fake iLink 服务器)
  • 新增:入站文件/视频用例、发送时间戳断言
  • README 双语同步(/perm、pnpm setup、填写点说明);版本号 0.2.0

注意

仅供参考,已在一套环境实测(2026-09);配置需按 README / pnpm setup 自行填入(allowFromWEIXIN_* 凭据、SiliconFlow sk-ttsVoice 等)。