我们经常会使用语音向 AI 交代任务,例如一边描述今天要完成的工作,一边补充新的想法,甚至说到一半又修改原来的安排。等到语音识别结束,得到的往往是一大段重复、混乱的文字。AI 虽然能够总结内容,但也容易把临时想法当成任务,或者遗漏后来修改的日期和优先级。
针对这一问题,开源项目Human Edge Agent Skills提供了voice-dump-to-todo。这个 Skill 专门处理混乱的口述输入,帮助 Agent 从中提取真正需要执行的任务,并进一步生成结构化待办,必要时还可以输出独立的交互式 HTML 页面。
项目地址(100+ star):GitHub - FAIRY123456789/human-edge-agent-skills: 18 portable Agent Skills for voice-native AI, human judgment, microbets, social tact, writing, life systems, and safe deployment. · GitHub
Skill 地址:human-edge-agent-skills/skills/voice-dump-to-todo at main · FAIRY123456789/human-edge-agent-skills · GitHub
一、voice-dump-to-todo 的核心功能
voice-dump-to-todo是一个面向语音任务管理的 Agent Skill。它通过SKILL.md约束 Agent 的任务解析方式,重点解决语音识别错误、任务重复、临时修改和任务边界模糊等问题。
例如,一段语音可能包含这样的内容:
周四把需求文档发给合作方,等等,应该是周五。然后今天先把文档里的错误修改完。报价还得等对方发过来。另外我想了一下,后面也许可以做一个播客,不过这个暂时不用管。
普通的任务提取很容易把这段话整理成四个待办,甚至保留已经被修改的周四日期。这个 Skill 会先阅读完整内容,再根据后续修正判断真正有效的信息。
它将内容分为五类:Action(需要执行的任务)、Decision(待作出的决策)、Waiting(等待外部条件)、Later(暂缓的想法)和 Background(背景信息)。上述示例中,修改文档和周五发送文档属于 Action,等待报价属于 Waiting,播客想法属于 Later。任务的截止时间应采用用户最后明确修正的周五。
二、它怎样处理语音识别错误
语音识别系统(ASR)容易识别错项目名称、缩写、专业术语和人名。例如一个项目名称在前文反复出现,后续语音却被识别为发音相近的普通词汇。如果完全按照字面理解,Agent 就可能创建错误任务。
为此,Skill 配套提供了references/asr-context-resolution.md,规定了专有名词的上下文修正规则。Agent 可以参考当前对话中已经明确的名称、用户提供的词汇表、语音中重复出现的术语,以及发音和语义是否匹配。
修正过程会区分置信程度。高置信度的错误可以直接规范化,中等置信度需要保留假设,低置信度则保留原文并提示用户确认。这样可以减少错误替换带来的新问题。
这一设计尤其适合经常使用语音讨论技术项目、日常工作和多项待办的用户。
三、把口述内容转换成结构化任务
提取任务之后,Skill 还要求明确任务的完成条件、优先级、截止时间、负责人和依赖关系。其中负责人和日期必须来自已有信息或明确的时间表达,不能擅自补充。
例如前面的语音,可以整理成以下 JSON:
{ "title": "本周待办", "tasks": [ { "title": "修订需求文档", "details": "完成文档中已发现错误的修改", "priority": "P1", "due": "今天", "status": "todo", "depends_on": [] }, { "title": "发送需求文档", "details": "将修订后的文档发给合作方", "priority": "P1", "due": "周五", "status": "todo", "depends_on": ["修订需求文档"] } ] }这里的优先级属于示例设置,可以根据实际任务调整。等待报价和暂缓的播客想法可以继续保留在对应类别中,避免混入当前必须完成的任务。
四、生成可以勾选的本地待办页面
除了 Markdown 和 JSON,仓库还提供了一个轻量级 Python 脚本render_todo.py,能够把经过检查的 JSON 任务文件转换为独立 HTML 页面。
假设已经将上述结构保存为tasks.json,在仓库根目录执行:
python skills/voice-dump-to-todo/scripts/render_todo.py tasks.json todo.html运行后会生成todo.html,用户可以使用浏览器打开。页面支持勾选任务、查看完成进度、重置任务状态以及导出 JSON。任务状态通过浏览器localStorage保存,具体持久化行为取决于浏览器环境。
这个脚本仅负责将结构化数据渲染成页面。语音理解、任务分类和错误修正由支持 Skill 的 Agent 完成。Python 脚本使用标准库,无需额外的 API Key 或网络服务。
五、如何安装和使用
Skill 已在 GitHub 开源,可以阅读完整规则、参考文件及生成脚本。
项目地址:GitHub - FAIRY123456789/human-edge-agent-skills: 18 portable Agent Skills for voice-native AI, human judgment, microbets, social tact, writing, life systems, and safe deployment. · GitHub
Skill 地址:human-edge-agent-skills/skills/voice-dump-to-todo at main · FAIRY123456789/human-edge-agent-skills · GitHub
在支持gh skill的 GitHub CLI 环境中,可以使用:
gh skill preview FAIRY123456789/human-edge-agent-skills voice-dump-to-todo gh skill install FAIRY123456789/human-edge-agent-skills voice-dump-to-todo具体安装位置取决于所使用的 Agent 和 CLI 配置,也可以按照对应 Agent 的 Skills 目录规则手动安装。
安装后,可以尝试输入:
请使用 voice-dump-to-todo 整理下面的语音记录,区分需要执行、等待处理和暂缓的事项,合并重复任务,不要自行添加截止日期,并输出带有完成条件的待办清单。
这个 Skill 适合日常语音记录、会议后任务整理、个人工作安排等场景。对于涉及日历、企业任务系统或第三方账户的自动更新,仍然需要额外的工具连接和授权。
如果经常通过语音与 AI 交流,可以先用一次真实任务记录测试它的整理效果,再根据实际输出反馈问题。仓库欢迎 Star、Issue 和改进建议,也可以单独查看这个 Skill 的实现细节。