junyi-vault · git:20260720.0c6553a · 2026-07-20 · sha256 fa7a37f2b9d7c8f4
junyi-vault git:20260720.0c6553aA
Immutable. This exact content is served forever at /api/v1/blob/fa7a37f2b9d7c8f4.
--- name: junyi-vault description: 搭建、维护和诊断采用“域—类—档”模型的个人知识库:从零设计最小目录骨架,把笔记、蒸馏素材、复盘和资料归入现有结构,或只读审计已经混乱的 Obsidian/Markdown 文件库并提出迁移方案。用于“搭知识库”“初始化 Obsidian”“这条笔记放哪”“批量归档”“整理混乱知识库”“合并 vault-builder 和 vault-filer”等任务。任何创建、移动、覆盖或批量写入都必须先预览并取得明确确认。 --- # 君一知识库 **「君一」是方法来源,不是服务对象。** 本 Skill 处理的是使用者自己的知识库。 用一个入口处理知识库的三个状态:没有结构时搭建,有稳定结构时归档,结构混乱时先诊断。不要把“重新整理”理解成获得了擅自移动或覆盖使用者文件的授权。 ## 先判断状态 1. 确认知识库根目录。路径不明确时先定位,不根据文件夹名猜测。 2. 只读扫描现有结构;可运行: ```bash python3 scripts/scan_vault.py <知识库根目录> ``` 3. 路由到一种模式: - **搭建模式**:目标目录不存在或基本为空,使用者要从零建立结构。 - **归档模式**:已有可理解的结构,使用者要放入一条或一批新内容。 - **诊断模式**:存在重复分类、层级过深、大量散落文件或使用者明确说知识库很乱。 4. 如果状态不明确,展示扫描证据和建议模式,让使用者确认;不要用“可能是空库”直接创建。 ## 不可违反的规则 - 任何创建目录、写入文件、移动、重命名、合并或覆盖之前,先展示完整计划和目标路径。 - 新增“域”或“类”必须获得使用者确认;归类不确定时给出 2–3 个候选和差异,不瞎猜。 - 默认不覆盖现有文件。批量操作默认 dry-run;只有使用者确认计划后才使用 `--apply`。 - 诊断模式默认只读。迁移计划与迁移动作分开,不能在同一步完成。 - 不删除原文,不把有力量的原话切碎,不根据标题编造正文结构。 - 先读取现有命名、frontmatter、索引和隐私习惯;现有稳定约定优先于本 Skill 的默认模板。 - 私密内容不因为进入知识库就自动获得公开授权。记录来源、授权和隐私级别。 - 不让符号链接、绝对路径或 `..` 路径逃出知识库根目录。 ## 核心模型 - **域**:长期负责或持续关心的生活/工作范围,通常 3–6 个。 - **类**:域内稳定出现、检索时会主动寻找的内容类型,通常每域 2–5 个。 - **档**:具体笔记、记录、案例、素材或产物。 域和类是检索承诺,不是装饰。能通过搜索、标签或索引解决的问题,不急着新增文件夹。新库默认只预建“域/类”两层;已有库不强制改成两层。 ## 搭建模式 读取 [build-mode.md](references/build-mode.md) 并执行: 1. 了解使用者要管理的内容、最常见检索问题、五个高频使用场景、隐私边界和现有工具。 2. 选择最接近的起手模型,再按真实内容收敛为 3–6 个域、每域 2–5 个类。 3. 展示“域—类”清单、每个类收什么/不收什么,以及三个示例归档。 4. 使用者确认后生成操作 manifest,先 dry-run: ```bash python3 scripts/apply_manifest.py plan.json --root <目标目录> ``` 5. 使用者明确确认本次计划后再执行: ```bash python3 scripts/apply_manifest.py plan.json --root <目标目录> --apply ``` 6. 重新扫描,确认目录、根索引和使用说明存在且未覆盖原文件。 ## 归档模式 读取 [file-mode.md](references/file-mode.md) 和 [schema-decision.md](references/schema-decision.md): 1. 扫描现有域、类和命名约定。 2. 判断内容的“主要未来用途”,再选择域和类;主题相似但用途不同的内容不强行放一起。 3. 给出置信度与依据。低置信度必须询问;现有分类都不合适时提出一个最小新增方案并等待确认。 4. 选择强、半或无 schema;保留来源、原话和必要上下文。 5. 展示目标路径、文件名、frontmatter、内容结构和冲突处理方式。 6. 确认后通过 manifest 写入;默认同名冲突报错,可在使用者确认后改用安全后缀。覆盖必须单独明确授权。 7. 回执写清写到哪里、为何归到这里、是否新增分类、是否保留待确认项。 ## 诊断模式 读取 [audit-mode.md](references/audit-mode.md): 1. 只读扫描目录深度、根目录散落文件、重复/近义分类、空目录和命名漂移。 2. 通过抽样内容确认用途,不能只看文件名批量判定。 3. 输出“保留、合并候选、改名候选、待观察、不能自动处理”五类清单。 4. 提供可逆迁移顺序和回滚点;使用者确认前不生成 apply manifest。 5. 每一批迁移单独预览、确认、执行和验收,不进行一次性大搬家。 ## 完成前验收 - 重新运行 `scan_vault.py`,结构与已确认计划一致。 - manifest 中每个路径都在根目录内;没有未说明冲突和失败项。 - 新文件可用 UTF-8 读取、无 U+FFFD 乱码、frontmatter 合法。 - 没有覆盖、删除、移动计划之外的使用者文件。 - 归档内容仍能追溯来源;引用、时间和人物没有被改写。 - 新增分类都能回答“以后什么内容会继续放进来”,否则撤回新增。 只有使用者明确要求时,才继续把新结构接入其他 Agent、自动化任务或云端系统。