拾时 Shishi
从随手记录到桌面陪伴
2026 年 9 月至今
我从日常记录容易被打断、事后整理成本高的问题出发,设计并开发了拾时:用语音或文字整理活动与轻量计划,逐步扩展为支持记录和专注计时的 Windows 桌面伙伴。目前已有十几个朋友在使用。
项目角色
产品设计与全栈开发
主要方法
TypeScript / React · Electron · Workers / D1 · AI 集成

研究问题
记录日常的成本,应该低于事后回忆和整理的成本。我从“说一句或写一句,检查整理结果,再回到手头的事情”这一小步交互出发,把拾时从个人网页工具逐步发展为多用户服务与 Windows 桌面伙伴,让记录、修改和回顾都更容易发生。
我的贡献
- 我围绕低负担输入、可修改记录、轻量计划与回顾设计产品流程,并将记录入口和专注计时延伸到桌面伙伴。
- 我实现了 React / TypeScript 网页界面、Workers API 与 D1 数据层,并完成 Electron 桌面端、账号配对及同步接入。
- 我也负责产品运行所需的工程工作:模型服务接入、用量预算、失败恢复、用户隔离、本地验收与 Windows 版本交付。
技术路线
- 统一输入链路:语音先转写,文字直接进入,两者汇合到统一记录服务。模型提取结构化意图与时间表达,Temporal 与 Zod 负责时间转换和数据校验,再执行数据库写入。
- 可靠状态更新:通过请求编号与事务写入防止重试产生重复记录;时间有歧义时保留给用户确认;利用草稿恢复和按账号隔离的队列处理操作中断与账号切换。
- 桌面集成:Electron 提供桌面伙伴、托盘和专注工具;界面在沙箱中运行,通过受限 IPC 接口访问原生能力。网页与桌面通过同账号、短时效配对流程建立连接。
- 云端职责:Workers 处理身份认证、模型调用与用量预算,D1 保存结构化记录;供应商密钥保留在服务端。按地区配置 AI 服务,将可用性与调用成本纳入架构设计。
成果与发现
- 我于 2026 年 9 月 16 日发布了第一个版本,并在 9 月 28 日发布 0.4.1,加入 Windows 桌面版。
- 我已经把拾时分享给十几个朋友使用,希望从他们的日常使用中了解哪些功能真正有帮助、哪些体验还需要改进。
- 我把一个满足自己记录需求的小工具,逐步做成了可供他人使用的网页服务和桌面应用,负责从产品设计、前后端开发到发布维护的完整过程。
产品取舍:让每次交互足够轻
我让记录既可以表示一段时间、一个时间点,也可以是一条暂时没有明确时间的笔记,并将计划与已经发生的活动分开。我希望用户可以先把事情记下来,不必为了填完整表单而编造精确时间。
我加入桌面伙伴,是想让记录和计时更顺手。同时,我限制了提醒频率,让录音只在用户主动操作后开启,也不监控屏幕、应用或键盘活动。我希望它能在需要时帮上忙,而不会持续打扰用户。
工程取舍:让 AI 结果可检查、可修正
自然语言理解与可靠保存承担不同职责。我用模型完成信息提取,再通过明确的校验、权限和事务规则控制状态变化,让错误能够被发现,也让重试有确定的处理方式。
当朋友开始使用拾时后,我也需要考虑怎样可靠地更新它。我在发布前进行本地预览和验收,保留版本归档与回退记录,并在后续使用中继续寻找需要改进的地方。