外部知识与网页存档
经历与档案 技术代码 knowledge
保存网页、文章、书籍和外部资料的来源、快照和批注。
模块职责
- 保存网页、文章、书籍和外部资料的来源、快照和批注。
- 维护“外部知识与网页存档”内部对象的生命周期与隐私边界。
- 通过稳定公共接口与其他模块协作,禁止跨模块直接修改数据表。
明确不负责
- 不直接处理其他模块的领域规则。
- 不把用户原文静默替换为AI生成内容。
- 不在浏览器或移动端复制服务端权限判断。
结构化字段
| 字段 | 中文名 | 编辑类型 | 必填 | 敏感性 | 业务说明 |
|---|---|---|---|---|---|
sourceType | 资料类型 | select | 是 | 普通 | 用于记录“资料类型”的业务值。 |
url | 来源地址 | text | 否 | 普通 | 用于记录“来源地址”的业务值。 |
sourceTitle | 来源标题 | text | 是 | 普通 | 用于记录“来源标题”的业务值。 |
snapshot | 内容快照 | textarea | 否 | 敏感 | 用于记录“内容快照”的业务值。 |
author | 作者或来源主体 | text | 否 | 普通 | 用于记录“作者或来源主体”的业务值。 |
publishedAt | 发布时间 | datetime | 否 | 普通 | 用于记录“发布时间”的业务值。 |
annotation | 个人批注 | textarea | 否 | 普通 | 用于记录“个人批注”的业务值。 |
readingStatus | 阅读状态 | select | 是 | 普通 | 用于记录“阅读状态”的业务值。 |
八项可执行功能
| 编号 | 功能 | 规划版本 | 完成状态 | 独立外部边界 | 执行策略 |
|---|---|---|---|---|---|
KNO-001 | 链接保存 | V1.0 | 部分实现:领域闭环尚未完成,功能入口失败关闭 | 无独立外部边界注记 | record |
KNO-002 | 网页快照 | V1.0 | 部分实现:领域闭环尚未完成,功能入口失败关闭 | 外部 blocker:等待真实账号、设备或授权 | record |
KNO-003 | 来源版本 | V1.0 | 部分实现:领域闭环尚未完成,功能入口失败关闭 | 无独立外部边界注记 | record |
KNO-004 | 资料批注 | V1.0 | 部分实现:领域闭环尚未完成,功能入口失败关闭 | 无独立外部边界注记 | record |
KNO-005 | 稍后阅读 | V2.0 | 部分实现:领域闭环尚未完成,功能入口失败关闭 | 无独立外部边界注记 | record |
KNO-006 | 来源变化检测 | V2.0 | 部分实现:领域闭环尚未完成,功能入口失败关闭 | 外部 blocker:等待真实账号、设备或授权 | analyze |
KNO-007 | 知识关联图谱 | V2.0 | 部分实现:领域闭环尚未完成,功能入口失败关闭 | 无独立外部边界注记 | record |
KNO-008 | 可移植归档 | V3.0 | 部分实现:领域闭环尚未完成,功能入口失败关闭 | 无独立外部边界注记 | record |
本模块状态:partial 8 · 独立外部 blocker 2。状态由专用规则、聚合持久化、PC/移动行为和自动测试共同决定;外部 blocker 与历史 Provider 记录只作独立注记,不提升完成度。
HTTP 与数据生命周期
该模块使用 Record Kernel /api/v2/records/knowledge 统一提供创建、列表、详情、修改、归档、恢复、修订历史、执行历史和功能入口;POST/GET /api/v2/records/:moduleCode、GET/PATCH /api/v2/records/:moduleCode/:recordId、POST /archive、POST /restore、GET /revisions、GET /executions、POST /features/:featureId;共 9 条获批路由,无 DELETE。Identity typed 快照的通用写入失败关闭,typed 读取也必须使用 v2 专用接口;非 typed legacy core 仅保留只读兼容。 v2 不提供永久销毁,旧 v1 兼容链不从新页面调用。创建和更新先经 SystemRecordPolicyPort,由内核外的 SystemRecordPolicyRegistry 依次执行专用规范化、跨字段规则和 Catalog 字段规则;带键 cache miss 先取得事务内幂等预占,再执行无副作用策略;策略失败会让预占与数据库、审计副作用共同回滚,成功 cache hit 则直接精确恢复首次 revision。功能地址会先校验目录归属;partial 功能统一返回 HTTP 501 FEATURE_NOT_IMPLEMENTED,且不新增修订、执行、审计或幂等记录。迁移维护 active 时普通写返回 HTTP 503 SYSTEM_MAINTENANCE,读接口继续可用。MEM-001 至 MEM-008 的通用功能地址均返回对应专用地址错误,必须改用各自的 /api/v2/memory/... 专用入口。
参数化代码入口
apps/api/src/kernel/recordsapps/api/src/record-policiesapps/api/src/feature-registryapps/web/app/pages/modules/[moduleCode]apps/web/app/composables/useRecordKernel.tsapps/mobile/src/pages/module/index.vueapps/mobile/src/pages/recorddocs-site/modules/knowledge.htmlMobile 使用 /pages/module/index?module=... 与 /pages/record/* query 容器;MEM-001 使用 /pages/memory/text/create,MEM-002 至 MEM-008 使用 /pages/memory/text/detail 专用治理详情,TAX-001 至 TAX-008 共用 /pages/taxonomy/tags/index 的标签、分类、合并、编号、标题、AI 候选和审计专用交互。 旧 24×5 包装页和 descriptor 副本不属于当前架构。
设计原因
模块目录提供稳定业务语义和白名单;RecordAggregate 只负责公共记录生命周期,不解释 payload。SystemRecordPolicyRegistry 在内核外精确覆盖 Catalog 24 个模块,保留 Routine、Decision、Memory、Interview 的专用规范化,并拒绝未登记模块。Batch 003 固定规范大写 ULID、标题 200/摘要 1000 字符合同、payload 顶层覆盖与 payloadRemove 删除语义、受控 JSON 资源上限、递归敏感字段治理、幂等最小引用和精确 revision/execution 回放。0009 只追加 summary CHECK 与 owner/module[/status] + id DESC 匹配索引。 该等价层与公共加固仅保持普通记录合同,不代表领域功能完成;领域完成仍必须由专用规则、类型化持久化、PC/Mobile 行为和当前自动测试共同证明。