WorkHub 更新-语音、手机端与 MCP
WORKHUB · 更新日志
语音输入、手机端与 MCP——同一份数据,从桌面延伸到嘴边、口袋和对话框。
上一篇介绍 WorkHub 时,它还是一个坐在电脑前的工作台。这次更新没有加新模块,只做了三件事:让记录快一点,让入口随身一点,再给写作接一个能读会写的智能体。
数据仍然存在本机 SQLite,桌面与浏览器仍然是同一套界面、同一份业务代码。变化在于,你不必每次都先坐回那把椅子。
01 说一句,就进收件箱
桌面工作台顶部的快记栏右侧多了一个麦克风。点一下开始,识别中的临时文字直接铺进输入框,说完一句自动收口,不用再去点停止。最终文本和手打没有区别,按回车或「记下」,它就和平时一样进笔记收件箱。

工作台:快记栏右侧多了麦克风,今日待办与待收金额仍在同一屏

快记栏特写:麦克风在「记下」左侧,聆听时图标变成方形停止键
这个按钮也接在了笔记页、手机首页和手机笔记页。走路时想到一句话,掏出手机说一句,回到电脑前它已经躺在最近笔记里。
语音识别由浏览器提供(Web Speech API),不是 WorkHub 自己训的模型:需要麦克风授权,多数浏览器还要联网。不支持识别的浏览器会把图标直接置为 mic-off,并在提示里说明原因,不会让你对着一颗没有反应的按钮发呆。
02 手机端:不是把桌面缩小
用手机浏览器打开同一个地址,登录后落到 /app。底部四个入口:首页、笔记、任务、我的。再往下还有工作台、财务、发票、回款计划、维护到期等页面,都能从首页或「我的」里进去。
它不是把桌面布局压窄,而是按手机的节奏重新排:一屏先回答一个问题,一屏只做一件事。

手机登录页:品牌说明在上,表单在下;仍用出厂口令登录会先被引到「我的」改密
首页回答三个问题:今天有什么卡在手里、还有多少钱没收、最新的笔记在哪。顶部的快记栏同样带麦克风,说一句就能存进收件箱。

手机首页:语音快记、待办与待收金额、今日提醒和最近笔记

手机快记栏特写:输入框与麦克风并排,说一句就存进收件箱
笔记页保留快记、搜索与分页,点进正文才展开编辑;新建和修改是同一个页面,保存后地址自动换成这条笔记的 Id。任务页用分段筛选加分组列表,点一行改字段,右侧一颗按钮直接完成或重开。

手机笔记:快记、搜索与分页,正文进编辑页再展开

手机任务:分段筛选 + 分组列表,右侧按钮直接完成或重开
发票页把逾期标红,直接给出还剩多少没收回;「我的」只放账号、偏好和出口,没有把桌面设置页整套搬过来。

手机发票:逾期标红,已收、待收与总额一眼看清

手机「我的」:账号、主题、全部功能、桌面端入口与版本信息
要提醒一句:WorkHub 默认只监听 127.0.0.1:5277。想让手机访问,需要显式绑定局域网地址、配好 HTTPS,并把手机网段加进 IP / CIDR 白名单;绑定非回环地址还走明文 HTTP 时,服务会直接拒绝启动。手机端是同一台机器上的另一个入口,不是一朵云。
03 MCP:让智能体直接读写工作台
这次更新的第三件事,是把文章、笔记、任务、收藏与代码片段包装成 MCP 工具,交给 Claude Desktop、Cursor 这类智能体直接读写。一共 20 个工具:
- 文章:
save_article、search_articles、get_article、set_article_status - 笔记:
save_note、search_notes、get_note - 任务:
save_task、search_tasks、get_task、set_task_status - 收藏:
save_bookmark、search_bookmarks、get_bookmark、set_bookmark_status - 代码片段:
save_snippet、search_snippets、get_snippet - 封面与附件:
upload_cover、upload_attachment
两种接法:推荐 Web 端 /mcp 端点,HTTP 加令牌,客户端配置里不出现账号口令;只支持 stdio 的客户端则用 WorkHub.Mcp 进程,通过 WorkHubWeb 的 /api/* 读写。两条路都要求 WorkHubWeb 先跑起来——MCP 不自己起服务,也不会在没登录或没令牌的情况下写库。
令牌在「偏好设置 → 智能体」里生成,只有 Owner 能进这个页签。令牌绑定一个现有账号,角色改了立即生效;停用账号或吊销令牌,下一次调用就是 401。写操作照常落审计,来源记为 mcp,并带令牌名称。

偏好设置 → 智能体:令牌只显示一次明文,列表里保留前缀、绑定账号、最近使用与有效期
生成后可以直接复制整段配置,粘进客户端的 mcpServers:
{
"mcpServers": {
"workhub": {
"type": "http",
"url": "http://127.0.0.1:5277/mcp",
"headers": { "Authorization": "Bearer whmcp_…" }
}
}
}
之后就能用自然语言交代事情:把一段 Markdown 存成文章、把讨论整理成笔记、把「这周要做的三件事」记成任务、把链接存进收藏并标成已读,或者把一段脚本存成代码片段。保存工具在不传 Id 时按自然键查重,智能体重试不会写出重复;更新时没给的字段沿用原值,只改正文不会清空摘要、标签与封面。
封面和附件也接上了。upload_cover 收 jpg / jpeg / png / webp,不超过 8MB,返回 /uploads/… 站内地址,再交给 save_article 的 cover;upload_attachment 收任意附件,不超过 16MB,返回地址后可写进 Markdown。文件内容二选一:与宿主同机的客户端传 filePath,远程调用传 contentBase64。

MCP 保存的文章:标题、摘要、封面与正文都已落库,右侧可直接校对 Markdown
保存不等于发布。save_article 默认存草稿,只有 publish=true 或显式调用 set_article_status 才会记录发布时间、把状态置为完成。删除尚未接入;附件上传也只把文件落到附件根并返回地址,不会自动挂到发票或项目上。这些边界写在 Document/MCP.md 里,配置示例、环境变量与已知限制都在那儿。
04 边界仍然收紧
新增三个入口,安全边界没有放松:
- 默认只监听回环地址;绑定非回环地址还走明文 HTTP 时,启动直接拒绝。
- 令牌只存 SHA-256 摘要,明文展示一次;可设有效期,也可随时吊销。
- 令牌绑定账号的角色即时生效,Viewer 只能读,Editor 才能写;停用账号即刻失效。
- MCP 的写操作与网页端走同一套服务、同一套校验,审计来源单独标记。
- 手机端没有另开一套鉴权,仍然走登录 Cookie 与访问白名单。
换句话说,变的是入口数量,不是信任模型。
05 怎么开始
浏览器版仍然一条命令:
dotnet run --project WorkHubWeb
打开 127.0.0.1:5277,首次启动会种入本地管理员账号 admin / admin123,登录后请先改密。桌面版发布后双击即用,和浏览器版看到的是同一套页面。
手机访问按前文的安全边界显式开放局域网;MCP 的两种接法与完整工具说明见仓库里的 Document/MCP.md。
项目以 Apache-2.0 协议开源,仓库在 https://gitee.com/known/WorkHub。
把它变成你自己的数字工作室
OPEN SOURCE · WORKHUB
如果这次更新让你少掏一次手机、少复制一次粘贴,欢迎去 Gitee 点一个 Star;也欢迎提 Issue,说说你最想让智能体替你做的下一件事。
运行环境:.NET 10 SDK + Windows;浏览器版一条命令启动,桌面版发布后双击即用。
入口可以变多,数据只该有一份。
说一句、掏手机、交给智能体,最后都落回同一张工作台。

浙公网安备 33010602011771号