V12
统一架构 · 从"给自己"到"给你"
2026-02-28

最大的一次架构重构。Karvis(个人版/OneDrive)和 KarvisForAll(多用户版/本地存储)合并为统一代码库

核心思路:引入 UserContext 层,每个用户有独立的配置、存储路径、Skill 开关。一套代码 + 用户级配置 = 个性化体验。这就是 KarvisForYou 的起点。

UserContext ├── user_config │ ├── storage_mode: "onedrive" | "local" │ ├── skills: ["note.save", "todo.*", ...] │ ├── nickname, soul_override │ └── onedrive: { client_id, refresh_token } └── ctx.IO ← 按 storage_mode 自动切换存储后端
KarvisForYou 多用户 统一代码库 UserContext
V11
Skill 自描述 · 自注册 · 走向插件化
2026-02-25

每个 Skill 文件通过 装饰器 @register_skill 自动声明自己的名称、描述、触发条件。skill_loader.py 自动扫描 skills/ 目录,动态加载。

新增一个能力不再需要改 brain.py 的路由表——写好 Skill 文件丢进去就行。为 V12 多用户按需加载 Skill 做好了准备。

Plugin Architecture 装饰器注册 热加载
V10
统一监控管理端 · 从黑盒到透明
2026-02-22

搭建了 Web 管理后台(/web/*),可以看日志、查状态、管理用户。KarvisForAll 的监控中心跑在 :9000 端口,实时查看每个 Agent 的运行情况。

从"盲人摸象"到"一目了然"。这个管理端后来成了 V12 多用户管理的基础。

Web Dashboard 运维可视化 日志管理
V9
循环提醒 · 它不会让你忘事了
2026-02-20

完整的到期提醒 + 循环提醒体系。"每天早上提醒我吃药"、"每周五下午提醒我写周报"——纯规则扫描,不消耗 LLM 调用。

设计决策 DD-007:todo_remind 不走 LLM,用规则引擎直接判断。快、稳、省。

循环提醒 规则引擎 0 LLM 消耗
V8
智能调度引擎 · 它会主动找你了
2026-02-18

这是最让我兴奋的一个版本。Karvis 从"你问它才答"变成了"它会主动来找你"

意图队列 + 8 条规则引擎 + 节奏自学习。早上发晨报(天气+待办+时间胶囊),晚上引导打卡,发现你沉默 4 小时过来问一句。五层防骚扰:信号驱动、凌晨免扰、频率限制、刚聊完不发、一天最多 3 条。

防骚扰五层机制: L1 信号驱动 ← 有事才触发,没事不发 L2 时间窗口 ← 8:00-22:30,凌晨免扰 L3 冷却期 ← 刚互动完 2h 内不主动 L4 频率上限 ← 一天最多 3 条主动消息 L5 Flash 生成 ← 用轻量模型,省钱且自然
主动陪伴 意图队列 5层防骚扰 节奏自学习
V7
性能飞跃 · 体感延迟 -51%
2026-02-16

Quick-Notes 写入改为异步 + Memory 读取引入 SWR(stale-while-revalidate)缓存策略。用户发消息后,先回复再保存(DD-010),体感从"等一会儿"变成"几乎秒回"。

-51% 延迟 异步写入 SWR 缓存 Reply-Before-Save
V6
动态能力引擎 · 你说什么它就做什么
2026-02-14

之前的 Skill 都是预定义的——22 个菜单,用户只能在里面选。但总有些需求不在菜单里。

dynamic Skill 让 Karvis 突破了预定义限制。它会分析用户的意图,如果没有匹配的 Skill,就用 LLM 动态生成处理方案。"帮我把这段话翻译成英文然后存进笔记"——这种组合需求,现在也能处理了。

Dynamic Engine 意图分析 LLM 动态生成
V5
财务管理 · 记账也交给它了
2026-02-12

4 个全新的 finance Skill:iCost 账单导入、收支查询、资产快照、财务月报。JSON 格式存储,支持多维度统计。

"这个月花了多少钱?"——直接在微信里问就行,它会从 iCost 的导出数据里帮你算。

iCost 导入 收支查询 资产快照 财务月报
V4
三层模型路由 · 它变聪明了
2026-02-10

之前所有任务都用同一个模型。现在引入三层调度:Flash(Qwen,秒回)、Main(DeepSeek V3,日常)、Think(DeepSeek 深度推理,复杂分析)。

23 个 Prompt 常量统一收入 prompts.py,告别 Prompt 散落各处的混乱。设计决策从 DD-001 累积到了 DD-020。

多模型调度 Flash / Main / Think Prompt Registry
V2-3
能力爆发 · 两天 18 个 Skill
2026-02-06 → 02-08

这是最疯狂的两天。Vibecoding 的效率在这里展现得淋漓尽致——平均每天 3-4 个新 Skill

V2:分类归档、读书笔记、影视笔记、情绪日记、每日打卡。
V3:待办管理、习惯教练、决策复盘、语音日记、深潜分析、每日复盘、周回顾。

从一个"能存笔记的聊天机器人"变成了一个有 22 个技能模块的 AI Agent

22 Skills 日均 3-4 个 Skill Vibecoding 全速
V1
Day 1 · 它活了
2026-02-04

最小可用版本。企微收消息 → 腾讯云函数处理 → Qwen 回复 → OneDrive 存 Quick-Notes

第一次在微信里发一句话,看到它被自动记录到 Obsidian 笔记库里——那一刻的感觉就像看到自己写的第一行代码跑通了(虽然代码不是我写的)。

那天晚上我就知道,这个东西会变成我离不开的工具。

MVP SCF Serverless Qwen Flash OneDrive
VM
基础设施迁移 · 冷启动 7s → 0s
穿插于 V8-V10 之间

从 SCF Serverless 迁移到腾讯云 Lighthouse + Docker。告别每次冷启动 ~7 秒的等待,基础开销降到 0

Karvis 和 KarvisForAll 并排运行在同一台服务器上,各自独立 Docker 容器。这个架构一直稳定运行到现在。

SCF → Docker 冷启动 0s Lighthouse
Design Decisions

26 项设计决策

每一个"为什么这样做"都被记录了下来。不只是代码在迭代,决策逻辑也在。

DD-006
记忆三层架构
DD-010
先回复后保存
DD-017
三层多模型路由
DD-019
主动陪伴五层防骚扰
DD-024
异步 Note + SWR 缓存
DD-025
智能调度引擎
DD-026
动态能力引擎
DD-009
Quick-Notes 统一收件箱

完整的 26 项设计决策记录在项目的 docs/设计决策.md 中。