博客文章
博客文章 · 完整的叙述、实践与思考。
88 / 88
BodySense · V2 领域模型重构开发笔记 按重构版本记录 BodyState、Diagnosis、Training、Safety、Person/Chat 与资产模型的方案比较和领域边界。 查看 → MemoFlow · AI 模块开发笔记 按版本记录 AI 从聊天和知识问答到 Mastra、Provider、业务原生编辑与受控写入的设计。 查看 → MemoFlow · Account 领域模型开发笔记 按版本记录 Account 从核心聚合到 Auth、Setting、Notification 与本地 Profile 权限分离。 查看 → MemoFlow · Account / Desktop Profile 开发笔记 按版本记录离线 SQLite 账号、Electron IPC、本地 Profile 与云端认证同步方案。 查看 → MemoFlow · Electron Desktop 开发笔记 按版本记录 Nx Monorepo、Electron IPC、本地持久化与独立 Profile 的架构设计。 查看 → MemoFlow · Goal 模块开发笔记 按版本记录 Goal 从 OKR、记录与任务贡献,到 KR Measurement 和原生工作区的方案。 查看 → MemoFlow · Goal 数据同步开发笔记 按版本记录 Goal Store 初始化、聚合刷新、同步通知和 Mutation Receipt。 查看 → MemoFlow · Notification 模块开发笔记 按版本记录从桌面通知到消息事实、投递策略与可靠渠道的设计。 查看 → MemoFlow · Reminder / Routine 开发笔记 按版本记录循环提醒、Profile 场景、Protocol 与 Scheduler 协作的设计。 查看 → MemoFlow · Repository 模块开发笔记 按版本记录数据库资源、Local Vault、GitHub 同步与知识投影的方案。 查看 → MemoFlow · Schedule / Scheduler 开发笔记 按版本记录用户日历规划与后台可靠调度从统一构想到职责分离的过程。 查看 → MemoFlow · Task 模块开发笔记 按版本记录 Task 从模板与实例、KR 测量,到 TaskPlan / TaskOccurrence 的方案。 查看 → MemoFlow · Todo / Task 时间建模笔记 按版本记录任务时间、重复规则、模板实例与 TaskPlan / TaskOccurrence 设计。 查看 → MemoFlow · Editor 模块开发笔记 记录 Editor 的版本化方案:Monaco、CodeMirror 6,以及 Vault / Obsidian 的技术选择与实现。 查看 → BodySense:没有体态证据,Agent 为什么说出了高低肩? 从 unsupported posture observation 追溯输入证据、模型上下文及持久化边界的工程排查。 查看 → 数据库学习随记 记录关系型数据库、约束和 SQL JOIN 学习时的问题与直观理解。 查看 → 手机连上 Tailscale Exit Node,却还是没法正常上网 一次 ImmortalWRT + Nikki 排障中,入口接口与 IPv6/DNS 黑洞先后阻断流量的经历。 查看 → MCP 服务没挂,为什么工具调用会在排队时过期? 一次 GCP MCP 运行日志分析:同步命令、response deadline 和预取排队的预算错位。 查看 → USB 手机共享网络一开 TUN 就全超时:其实是 DNS 自己绕回来了 Windows USB 共享移动网络与 Sparkle/Mihomo TUN 的 DNS Bootstrap 回环排障。 查看 → 机场订阅还是自己搭 VPS?我最后先比较的是控制权 商业订阅与自建 VPS 的比较:控制权、线路质量、流量成本和维护责任。 查看 → Windows 项目里出现删不掉的 nul 文件:一次删除实验 跨平台脚本留下保留设备名文件时,为什么普通删除命令不行,以及原始复现中各工具的不同表现。 查看 → 远程 MCP 工具已经返回,为什么 ChatGPT 里还是看不到 BodySense 远程开发桥接的三层排查:工具聚合、schema 兼容与 ChatGPT App 工具快照。 查看 → BodySense:开始画 UI 之前,我想先确定什么是主要任务 围绕身体状态地图、用户主任务和信息架构的早期 UX 设计记录。 查看 → 我为什么希望 Hermes 能调度多个 Agent 记录对个人 Agent 助手、任务委派、并行执行和模型调度的想法。 查看 → WSLg 里的 Obsidian:窗口、输入法和空白界面连续踩坑 从输入法快捷键、最大化坐标偏移到 WSLg 空白窗口的多个 Linux GUI 现场问题。 查看 → 把 Thought Forest 接入 ChatGPT:一次 Tunnel 404 的排障 从本地 MCP 到 Secure MCP Tunnel 的接入、错误假设和最终修正过程。 查看 → BodySense:Agent 追问为什么变成一个空聊天气泡? ask_user 工具调用的消息语义、空占位和聊天界面状态混乱问题。 查看 → BodySense:给 Diagnosis Handler 写 Go 测试 为 Go Diagnosis Handler 补边界测试时关于依赖、Fake Repo 和测试范围的思考。 查看 → BodySense:在诊断重构中学习 Python Python pytest、依赖注入、Pydantic 建模以及诊断重构中的学习问题。 查看 → 从 Go 请求链路到 Python AI Runtime:我的全栈学习路线为何发生变化 从自己项目里的 User 调用链出发,转向读开源源码,再到分清 AI Application 与业务后端的职责。 查看 → 从自己的 Go 项目转去读 ArdanLabs 和 Memos 为什么看成熟 Go 开源项目,以及比较架构、路由和契约时的个人观察。 查看 → Go 学习:从自己的项目代码开始看 先看 Go 基础,再阅读 User 请求链路、GORM 模型与 Gin Handler 的学习过程。 查看 → 两台 VPS 为何被监控成重复的机器:哪吒 Agent 清理记录 从重复 systemd unit 到 Dashboard 记录映射,保留一次 Oracle 监控清理的可核验步骤与未完成验收项。 查看 → Ubuntu SSH 改了端口却连不上:被忽略的 socket activation 一次 SSH 端口变更中 sshd_config、systemd generator 与手工 override 的冲突,以及保留救援会话的意义。 查看 → Oracle VPS 折腾日记:部署与 SSH 踩坑 2026 年 7 月配置 Oracle VPS、代理网络与 SSH 时遇到的实际问题和处理过程。 查看 → 第一次折腾 OCI:没容量、SSH 不通和异常流量该分别查什么? 把云实例创建失败、SSH 网络边界与流量/费用异常的真实排查问题分开。 查看 → Oracle VPS 的代理问题:有时不是协议,而是路由和配置层 把 Oracle 代理端口、Nikki/Mihomo 出口、Cloudflare 与配置误判分开的一组实践。 查看 → Python 学习:先从 AI Application 入手 学习 Python AI 应用的目标、初步理解和寻找 PydanticAI 学习材料的过程。 查看 → MemoFlow UI 重构:当时我为什么放弃两种 AI 原型方案 从 Google Stitch、Open Design 到 Antigravity:一次 MemoFlow UI 原型重构尝试。 查看 → VPS 节点突然全部离线,我当时是怎么开始排查的 多个 VPS 节点同时超时:如何区分链路故障、监控异常与安全事件。 查看 → Sub-Store 管理后台一直弹登录框:从 Basic Auth 改用 Access 的一轮排查 前端页面通过认证后,API 请求却再次收到 401;从浏览器行为梳理管理面与公开订阅入口的边界。 查看 → Vaultwarden 能打开网页,但客户端 prelogin 404:我会从版本与 API 对齐查起 Vaultwarden 网页可以访问,客户端却在 prelogin 返回 404:版本与反向代理排查。 查看 → 在 Dify 里用 Workflow 搭一个视频脚本原型 从 video-craft-agent 的 V0.1 设计笔记提炼固定流程与 Agent 选型的边界。 查看 → MemoFlow 单机部署:从 Caddy 到 Web、API 和 PowerSync 回顾一次确实核查过服务器与仓库配置的 Docker/Caddy/Nginx 项目部署实践。 查看 → 读完“高级工程师会不会断档”,我更担心的是失去判断错误的机会 AI Coding 提高实现速度之后,如何保留代码阅读、验证与工程判断的反馈回路。 查看 → 从一个 add 函数理解 Function Calling:模型并不负责执行代码 第一次梳理 Function Calling 的调用回路,以及思考工具数量增长后的注册与按需加载问题。 查看 → MemoFlow 登录首屏:从一次很长的 Network 瀑布开始 保留一次实际测试中的约 80 秒登录页等待、首包体积和异常网络加载现象。 查看 → MemoFlow 登录后白屏:尝试预热与更细的拆包 登录页到主应用切换阶段的白屏问题,以及代码预热、动态导入和 Overlay 延后挂载的思路。 查看 → MemoFlow 的认证请求为什么等了 33 秒? 一次认证接口 TTFB 过长的排查:从 Network Timing 追踪等待时间。 查看 → MemoFlow CI:本地能跑,为什么干净环境解析不到 workspace 包? 类型声明缺失、tsconfig paths 与 Release Please 重复发版的问题记录。 查看 → MemoFlow:登出再登录,为什么主窗口还带着旧状态? 为什么 Electron 登出后重新登录仍可能保留旧窗口状态?从进程和窗口生命周期追查。 查看 → MemoFlow Electron:ESM 和 better-sqlite3 让我追错了方向 从 __dirname 未定义到原生模块打包的一次桌面端排障记录。 查看 → MemoFlow:从 Electron 桌面端扩展到 Web,我当时怎么考虑复用 早期从本地桌面应用到 Web/API 多端产品的架构计划,记录边界而不冒充上线事实。 查看 → MemoFlow:SSE 的 401,最后查到了 Express 中间件顺序 Express SSE 连接返回认证错误时,从路由栈与中间件顺序找问题。 查看 → MemoFlow:登录成功后,为什么 PowerSync 仍然没有准备好? 记录主进程、Renderer 认证状态与本地优先数据库初始化的竞态问题。 查看 → MemoFlow:PowerSync 容器一直 Restarting,应该先查哪一层? PowerSync 容器反复重启时,如何拆分数据库、配置与启动错误。 查看 → MemoFlow:PowerSync 已经接入,为什么还不能说实现了本地优先? 回看 MemoFlow 里 PowerSync、业务查询与 Pinia Store 分工的一次代码审查。 查看 → MemoFlow:启用 Routine 后,Scheduler 和 Notification 怎么保持一致? 一次跨模块提醒一致性问题,从旧 ScheduleTask 假设演变为 Routine/Scheduler/Notification。 查看 → MemoFlow:SSE 显示连接中,却收不到通知事件 EventSource 一直处于 CONNECTING 时,排查代理、中间件压缩与 SSE 缓冲。 查看 → MemoFlow:两个 Vite 依赖分支,为什么 TypeScript 说类型不兼容 pnpm Monorepo 中同名 Vite Plugin 出现类型不兼容,如何追查重复依赖。 查看 → MemoFlow Vue UI:为什么 Dialog、组件数据和 Toast 的状态对不上? 共享 UI 组件的响应式实例、重新挂载及缺失样式造成的几类不同问题。 查看 → 浏览器识别不到摄像头,最后是笔记本 Fn 键救了场 一次笔记本摄像头不可用的短排障:外接键盘与机身功能键表现不同,保留现场结果而非编造驱动原因。 查看 → 第一次跟着 Nx Demo 建 Monorepo:zoo 为什么会先构建 animal? 记录官方 Nx 教程的两个 Package、依赖图和受影响构建的第一次理解。 查看 → Git SSH 连接被断开:Fake-IP、22 端口和 WSL 代理到底是谁的问题? 从 Git SSH 断连与 WSL 内代理不可达的两条记录区分地址解析、端口和网络命名空间。 查看 → 第一次用 Prisma:Schema、Migration 和 Client 是三件事 跟随官方 Prisma Demo 建模,理解 migrate dev、generate、db push 与 migrate deploy 的不同职责。 查看 → 看《名侦探柯南:独眼的残像》,我在意的是角色的选择 保留原始观后感里对选择、认罪协商和不同角色立场的个人判断。 查看 → 做文旅 AI Agent 时,我开始怀疑:每个需求都需要 Agent 吗? 文旅智能体设计中,如何在事实问答、结构化查询和 Agent 自主决策之间做选择。 查看 → VS Code 提示 TS/JS Language Service 连续崩溃:我先分清是谁在运行 从鼠标悬停一直 Loading 到 TS Server 崩溃提示,分离 TypeScript 版本、扩展影响与大型项目资源占用的候选原因。 查看 → Windows 随机黑屏重启:从事件日志查到磁盘异常 Windows 随机黑屏重启的排查:Kernel-Power 41、磁盘检查与故障归因。 查看 → Windows SSH 报 Bad permissions:原来私钥文件的 ACL 也会被检查 Windows 本地 SSH 私钥被拒绝时的权限排查:继承、当前用户和不同终端执行命令的区别。 查看 → MemoFlow Monorepo 里 Tailwind 组件样式为什么漏了? 从 Web/Desktop 多包共享 UI 的样式扫描、导入链和依赖声明中复盘一次排障。 查看 → 为什么 Vite 的 .env.development.local 没赢过 .env?一次 Nx 加载顺序追查 记录 Nx 与 Vite 两层环境变量加载的交互:文件优先级不等于已经注入 process.env 的值会被覆盖。 查看 → 我为什么倾向于用原子笔记整理知识 从自己的使用习惯出发,聊聊为什么记笔记,以及为什么倾向扁平化和原子笔记。 查看 → MemoFlow:为什么我没有直接采用 AI 的应用层解耦方案 ApplicationService 直接写 UI Store 时遇到的耦合问题,以及如何重新划分依赖边界。 查看 → 我的第一块移动硬盘:第一次看 SMART 和测速截图 第一次查看移动硬盘的 SMART 与 CrystalDiskMark 数据,理解指标和真实使用之间的差别。 查看 → 插上硬盘盒后有线网络断了:一次 USB 拓展坞排查 2026 年 1 月的一次断网短记:通过拔插硬盘盒与键盘缩小故障范围,供电不足仍是候选原因。 查看 → MemoFlow:让 AI 生成 Dockerfile 之后,构建还是一路踩坑 从 Dockerfile 到 Monorepo 构建:容器镜像、依赖安装与部署过程中遇到的坑。 查看 → 从 html2canvas 到 Paged.js:一次复杂报表打印重构 从位图打印到分页 DOM:vue-print-next、Paged.js、签批区域与长表跨页布局。 查看 → 实习随记:旧系统功能迁移时,页面为什么接连报错? 从旧业务系统迁移功能时,组织、岗位、部门和字典接口如何逐项对齐。 查看 → 实习排障:讲师进入直播间却变成了普通观众 虚拟课堂角色跳转的前后端参数缺失与后端必须进行权限校验的边界。 查看 → 实习排障:Paged.js 分页之后,表格第二页的列为什么歪了? 从报表分页后空单元格与列宽错位的现象辨别 CSS 假设和真实 DOM 证据。 查看 → 实习排障:新分页接口明明接了参数,为什么还返回全量数据? 前端列表已接入分页参数,为什么接口仍返回全量数据? 查看 → 实习实践:AI 推荐学习内容之后,还需要人工确认什么? AI 推荐技能匹配之后,人工确认、重新匹配和手动编辑如何协作。 查看 → 实习联调:文件上传完成了,为什么资源还不能用? 课程附件上传、资源登记、预览与下载的分阶段数据契约。 查看 → 实习联调:消息中心少了分类,真的是侧边栏按钮有 Bug 吗? 从页面分类缺失与邮件问题记录中分辨接口映射、前端枚举和后端事件边界。 查看 → 实习踩坑:分页选择用户,为什么上一页的人没了? 从管理端用户选择组件的跨页丢选现象理解当前页状态、全局状态与回调重入。 查看 → 实习排障:切换聊天会话,为什么整个侧边栏又加载一遍? Vue Router 的 key 如何导致父组件重复挂载和列表接口重复请求。 查看 → 实习联调:课程详情没有附件字段,前端怎么办? 根据课程详情页的个人提问记录,区分前端展示需求与后端数据契约。 查看 →
目录加载失败。