Stu-KatoMegumi/dsh-weixin
Stu-KatoMegumi/dsh-weixin is a DeepSeek Harness ecosystem project for tools and capabilities. Review its public README for features, setup, and usage details.
これは DeepSeek Harness(DSH)プラグインです。当サイトは GitHub README、インストール情報、メンテナンス状況、公開セキュリティシグナルをまとめています。
开发人员:STU-XIE
dsh-weixin
dsh-weixin 把微信 iLink/ClawBot 私聊接入 DSH agent。插件模式直接使用 DSH apiProxy,独立模式通过 DSH Web HTTP RPC + WebSocket 事件流连接。
功能
- 流式回复按模型分段:三个连续换行(\n\n\n)= 新气泡,单/双换行不切分;长度上限按当前气泡累计,空闲超时自动兜底
- Prompt 定制:system-prompt / soul / rules / memory 四个文件,网页表单编辑即时生效
- 微信“正在输入”状态,任务结束自动关闭
- 长轮询看门狗、指数退避重连和连接状态记录
- 登录约 24 小时到期前生成新二维码,旧 token 在扫码前继续工作
- 图片、语音、视频、文件接收(AES-128-ECB 解密)与文件发送
- 白名单、管理员命令、发送目录边界和 50 MB 媒体上限
- 用户→DSH 会话映射、对话历史、错误日志和单实例锁持久化
- DSH“设置 → 微信”页面,支持状态、扫码、权限、流式参数和定时任务热更新
- 五段 cron 定时提示任务
安装到 DSH
# 可选:默认 DSH_ROOT 为 D:\Program Files\dsh,profile 为 web
$env:DSH_ROOT = 'D:\Program Files\dsh'
$env:DSH_PROFILE = 'web'
npm install
npm run install:dsh
安装脚本调用 DSH 官方 plugin add 逻辑。Windows 上源码路径含空格时,脚本会使用 $DSH_HOME/bundles/dsh-weixin 稳定缓存,避免生成无法解析的 profile 包链接。
cd 'D:\Program Files\dsh'
pnpm dsh --profile web --dump-config
pnpm dsh --profile web
首次启动会打开扫码窗口(独立应用窗口,扫码成功后自动关闭)。登录凭据、会话映射和设置默认持久保存在 $DSH_HOME/channels/dsh-weixin(通常是 ~/.dsh/channels/dsh-weixin),更新或卸载插件不会删除它。
插件模式不输出日志:dsh-weixin 由 DSH 加载时给自身组件注入静默 logger(不动 DSH 自己的
console,因此 DSH 的启动横幅、状态输出等都保持正常);插件自身的收发/扫码日志不打印到 DSH 终端。扫码/续期窗口在 DSH 所在机器上用独立应用窗口弹出,扫码成功后自动关闭。需要完整日志排查时请改用独立模式npm start。
卸载
npm run uninstall:dsh
卸载会从指定 DSH profile 移除 bundle,并清理安装脚本创建的稳定缓存;不删除你的会话数据。
微信命令
/help:查看命令/new:创建并切换到新 DSH 会话/stop:取消当前任务/status:查看连接和会话状态/renew:立即生成扫码续期链接/send <相对路径>:发送outboxDir内的文件/users、/allow add|remove <ID>、/cron:管理员命令
定时任务
在设置页填写 JSON 数组:
[
{
"id": "morning-summary",
"cron": "0 9 * * 1-5",
"userId": "微信用户ID",
"prompt": "总结今天的待办事项",
"enabled": true
}
]
cron 按运行 DSH 的本地时区解析,五个字段依次是分、时、日、月、星期。
独立模式
npm start
默认连接 http://127.0.0.1:3080。配置集中放在 config/.env(参考 config/.env.example,该文件不进入版本库):进程已有的环境变量优先,.env 只补充缺失项;DSH_URL、WX_BOT_CWD、WX_BOT_SESSION_DIR、WX_BOT_PRESET、WX_BOT_ACCESS_POLICY、WX_BOT_ALLOWLIST、WX_BOT_ADMINS、WX_BOT_STREAMING、WX_BOT_TYPING 等均可在其中配置。
独立模式会在启动微信连接前调用只读 DSH API 检查服务。如果 DSH 未启动、地址错误或端口上不是 DSH,程序会提示先运行 pnpm dsh web 并以退出码 1 结束,不会启动扫码和微信轮询。检测超时默认为 3000 ms,可用 DSH_STARTUP_CHECK_TIMEOUT_MS 调整。
气泡与流式输出
回复按以下规则分成多条微信消息(气泡),主规则由模型决定:
- 三个连续换行(\n\n\n)= 一个气泡结束:模型在输出中用三个连续换行(空两行)主动切气泡,程序把三个换行前的内容立即作为一条消息发送(换行本身不进入微信文案)。单个/双换行只是段落排版,不会触发切分,避免多余断句。此契约写在
src/prompt/system-prompt.md,可在设置页修改。 - 长度兜底(按当前气泡累计):当前这一个气泡累计超过
streamFlushChars(默认 2000 字符)时,在最近的换行/标点处强制切分;每切出一个气泡后从下一个气泡重新计数,不从整条回复头部累计。 - 空闲兜底:模型超过
streamFlushMs(默认 8000 ms)没有新内容时,强制发出当前气泡,避免“没反应”。
Prompt 定制(人设 / 规则 / 记忆)
项目自带默认 prompt 文件:
src/prompt/
system-prompt.md 系统设定与气泡契约
soul.md 人设与灵魂
rules.md 行为规则
memory.md 背景记忆(静态,人工维护)
首次启动会把默认文件复制到频道数据目录(插件模式 $DSH_HOME/channels/dsh-weixin/prompt/,独立模式 session/prompt/),之后在 DSH“设置 → 微信”页面的 Prompt 定制 区编辑这些副本(保存/重置默认),修改对下一条消息即时生效。渲染后的 prompt 会在每次请求前注入给模型,支持 {date} 占位符(当前日期)。
开发验证
npm test
npm run check
セキュリティとインストールエビデンス
このスコアは公開リポジトリメタデータと当サイトに登録されたインストールエビデンスのみに基づくもので、コードセキュリティ監査とは異なります。
公開プラグインカタログから取得し、公開 GitHub リポジトリにリンクしています。
リポジトリは MIT ライセンスを宣言しています。
過去180日以内にコードの更新があります。
再現可能な正確なインストールメタデータはまだ登録されていません。リポジトリの説明に従って手動で確認してください。
確認したパッケージメタデータにインストールライフサイクルスクリプトは宣言されていません。