MOSS Architecture
从书签校准工具到个人上下文工作台。通用 content_items 模型 + 规则引擎 + Today、Knowledge、Governance、Calibration 四个路由。7 张图覆盖系统分层、组件树、路由迁移、规则引擎、SSR 数据流、实施计划和安全边界。
6 层纵向架构,绿色已有、橙色新增、蓝色核心重构、灰色外部依赖。
从单体 moss-workbench.tsx (20KB) 拆分为共享壳 + 独立视图组件。通用 ContentItem 替代 BookmarkItem。
从单页面扩展为路由组,共享 Sidebar + Topbar + Inspector 壳。
| URL | 视图 | 状态 |
|---|---|---|
/ |
→ redirect /today | 新增 |
/today |
Today — Hero + FocusStack + Signals + Coverage | 新增 |
/knowledge |
Knowledge — Content Flow + 模块网格 | 新增 |
/governance |
Governance — 策略 + 审计事件 | 新增 |
/calibration |
书签校准工作台(从 / 迁移) | 迁移 |
POST /api/feedback |
事务提交 Feedback 与 Audit Event | 扩展 |
POST /api/signals/refresh |
通过 nonce 发布新信号批次 | 新增 |
由本地日期、导入、反馈和规则版本共同驱动;新批次发布失败时继续提供旧 active 结果。
runSignalEngine()status = 'active' 的稳定批次;普通访问比较 base key,强制刷新绕过命中signals,跳过重新计算
db 实例、当前时间、最新导入记录| 规则 ID | SQL 查询概要 | 触发条件 | 域 | 紧急度 |
|---|---|---|---|---|
uncalibrated-categories |
按 json_extract(metadata, '$.category') 统计内容数、反馈数 | 总数 >20 且覆盖 <10% | Knowledge | normal → warn |
stale-import |
查最近 import_runs 的 created_at 与 now 的天数差 | 差 >7 天 | Knowledge | warn → danger |
feedback-coverage |
COUNT(DISTINCT content_id) / COUNT(content_items) | 覆盖率统计 | Governance | normal → warn |
author-review |
按 json_extract(metadata, '$.author_handle') 聚合,LEFT JOIN 正向反馈 | 高频作者无正向 | Knowledge | normal |
category-skew |
按 json_extract(metadata, '$.category') COUNT / 总数 | 占比 >30% | Governance | normal |
每个视图的 Server Component 调用什么查询、传给哪些客户端组件。
编号对应架构模块;9A/10A 先恢复数据重构后的编译,5+9B 再原子完成路由和共享壳。
内部 ID + UNIQUE(source, source_id) · 新增使用 UUID · user_version=2 · 严格日期解析 · 事务失败整体回滚
ContentItemRecord, ContentItem, XBookmarkMeta, SignalRun, Signal, AuditEvent, DomainCoverage 等
依赖 Step 4.1 getLatestSignals() · generation key + append-and-publish runner + active run 回退 + 5 条规则
getLatestSignals(), getDomainCoverage(), getAuditEvents(), getContentFlowStats(), getCategoryBreakdown()
(workbench)/ 路由组 + 从 moss-workbench.tsx 提取 Sidebar / Topbar / Inspector
HeroSection + FocusStack + SignalCards + CoverageMeter · 域色编码
Content Flow 模块(实数据)+ 4 个 placeholder 模块卡片
策略卡片(静态)+ 审计事件列表(实数据)
9A:先在根页面完成 ContentItem 兼容 · 9B:与 Step 5 同提交迁移 /calibration 并拆除旧壳
10A:先更新事务化 Feedback API · 10B:规则引擎完成后新增 signals refresh API
local-first 架构的核心约束:数据不出本机、不写远端、不暴露公网。
data/phase-1a-input/*.md 含书签正文、作者与链接;推送仓库前确认数据可见范围