@puwenhui/dsh-email 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.zh.md +68 -0
- package/USAGE.zh.md +144 -0
- package/cordis.patch.yml +4 -0
- package/lib/client.js +613 -0
- package/lib/client.js.map +1 -0
- package/lib/plugin.mjs +1108 -0
- package/package.json +43 -0
package/README.zh.md
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# @puwenhui/dsh-email
|
|
2
|
+
|
|
3
|
+
DSH 邮件助手插件:**IMAP 同步 + 本地全文索引(SQLite FTS5,中文可用)+ 会话线程归并 + 10 个模型工具 + 邮箱配置卡 + 重要新邮件提醒**。
|
|
4
|
+
|
|
5
|
+
定位:在 DSH 对话里**查邮件、找附件、发回复、收提醒**;邮件的日常浏览与整理仍交给 Foxmail 等邮箱客户端,本插件不提供(也不做)删除等破坏性操作。
|
|
6
|
+
|
|
7
|
+
> 普通用户请阅读 **[USAGE.zh.md](./USAGE.zh.md)** 使用帮助(含全部对话用例)。
|
|
8
|
+
|
|
9
|
+
## 版本要求
|
|
10
|
+
|
|
11
|
+
- **DSH ≥ 0.1.2-alpha 系列**(依赖该线的 `ctx.settings.installSection` 设置卡机制与客户端模块基线;在 0.1.2-alpha.2 上开发与验证)。rc.7/rc.8 老宿主不保证兼容。
|
|
12
|
+
|
|
13
|
+
## 安装
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
dsh plugin --profile web add @puwenhui/dsh-email
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
安装后自动进入 profile 插件层(配置卡与页面能力随 `dsh web` 自动加载),或本地试用:
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
dsh plugin --profile web add file:<本插件目录>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## 配置(每用户一次,非技术人员照做即可)
|
|
26
|
+
|
|
27
|
+
安装后打开 `dsh web` 网页,**三步完成**(详见 [USAGE.zh.md](./USAGE.zh.md) 开头的图文步骤):
|
|
28
|
+
|
|
29
|
+
1. **设置 → 插件 →「邮件」卡**:填「邮箱账号」+「邮箱密码」→ 保存(服务器等已预置 263 默认值,不用动;保存即时生效,首次同步约 1~2 分钟)
|
|
30
|
+
2. 需要提醒的人:同卡勾「开启重要新邮件提醒」+ 填白名单或关键词 → 保存
|
|
31
|
+
3. 点网页**右上角「开启桌面通知」**,浏览器点「允许」(一次性,之后有新邮件弹桌面通知)
|
|
32
|
+
|
|
33
|
+
管理员可用环境变量兜底(`$DSH_HOME/.env`,配置卡未覆盖时生效):`EMAIL_IMAP_USER` / `EMAIL_IMAP_PASS`(可选 `EMAIL_SMTP_HOST` / `EMAIL_SMTP_PORT` / `EMAIL_SMTP_PASS`,默认按 IMAP 推导)。
|
|
34
|
+
|
|
35
|
+
## 功能一览
|
|
36
|
+
|
|
37
|
+
**设置卡**(设置 → 插件 → 邮件):连接配置 + 提醒规则,点击展开/收起,跟随宿主外观主题。
|
|
38
|
+
|
|
39
|
+
**重要新邮件提醒**:后台每 60 秒轮询同步,新邮件按规则(发件人白名单 / 主题关键词 / 全部开关)判定,命中即**浏览器桌面通知 + 页内横幅**;水位去重,同一封只提醒一次。
|
|
40
|
+
|
|
41
|
+
**模型工具**(对话中由 AI 调用):
|
|
42
|
+
|
|
43
|
+
| 工具 | 说明 |
|
|
44
|
+
|---|---|
|
|
45
|
+
| `email_search` | 全文搜索(主题/发件人/正文,中文可用) |
|
|
46
|
+
| `email_recent` | 最近 N 小时新邮件 |
|
|
47
|
+
| `email_threads` / `email_thread_view` | 会话线程列表 / 完整往来时间线 |
|
|
48
|
+
| `email_sync` / `email_stats` | 手动同步 / 库统计 |
|
|
49
|
+
| `email_mark_read` | 标已读(单封/整线程) |
|
|
50
|
+
| `email_attachment_list` / `email_attachment_get` | 附件列表 / 下载到本地 |
|
|
51
|
+
| `email_send` | 发信 / 回复(自动 In-Reply-To 归线程) |
|
|
52
|
+
|
|
53
|
+
## 已知边界(263 实测)
|
|
54
|
+
|
|
55
|
+
- 143/STARTTLS 不可用,收件仅 993/SSL;SMTP 为 25 端口无 SSL(465 自动 SSL);
|
|
56
|
+
- 服务端搜索失效——全部搜索走本地 FTS5(<3 字符自动回退模糊匹配);
|
|
57
|
+
- 单封邮件抓取上限默认 10MB(配置卡可调),超限只索引主题/发件人;
|
|
58
|
+
- 存量老邮件的附件元数据在首次安装时不会回填,需重建索引。
|
|
59
|
+
|
|
60
|
+
## 目录结构
|
|
61
|
+
|
|
62
|
+
- `lib/plugin.mjs` — 宿主半边(工具 + 设置命名空间 + SSE 提醒通道 + 同步引擎)
|
|
63
|
+
- `lib/client.js` — 浏览器半边(配置卡 + 通知横幅)
|
|
64
|
+
- `USAGE.zh.md` — 面向公司用户的使用帮助
|
|
65
|
+
|
|
66
|
+
## License
|
|
67
|
+
|
|
68
|
+
MIT
|
package/USAGE.zh.md
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# DSH 邮件助手 · 使用帮助
|
|
2
|
+
|
|
3
|
+
DSH 邮件助手让你**在对话里直接处理邮件**:查邮件、找附件、发回复,不用切换到 Foxmail。对着 AI 用大白话就行,它会自动调用对应的邮件能力。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 首次使用:三步配置(约 2 分钟)
|
|
8
|
+
|
|
9
|
+
管理员执行 `dsh plugin --profile web add @puwenhui/dsh-email` 安装后,每位用户按下面三步完成自己的配置。**三步缺一不可。**
|
|
10
|
+
|
|
11
|
+
### 第一步:填邮箱账号(所有人必做)
|
|
12
|
+
|
|
13
|
+
1. 打开 DSH 网页(`dsh web` 启动后浏览器打开的那个地址)
|
|
14
|
+
2. 点左侧栏底部的 **⚙ 设置**,进入设置窗口
|
|
15
|
+
3. 在左侧列表点 **插件**,找到 **「邮件」** 卡片,**点卡片标题展开**
|
|
16
|
+
4. 填两个字段:
|
|
17
|
+
- **邮箱账号**:你的公司邮箱地址(如 `zhangsan@net263.com`)
|
|
18
|
+
- **邮箱密码**:你这门邮箱的密码(就是平时登录邮箱用的那个,不是电脑密码)
|
|
19
|
+
5. 点 **保存** —— 看到提示「已保存,即时生效」即成功
|
|
20
|
+
|
|
21
|
+
> 其余字段(服务器、端口等)**已经预置好,不用动**。
|
|
22
|
+
|
|
23
|
+
**怎么算配好了**:保存后等 1~2 分钟(首次会把你近 90 天的邮件同步下来),然后直接在对话里问「今天有什么新邮件」,能列出邮件就说明全部正常。
|
|
24
|
+
|
|
25
|
+
### 第二步:开重要邮件提醒(需要提醒的人做)
|
|
26
|
+
|
|
27
|
+
还是在那张「邮件」卡片里:
|
|
28
|
+
|
|
29
|
+
1. 勾选 **「开启重要新邮件提醒」**
|
|
30
|
+
2. 任选一种(可同时填):
|
|
31
|
+
- **重要发件人白名单**:领导的邮箱地址(多个用逗号隔开)——这些人来信必提醒
|
|
32
|
+
- **主题关键词**:如 `审批`、`紧急`——主题带这些词的来信必提醒
|
|
33
|
+
- **所有新邮件都提醒**:慎勾,每封都弹会打扰
|
|
34
|
+
3. 点 **保存**
|
|
35
|
+
|
|
36
|
+
### 第三步:允许桌面弹窗(一次性,所有人做)
|
|
37
|
+
|
|
38
|
+
保存提醒配置后,**网页右上角**会出现一个小条「邮件提醒 [开启桌面通知]」:
|
|
39
|
+
|
|
40
|
+
1. 点 **「开启桌面通知」** 按钮
|
|
41
|
+
2. 浏览器弹出询问「是否允许通知」→ 点 **允许**
|
|
42
|
+
|
|
43
|
+
之后新邮件就会像微信消息一样在屏幕右下角弹窗(**前提是 DSH 网页开着**,最小化没关系)。不点这一步也能收到提醒,但只会显示在网页右上角,没有弹窗。
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 十个功能与对话用例
|
|
48
|
+
|
|
49
|
+
### 1. 搜邮件(全文搜索)
|
|
50
|
+
|
|
51
|
+
按关键词搜主题、发件人、正文,中文直接搜。
|
|
52
|
+
|
|
53
|
+
> 💬 帮我找一下上个月关于「结算报表」的邮件
|
|
54
|
+
> 💬 搜一下张三发给我的邮件
|
|
55
|
+
> 💬 查一下正文里提到「合同到期」的邮件
|
|
56
|
+
|
|
57
|
+
### 2. 看最近的新邮件
|
|
58
|
+
|
|
59
|
+
> 💬 今天有什么新邮件?
|
|
60
|
+
> 💬 看看最近三天都收到了什么
|
|
61
|
+
|
|
62
|
+
### 3. 看进行中的邮件往来
|
|
63
|
+
|
|
64
|
+
把同一主题的来回邮件归成一个「会话」,一眼看清手上有哪些事在进行。
|
|
65
|
+
|
|
66
|
+
> 💬 我现在有哪些邮件往来正在进行中?
|
|
67
|
+
> 💬 列一下最近活跃的邮件话题
|
|
68
|
+
|
|
69
|
+
### 4. 查看一个话题的完整往来
|
|
70
|
+
|
|
71
|
+
谁在什么时候说了什么,从头到尾看清楚。
|
|
72
|
+
|
|
73
|
+
> 💬 打开我和财务关于 7 月结算报表的往来,他们最后说了什么?
|
|
74
|
+
> 💬 领导那封关于上线安排的邮件,后来有没有人回复?
|
|
75
|
+
|
|
76
|
+
### 5. 立即同步邮箱
|
|
77
|
+
|
|
78
|
+
后台每 60 秒自动收新邮件;等不及可以让它马上同步。
|
|
79
|
+
|
|
80
|
+
> 💬 同步一下邮箱,看看有没有新邮件
|
|
81
|
+
|
|
82
|
+
### 6. 邮件库统计
|
|
83
|
+
|
|
84
|
+
> 💬 现在本地存了多少封邮件?
|
|
85
|
+
|
|
86
|
+
### 7. 标记已读
|
|
87
|
+
|
|
88
|
+
单封或整个话题一起标。
|
|
89
|
+
|
|
90
|
+
> 💬 把关于团建报名的那几封邮件标记为已读
|
|
91
|
+
> 💬 「结算报表」那个话题我看过了,标成已读吧
|
|
92
|
+
|
|
93
|
+
### 8. 看邮件里有哪些附件
|
|
94
|
+
|
|
95
|
+
> 💬 「月度结算报表」那封邮件里都有什么附件?
|
|
96
|
+
> 💬 看看今天收到的邮件里有没有带附件的
|
|
97
|
+
|
|
98
|
+
### 9. 下载附件
|
|
99
|
+
|
|
100
|
+
附件会下载到本机,AI 可以接着帮你查看内容。
|
|
101
|
+
|
|
102
|
+
> 💬 把那封邮件里的 PDF 报表下载下来
|
|
103
|
+
> 💬 下载附件后帮我看看报表里的数字
|
|
104
|
+
|
|
105
|
+
### 10. 发邮件 / 回复邮件
|
|
106
|
+
|
|
107
|
+
口述内容即可。回复时会自动带上原话题,对方邮箱里显示为同一会话。
|
|
108
|
+
|
|
109
|
+
> 💬 帮我回财务:7 月结算报表已收到,盖章件明天寄出
|
|
110
|
+
> 💬 给 wangfang@corp.example.com 发封邮件,主题「会议室预订」,就说周三上午的大会议室帮我留一下
|
|
111
|
+
> 💬 回复领导那封邮件:方案已修改,请再审阅
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 组合用法(推荐)
|
|
116
|
+
|
|
117
|
+
一句大白话往往串起好几个功能:
|
|
118
|
+
|
|
119
|
+
> 💬 **「同步一下,然后看看今天有什么新邮件,有附件的帮我下载」**
|
|
120
|
+
>
|
|
121
|
+
> 💬 **「找一下 7 月的结算报表,把 PDF 下载下来,然后回复对方说已收到」**
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 常见问题
|
|
126
|
+
|
|
127
|
+
**Q:刚收到的邮件搜不到?**
|
|
128
|
+
后台每约 60 秒同步一次,等一下或直接说「同步一下邮箱」。
|
|
129
|
+
|
|
130
|
+
**Q:老邮件的附件列表是空的?**
|
|
131
|
+
插件只对近期同步过的邮件建立附件索引;翻不到就告诉我那封邮件的主题,我(管理员)可以重建索引。
|
|
132
|
+
|
|
133
|
+
**Q:没收到重要邮件提醒?**
|
|
134
|
+
检查三处:① 设置 → 插件 → 邮件 卡里「开启重要新邮件提醒」是否打开;② 白名单/关键词是否填了;③ 页面右上角是否点过「开启桌面通知」。
|
|
135
|
+
|
|
136
|
+
**Q:发出去的邮件在哪能看到?**
|
|
137
|
+
「已发送」文件夹会同步进来;搜索时也能搜到。
|
|
138
|
+
|
|
139
|
+
**Q:删除邮件?**
|
|
140
|
+
邮件的删除、整理请在 Foxmail 等邮箱客户端操作,DSH 邮件助手只做查找、提醒和代发,不碰你邮箱里的原件。
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
*文档随 `@puwenhui/dsh-email` 插件提供 · 有问题找管理员*
|
package/cordis.patch.yml
ADDED