中文EN

dsh-work-assistant

workflow已测通过npmMIT

微信工作助理:把你交代的事记进 SQLite 任务账本,按紧急度排序,到点提醒,从笔记里抽取人物与关系,并把任务分派给独立的助手会话。自带微信机器人通道(扫码登录,仅私聊)与整页仪表盘。

下载量 / Downloads
1,665
依赖体积 / node_modules
2.15 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-work-assistant

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载✓
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

dsh-work-assistant

<p align="center">

<img src="https://raw.githubusercontent.com/544244857/dsh-work-assistant/main/assets/banner.png" alt="dsh-work-assistant" width="100%">

</p>

<p align="center">

<b>微信里的工作助理。</b>你把事说给它,它记成账本、排好先后、到点提醒你;<br>

干不完的活儿派给独立副手,回头还从笔记里认出人和关系。

</p>

<p align="center">

<a href="https://www.npmjs.com/package/dsh-work-assistant"><img src="https://img.shields.io/npm/v/dsh-work-assistant?color=2f6f5e" alt="npm"></a>

<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="license"></a>

<a href="package.json"><img src="https://img.shields.io/badge/node-%E2%89%A522.5-brightgreen" alt="node"></a>

<a href="https://github.com/544244857/dsh-work-assistant"><img src="https://img.shields.io/badge/DSH-plugin-2f6f5e" alt="DSH plugin"></a>

<img src="https://img.shields.io/badge/tests-430%20passed-brightgreen" alt="tests">

</p>


一句话:微信官方机器人只能私聊,你在群里被 @ 了就转发给它,剩下的记账、排序、提醒、派活、认人交给它。

不依赖任何第三方 IM 插件——微信通道、账本、知识库、人物图谱、定时提醒,全在这一个包里。

你会说的话 · 它干的事

周五前把 Q3 报销整理好发我 · 记成工作项,自动判优先级,逾期会一直顶在最前

现在有哪些活 · 按紧急度念一遍,不是只报个数

这个你派个人去做 · 开一个独立会话去干,你继续跟助理说话,干完回来汇报

值班表按 5 个人轮班排到年底 · 排完直接导出一份 xlsx 发到微信

你认识哪些人 / 老周是谁 · 从聊天和笔记里认出的人,带关系判断和把握度

长什么样

在微信里说一句话,它记账、排期、出文件;手上一堆活儿的时候,回头在仪表盘上看全局。

一句"值班表先给我出一份",它把人、规则记下来,排到 12-31,顺手导出一份 xlsx 发回微信。

<p align="center">

<img src="https://raw.githubusercontent.com/544244857/dsh-work-assistant/main/assets/shot-ledger.png" width="88%" alt="在微信里排值班表并导出 Excel">

</p>

PNG / XLSX / DOCX / MD 四种文件都能发到手机上,发完还能读回来核对内容。

<p align="center">

<img src="https://raw.githubusercontent.com/544244857/dsh-work-assistant/main/assets/shot-files.png" width="88%" alt="在微信里收发各种文件">

</p>

想看这个插件到底解决什么问题、内部数据怎么组织,读 [INTRO.md](INTRO.md)。这份 README 讲怎么装、怎么配、接口长什么样。

目录

[先说边界](#先讲清楚一条边界) ·

[装](#装) ·

[登录和设置](#登录和设置) ·

[它能做什么](#它能做什么) ·

[工具](#给模型用的工具) ·

[配置](#配置) ·

[数据](#数据放在哪) ·

[接口](#http-接口) ·

[取舍](#设计上的几个取舍) ·

[限制](#已知限制) ·

[许可](#许可)

先讲清楚一条边界

微信官方机器人只能私聊,读不到群聊,也没有"@我"这种事件。

所以这个插件的做法是:你在群里被 @ 了,自己把那条消息转发给机器人。它记账、分析、提醒。

这不是偷懒。个人微信没有对外开放的群消息接口,逆向客户端违反腾讯服务条款、有封号风险,所以这里不做。企业微信的智能机器人可以收群 @ 消息,那是另一条路,需要的话可以另做渠道。

它是怎么跑的

微信(你的手机)                        DSH 宿主进程
  │                                        │
  │  你转发一句话 / 发个文件               │
  ├───────────────►  iLink Bot 长轮询 ────►│ 通道
  │                                        │   ↓
  │                                        │ 助手会话(挂你选的预设与模型)
  │                                        │   ↓ 调 work_* / kb_* / assign_* 工具
  │                                        │ SQLite 单文件账本(work-assistant.db)
  │  收到回执、提醒、文件                   │   ↓
  │◄────────────── 发消息 / 发文件 ◄───────│ 60 秒 ticker + 每日摘要 + 周复盘

三个关键点:

  • 不需要公网地址。走的是长轮询,不是 webhook,本机开着就能收。
  • 提醒是模板直发,不经过模型,不烧 token,断网重连也不会重复轰炸。
  • 副手是独立会话,跟你在 GUI 里开一个会话没区别,能看过程、能接着聊。

装

已经发到 npm,从网上装(推荐,装的是预构建产物,不需要本地编译):

dsh plugin --profile <你的 profile> add dsh-work-assistant

从源码改着玩就装本地目录:

dsh plugin --profile <你的 profile> add -w link:<这个目录的绝对路径>

也可以直接从 GitHub Release 的 tarball 装:

dsh plugin --profile <你的 profile> add https://github.com/544244857/dsh-work-assistant/releases/download/v0.5.6/dsh-work-assistant-0.5.6.tgz

装完重启宿主。插件会自己创建数据目录,默认在 ~/.dsh/dsh-work-assistant/。

仓库在 544244857/dsh-work-assistant,npm 包名 dsh-work-assistant。

登录和设置

重启宿主后,打开 DSH 的设置,左边会多出一项「工作助理」。这个页面里什么都有:

  • 登录状态、扫码二维码(没登录时才显示)
  • 账本概览:未完成几件、逾期几件、进行中几件、能代做几件,还有前 10 条工作项
  • 每日摘要时间和提醒检查间隔,改完点保存,立刻生效
  • 「立刻发一条摘要」按钮,用来验证通道通不通
  • 对话记录:跟你聊过的每一天都留在这儿,点一天看当天的往来
  • 会话设置:助手用哪个预设、哪个模型、推理强度多高、什么权限档位,四组下拉直接选,保存后下一条消息就按新的来

二维码本身是 qrcode 包在宿主进程里渲染成 dataURL 的,不联网,不上传。

如果设置页因为某种原因没出来(比如宿主版本差异),也可以直接开这个地址:

http://127.0.0.1:<你的 DSH 端口>/api/dsh-workassistant/login

这是同一个功能的纯网页版,扫码、看状态、换码都在里面。

用手机微信扫码,把机器人加成好友,就好了。凭据只存在本机,不上传。

登录之后,你给这个机器人发消息就等于跟工作助理说话;它的回复会直接推回微信。

它能做什么

记账

收到消息先判断里面有没有"需要被完成的事"。有就记下来,没有就不记。一件事记不住就拆成几条。

记的时候会顺手判断:期限是什么时候、优先级多高、打什么标签、这件事是不是它能直接代做。

记完一定会给回执,形如:

记下了 w-20261020-006:催老周补发票
期限 10/24 18:00,优先级 高
按紧急度排第 1 位(越靠前越该先做)
现在手上共 6 件未完成

看到这段就说明真的写进账本了。同一件事被反复说(你重发、它重试)不会记成多条——标题或内容重合会认出来,只把新信息补进去,回执改说"已经记过了"。

自动排优先级

不用你操心优先级。每条工作项都会算一个紧急度分数,影响排序和摘要顺序:

因素 · 影响

已逾期 · 分数最高,一直顶在最前

期限越近 · 24 小时内最高,一周内次之,之后递减

高优先级措辞 · 标题或正文出现"催""尽快""马上""今天""急"等,算高

正在做 · 比同等条件下还没动的稍微靠前

分数只在排序时用,不会覆盖你手动设的优先级。如果你想强按某件的顺序,说一句"这件最高优先级"它就会显式标成 high。

主动请缨

遇到查资料、改表格、整理文件、写文档、核对数据这类它手上能干的活,它会主动问一句"这个我可以直接做,要我做吗"。你说"做吧"或者"做第 3 件",它就去干。

干完会汇报结果,并把过程要点存进知识库。

提醒

  • 单条到期提醒:给某件事设了提醒时间,到点推一条。创建时如果只填了期限没填提醒时间,默认提前一小时。
  • 每日摘要:默认 09:00 和 18:30 各推一次,列出逾期、今天到期、本周内要交的。手上没活就不推。
  • 安静时段:默认 22:00 到 08:00 一条都不推。落在这段时间里的提醒不会丢,也不会被标成已发,等时段结束一起补给你。
  • 每周复盘:默认周五 18:00 推一次,说这一周做完了哪些、还欠着哪些。设成"关掉"就不推。

提醒是模板直发,不烧 token。所有"今天是否已经推过"的状态都落盘,重启不会重复轰炸。

重复的事

「每月五号交报表」这种可以直接记成重复任务。做完一件会自动滚出下一件,不用每个月重新说一遍。

让人去办

「等老周补发票」这类不是自己动手的事,可以记成「等某人」并约好什么时候去问一句。到点提醒你"该问问老周了",而不是提醒你去做那件你本来也做不了的事。

具体行为:

  • 说了「下周问他」「周五再催」→ 按那个时间提醒。
  • 没说 → 默认记下来那天往后 3 天。回执里会给确切时刻,不用猜。
  • 到点推一条「该去问一句了:等老周补发票,等 老周」。催过就把下一次往后推 3 天,不会反复轰炸。
  • 第二次起措辞变成「还没回音:…」,提醒你这事还悬着。
  • 标成已完成或放弃后就不再催。
  • 推送失败不动时间,下一轮接着试,不会静默漏掉。

副手:把活儿派出去

有些活儿不是一两句话能办完的——要把三个月的报销单理成一张表、要把一份合同逐条比对模板、要翻一堆资料查清楚某件事。这种活儿交给微信那头等着不合适,你在那儿干等,它也不一定一次干得完。

现在可以派出去。派出去之后它在一个独立的会话里干,你继续在微信里跟助理说话,两边不耽误。干完它会回来汇报,报告直接推到微信。

用法就是在微信里说一句"这个你派个人去做",助理会调 assign_create 开一个副手。也可以自己在整页视图的「副手」卡片里点「派一个」,写清楚要什么结果。

几个细节:

  • 副手是独立的会话,会出现在 GUI 的会话列表里。这是故意的,不是 bug——你想看它到底在干什么,可以直接点进去看它的完整过程,或者点卡片上的「去看」跳过去。
  • 默认最多同时开 3 个。开满了再派会直接失败并告诉你哪几个还占着,不会排队、不会假装派出去了。要改上限改 maxAssignments(1 到 32)。
  • 助手随时能跟它说话。派完想起来还有要求,用 assign_send 补一句;默认算"新的一轮",它会接着干。也能用 assign_inspect 看它最近几步干了什么,assign_stop 停掉。
  • 它交的报告可能是在问你。报告可以标"等你回话",这时候卡片上会亮黄,微信那头也会提示。名额开满时它还是会交报告,只是状态不会切到"等回话"——话照样送到你手上,回执里会说清这一点。
  • 宿主重启后副手会标成"掉线"。下次给它发消息时会自动把会话恢复起来;真找不回来了(比如会话被删了)就如实报错,不会假装还活着。
  • 副手可以绑一个工作区(assignmentCwd)、用别的模型(assignmentModel)、换预设(`as

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:7,最后更新 2026-10-24

链接

GitHub · Homepage · npm

同类插件