# moltbot-plugin-2do **Repository Path**: akenz/moltbot-plugin-2do ## Basic Information - **Project Name**: moltbot-plugin-2do - **Description**: 这是一个 Moltbot (OpenClaw) 插件项目,允许用户通过任何 Moltbot 支持的消息平台(QQ、企业微信、Slack、iMessage、Telegram、WhatsApp、Discord 等)以自然语言告诉 Moltbot 待办任务,Moltbot 会将任务通过邮件发送至用户配置的 2Do 邮箱,利用 2Do app 的 Email to 2Do 功能自动捕获并添加任务。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-02-04 - **Last Updated**: 2026-02-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # moltbot-plugin-2do 一个 [Moltbot (OpenClaw)](https://docs.openclaw.ai) 插件,通过自然语言创建任务并发送到 [2Do](https://www.2doapp.com) app。 支持所有 Moltbot 消息渠道(QQ、企业微信、Slack、Telegram、WhatsApp、Discord 等),利用 2Do 的 [Email to 2Do](https://www.2doapp.com/kb/category/ios/email-to-2do/44/) 功能自动捕获邮件为任务。 ## 功能 - 自然语言意图识别 — 无需固定命令前缀,自然表达即可触发 - 中英文双语解析(中文 + 英文命令前缀) - 日期/时间提取(明天、下周五、下午3点等) - 自动设置 2Do 开始时间和截止时间(通过 `start()`/`due()` 格式) - 优先级识别(紧急/重要/urgent/important) - 支持指定目标列表和标签 - 支持邮件标题前缀配置(用于精确匹配 2Do 捕获规则) - 通过 SMTP 邮件发送到 2Do - 支持所有 Moltbot 消息渠道 ## 使用示例 **基本任务:** > 添加任务:买牛奶 **自然表达(无需固定前缀):** > 帮我记一下明天下午3点开会 > 别忘了周五交报告 **英文命令:** > add task: buy groceries > remind me to call John tomorrow **日期/时间(自动设置 2Do 开始/截止时间):** > 添加任务:明天下午3点开会 > 添加任务:下周五前提交报告 > 创建待办:3月15号出发 **优先级:** > 添加任务:修复线上 bug,紧急 > add task: fix production issue, urgent **指定列表:** > 添加任务到工作列表:完成项目报告 > add task to shopping list: buy fruits **指定标签:** > 添加任务:买菜,标签是家务和购物 > add task: deploy, tag backend and devops **完整组合:** > 添加任务:明天完成季度报告,列表是工作,标签是紧急和财务 ## 安装与更新 ### 前置条件 - Node.js >= 22 - Moltbot (OpenClaw) 已安装 - 2Do app 已配置 Email to 2Do 功能 - 可用的 SMTP 邮箱账户 ### 方式一:通过 ClawHub 安装(推荐) 访问 ClawHub 插件页面安装或更新: [https://clawhub.ai/chuckiefan/moltbot-plugin-2do](https://clawhub.ai/chuckiefan/moltbot-plugin-2do) 按页面提示完成安装即可。后续更新也可通过 ClawHub 页面进行。 ### 方式二:通过 Git 手动安装 将项目克隆到 Moltbot 的 skills 目录: **从 GitHub 安装:** ```bash cd ~/.openclaw/skills git clone https://github.com/chuckiefan/moltbot-plugin-2do.git cd moltbot-plugin-2do npm install npm run build ``` **从 Gitee 安装(国内推荐):** ```bash cd ~/.openclaw/skills git clone https://gitee.com/akenz/moltbot-plugin-2do.git cd moltbot-plugin-2do npm install npm run build ``` **更新已安装的插件:** ```bash cd ~/.openclaw/skills/moltbot-plugin-2do git pull npm install npm run build ``` > 如果同时配置了 GitHub 和 Gitee 远程仓库,可以指定拉取来源: > - GitHub:`git pull origin master` > - Gitee:`git pull gitee master` ### 配置 在 `~/.openclaw/openclaw.json` 中添加环境变量: ```json { "skills": { "entries": { "moltbot-plugin-2do": { "enabled": true, "env": { "TWODO_EMAIL": "your-2do-email@example.com", "SMTP_HOST": "smtp.gmail.com", "SMTP_PORT": "587", "SMTP_USER": "your-email@gmail.com", "SMTP_PASS": "your-app-specific-password", "TITLE_PREFIX": "2Do:" } } } } } ``` | 环境变量 | 说明 | 必需 | |---------|------|------| | `TWODO_EMAIL` | 2Do 中配置的接收邮箱地址 | 是 | | `SMTP_HOST` | SMTP 服务器地址(如 smtp.gmail.com) | 是 | | `SMTP_PORT` | SMTP 端口(587 为 STARTTLS,465 为 SSL) | 是 | | `SMTP_USER` | SMTP 用户名 | 是 | | `SMTP_PASS` | SMTP 密码(推荐使用[应用专用密码](https://support.google.com/accounts/answer/185833)) | 是 | | `TITLE_PREFIX` | 邮件标题前缀,用于匹配 2Do 邮件捕获规则(可选) | 否 | ### 可选配置说明 **TITLE_PREFIX**:如果配置了此参数,所有发送的邮件标题会自动添加该前缀。例如设置 `TITLE_PREFIX="2Do:"`,则任务"开会"的邮件标题会变为 `2Do:开会 list(...) tag(...)`。 此功能可以帮助你在 2Do 中设置更精确的邮件捕获规则,只捕获带有特定前缀的邮件,避免其他邮件被误捕获。 ### 配置 2Do App 1. 购买并启用 **Email to 2Do** 插件(iOS/Mac 应用内购买) 2. 在 2Do 设置 > Email to 2Do > Add Account 中添加邮箱 3. 配置捕获规则(推荐设置特定发件人规则) 详细指南参考 [2Do Email to 2Do 知识库](https://www.2doapp.com/kb/category/ios/email-to-2do/44/)。 ## 项目状态 ### 当前版本:v1.0.2 **已完成功能**: - 核心 MVP 功能 - 自然语言任务解析(支持多种中文表达方式) - 列表指定("到X列表"、"列表是X"、", list X") - 标签指定("标签是X和Y"、", tag X and Y") - 2Do 邮件格式构造 - SMTP 邮件发送(支持 TLS/SSL) - 2Do 日期/时间集成 - 任务日期自动转换为 2Do 的 `start()`/`due()` 格式 - 仅日期时设置截止时间:`due(M-D-YY)` - 含时间时同时设置开始和截止时间:`start(M-D-YY Ham/pm) due(M-D-YY Ham/pm)` - 邮件标题前缀功能 - 可配置 TITLE_PREFIX 环境变量 - 自动在邮件标题前添加指定前缀 - 帮助精确匹配 2Do 邮件捕获规则 - 广泛的意图识别 - 基于 AgentSkills 规范的 description 触发机制 - 支持固定前缀触发(添加任务、创建待办、提醒我等) - 支持自然表达触发(帮我记一下、别忘了、明天要...等) - 无需固定命令格式,自然对话即可创建任务 - 日期/时间提取 - 相对日期:今天、明天、后天、大后天 - 星期表达:周一~周日、下周X、星期X - 具体日期:X月X日/号 - 时间:上午/下午/晚上 X点 X分/半 - 日期+时间组合:明天下午3点 - 中英文双语支持 - 英文命令前缀:add task、create todo、remind me to、remember to - 英文列表和标签:, list X、, tag X and Y - 大小写不敏感 - 优先级提取 - 中文:紧急/加急(高)、重要(中)、不急(低) - 英文:urgent(高)、important(中)、low priority(低) - 测试覆盖 - 71 个单元测试覆盖核心功能 - 覆盖日期解析、2Do 日期格式、任务解析、邮件构造等 **代码质量**: - TypeScript 类型安全 - 完整的文档和使用示例 - 符合 AgentSkills 规范 - MIT 开源协议 ### 未来规划 - [ ] 任务确认交互(发送前预览,支持修改后再发送) - [ ] 批量任务添加(一次解析多个任务) - [ ] 自定义邮件模板 - [ ] 配置验证命令(测试 SMTP 连接) - [ ] 发布到 ClawHub 技能市场 - [ ] 国际化支持(i18n) --- ## 开发 ```bash # 安装依赖 pnpm install # 运行测试 pnpm test # 构建 pnpm build # 类型检查 pnpm typecheck ``` ## License [MIT](LICENSE)