- 2026/06/22
- |
- 未分类
- |
- 0 Replies
存储架构不合理,越用越痛苦。这次让 AI 帮我 1 分钟搞定新方案。
目录
旧架构的痛:TrueNAS + ZFS 的不合理
新方案:mdadm + btrfs RAID5
AI Agent 的 8 步部署
为什么是 mdadm + btrfs 而不是纯 btrfs RAID5
文件共享:LXC 容器跑 SMB/NFS
总结
旧架构的痛
用 TrueNAS + ZFS 跑了一年家庭存储,问题越来越多:
1. ZFS 太吃内存
ZFS 的 ARC 缓存机制号称"用内存换性能",但对家庭场景来说是用性能换内存。64GB 内存的机器,ZFS 动不动吃掉 30-4...
- 2026/06/12
- |
- 未分类
- |
- 0 Replies
从缩略图到全图:Photo Viewer 的飞行动画设计与实现
Tokimo Web Desktop OS · 动画系统
目录
动机
动画架构
变轨设计
预估落点
防闪烁设计
踩坑记录
动机
用户在 Photo 时间线里点击一张缩略图,Photo Viewer 窗口打开,图片展示出来。这个过程在任何系统里都有,但大多数系统的体验是:
点击缩略图
窗口弹出来(空白/加载态)
图片加载完成,显示
三步之间有明显的视觉断层。用户点击的是一个小缩略图,但看到的是一个大窗口——视觉上没有任何连续性。
macOS 的 Photo Viewer 做了一个飞行动画:缩略图从点击位置"...
- 2026/06/09
- |
- 未分类
- |
- 0 Replies
从零构建 AI Agent:Tokimo Agent 深度源码剖析
本文以 Tokimo 项目的真实 Rust 实现为例,从 HTTP 协议层到 UI 渲染层,逐层拆解一个 production-grade AI Agent 是如何从零构建的。
目录
全景架构
与 LLM 对话:HTTP 请求的真相
流式响应:SSE 解析的字节级细节
ReAct 循环:Agent 的心跳
工具系统:让 LLM 拥有双手
深度思考:Extended Thinking 的三种实现
记忆系统:会话记忆与自动压缩
MCP 协议:可插拔的工具生态
事件协议:从 Rust 到浏览器的全链路
容错设计:重试、...
- 2026/06/03
- |
- 未分类
- |
- 0 Replies
本文记录 Tokimo(Web Desktop OS)任务调度系统的架构设计——从硬编码 match 分发到 JobHandler 注册表 + BusProxyHandler 代理的可插拔架构,涵盖 job 生命周期管理、sidecar 委托执行、协作取消机制及实时事件推送。
背景:为什么需要任务调度系统
Tokimo 作为桌面操作系统,需要处理大量后台耗时操作:媒体文件扫描、AI 推理(OCR / CLIP / 人脸识别)、元数据刮削、在线媒体下载、S3 上传等。这些操作的共同特征:
耗时长:单次扫描可能处理数万张照片
需要进度反馈:用户需要实时看到处理状态
可重试:网络抖动或...
- 2026/06/02
- |
- 未分类
- |
- 0 Replies
本文记录 Tokimo(Web Desktop OS)blob 存储系统的完整重构过程——从各 app 独立管理存储到主进程统一管控、app 通过 RPC 读写的架构演进。涵盖重构动因、两阶段实施路径及最终架构设计。
背景与问题
Tokimo 采用 pnpm monorepo + Rust sidecar 架构,系统中包含多个独立 app(音乐、视频、照片等),每个 app 均需持久化 blob 数据(专辑封面、艺术家头像、视频海报、缩略图等)。
重构前的存储架构
┌──────────────────────────────────────────────────────────...