zgat/dsh-wechat ↗★ 0

dsh-wechat

把 DeepSeek Harness 接进微信:扫码绑定后在微信里派活、收结果、回审批(iLink/ClawBot 协议) 适合希望在微信中派发任务、接收结果和处理审批的移动办公场景。

패키지
dsh-wechat
호환성
미검증
버전
0.1.25
라이선스
MIT
최근 업데이트
2026. 10. 1.

같은 패키지 이름의 다른 저장소

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:zgat/dsh-wechat

4.2 覆盖配置

在 profile 的 $DSH_HOME/profiles/ /cordis.patch.yml 里重复该行 id 即可覆盖(patch 会整体替换 config,请写全要保留的键):

- id: dsh-wechat
  name: 'dsh-wechat'
  config:
    enabled: true
    accessPolicy: allowlist
    allowedUserIds:
      - o9cq800kum_4g8Py8Qw5G0a@im.wechat
    workspace: /Users/me/projects/demo
    typing: true
    progress: brief
    chunkChars: 1800

6. 配置项

键默认说明
enabledtruefalse 时插件完全不动(不注册监听、不连网)
stateDir$DSH_HOME/integrations/dsh-wechat凭据、状态、媒体、二维码的存放目录
workspace第一个 DSH 工作区,否则 process.cwd()新会话的工作目录(绝对路径)
accessPolicyallowlistallowlist 只服务白名单;open 接受任何发送者
allowedUserIds[]允许的微信用户 ID 列表(也接受逗号分隔字符串)
ownerUserIdnull机器人所有者,始终放行;留空时自动采用扫码绑定的那个微信号,避免默认白名单把自己的消息也拦掉
autoLogintrue无凭据时自动走扫码登录
loginPagetrue是否启动本机扫码页(关闭后二维码只进日志与文件)
loginPagePort30989扫码页端口;被占用时自动改用系统分配的端口
openLoginPagetrue需要扫码时是否自动用默认浏览器打开扫码页
baseUrlnull覆盖 iLink 网关地址(默认官方 https://ilinkai.weixin.qq.com,私有部署/调试用)
cdnBaseUrlnull覆盖媒体 CDN 地址
chunkChars1800单条微信消息的最大字符数
typingtrue是否显示「对方正在输入」
typingKeepaliveSeconds5输入状态的保活间隔
progressbriefoff 只回最终答案;brief 加工具进度;verbose 再加中间说明
showToolProgresstrueprogress != off 时是否推送 🔧 tool 行
progress: brief + showToolProgress: false—工具照常调用,只是不把调用记录发到微信;本行只影响通知,不影响工具可用性
turnTimeoutSeconds900单轮最长等待,超时后在微信里提示(回合仍在后台继续)
approvalTimeoutSeconds300审批等待时长,超时交给下一个应答者(例如桌面端弹窗)
questionsTimeoutSeconds600提问等待时长,超时同上
idleDisposeMinutes0安静超过这么多分钟后释放常驻 Agent(会话绑定保留,下条消息自动 resume);0 表示一直常驻,可写小数
agentPresetnull会话挂载的 agent preset;留空时自动采用 DSH 的默认 preset(standard)。这决定 Agent 有没有工具:standard 带 tool-bash、tool-fs、tool-fs-search、plan-mode 等,未挂载时微信里的 Agent 只能使用插件自己注册的 wechat_* 工具
modelnull形如 deepseek-account/deepseek-flash,或 { provider, model, reasoningEffort?, maxTokens? };留空时自动采用 DSH 的默认模型(必须能解析出一个路由,否则系统提示词里的 {{model}} 无法渲染)
media.enabledtrue是否收发图片/文件
media.dirstateDir/media入站附件落盘目录
media.maxInboundBytes20971520入站媒体上限,超出直接拒绝
media.maxOutboundBytes52428800出站文件上限
notifyLifecyclefalse是否发送 `msg/notifystart
routeTagnullSKRouteTag 路由标签,仅部署方需要时填写
channelVersion1.0.0base_info.channel_version
logLevelinfosilent / error / warn / info / debug

配置非法时插件会在日志里明确报错并回退到默认值,不会让整个 profile 起不来。