前言¶
DeepSeek Harness(DSH)通过插件化架构扩展功能。dsh-weixin-web 是一个插件,为 DSH Web 提供微信 iLink 通道。它将微信消息接入独立的 DSH 会话,并在 DSH Web 侧边栏提供扫码登录和原生管理面板。
核心功能¶
- 多机器人管理:在 Web 侧边栏绑定多个微信机器人,支持改名、暂停、恢复、重新登录或解绑。
- 会话隔离:每个微信联系人使用独立的 DSH 会话,统一归入「微信」工作区。
- 机器人配置:可为每个机器人设置人设、指定模型或恢复默认模型、配置预设。
- 多媒体支持:支持文字、图片、多图、文件、视频、语音转写和引用消息。
- 主动交互:支持主动推送、广播,以及向微信联系人发送图片、视频和文件。
- 数据持久化:自动保存机器人凭据、会话映射、消息预览和接收游标。
- 数据迁移:从 0.1.x 升级时自动迁移旧版机器人和会话数据。
安装与启用¶
确保系统已安装 Node.js 20.3 或更高版本,且 DSH Web profile 可以正常运行。
- 执行安装命令:
dsh plugin --profile web add github:agi-redtea/dsh-weixin-web
- 处理 pnpm 10 兼容性问题:pnpm 10 或更高版本可能会阻止 Git 依赖执行构建脚本,导致
ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED错误。
- 解决方案一:在 DSH 插件安装界面选择“允许这些脚本并重试”。
- 解决方案二:在 Web profile 的pnpm-workspace.yaml中加入以下配置,然后重新执行安装命令:
allowBuilds:
dsh-weixin-web: true
- 安装完成后,启动或重启 DSH:
dsh web --port 3080
使用说明¶
- 登录微信:打开 DSH Web,点击左侧栏的 微信,点击添加机器人并使用手机微信扫码。登录成功后,微信联系人发送的消息会自动进入对应的 DSH 会话。
- 设置机器人:在微信面板中打开机器人卡片的 设置:
- 人设:追加专属系统提示。
- 模型:指定该机器人的会话使用哪个模型;选择“跟随 DSH 默认”可恢复默认模型。
- 预设:应用于之后创建的新对话。
- 开始新对话:为指定联系人新建会话,旧会话仍保留在「微信」工作区。 - 调用发送功能:
- 模型可调用send_weixin_file向当前微信联系人发送图片、视频或文件。
- 调用push_weixin可主动发送文字;指定file参数时可以同时发送一个文件。
配置项¶
在 Web profile 的 cordis.patch.yml 中覆盖插件配置:
- insert:
- id: weixin
name: dsh-weixin-web
config:
replyMode: full
maxChunk: 1500
maxMediaBytes: 20971520
常用配置说明:
- stateDir:默认为 $DSH_HOME/dsh-weixin-web,用于存储凭据和会话状态。
- cwd:默认为 stateDir/workspace,微信会话工作目录。
- replyMode:默认为 full,full 回发整轮文本,last 只回最后一条。
- replyTimeoutMs:默认为 900000,单轮回复超时时间(毫秒)。
- approvalPolicy:默认为 never,微信会话的工具审批策略。
- maxChunk:默认为 1500,单条微信消息最大字符数。
- sendIntervalMs:默认为 2000,两条发送之间的最小间隔(毫秒)。
- maxMediaBytes:默认为 20971520,单个媒体文件的大小上限(20MB)。