mcpField
W
wiki-mode

wiki-mode

github.com/agricidaniel生产力15.9k300 次安装6 天前更新
代码仓库

关于 wiki-mode

wiki-mode 是一项按知识库所选方法建议笔记归档位置的技能,面向需要整理笔记的用户。它强调经过验证的非破坏性路由,不会改写现有页面。

主要功能

  1. 01按 generic、LYT、PARA 或 Zettelkasten 路由
  2. 02验证知识库路径并清理名称
  3. 03仅建议位置,不写入页面
  4. 04通过审核事务更改模式
  5. 05保持现有笔记不变

适用场景

  1. 01为新概念或来源选择归档位置
  2. 02更改方法前检查笔记路由建议
  3. 03更改知识库模式而不迁移现有页面

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/agricidaniel/claude-obsidian --skill wiki-mode

安装后在 Claude Code 中输入/wiki-mode确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

templates/lyt/
atomic-template.md
moc-template.md
templates/para/
area-template.md
project-template.md
resource-template.md
templates/zettel/
atomic-template.md

详细介绍

按知识库方法论路由

此技能会提供归档建议,不会编写知识页面或移动现有笔记。如果不存在 .vault-meta/mode.json,则使用 generic。如果文件存在但无效,则安全失败;在提供路由建议前,先通过经审核的配置操作修复该文件;绝不可静默地用 Generic 替代损坏的用户配置。

根据此技能自身的位置解析已安装产品根目录,而不是根据知识库或当前工作目录解析:

PRODUCT_ROOT=/absolute/path/to/installed/claude-obsidian
CORE="$PRODUCT_ROOT/scripts/claude-obsidian.py"
MODE_HELPER="$PRODUCT_ROOT/scripts/wiki-mode.py"
test -f "$CORE" && test -f "$MODE_HELPER"

本文件中的每个 ../wiki/references/ 链接都以相同方式解析:相对于 $PRODUCT_ROOT 下此技能自身的目录,而不是相对于所选知识库的 wiki/ 目录。

安全读取并路由

始终明确选择知识库:

python3 "$MODE_HELPER" --vault "$VAULT" get
python3 "$MODE_HELPER" --vault "$VAULT" config
python3 "$MODE_HELPER" --vault "$VAULT" route concept "Concept name"
python3 "$MODE_HELPER" --vault "$VAULT" route source "Source title"

此辅助工具会验证所选知识库、限制路径范围、清理名称,并且只打印建议。调用技能可以在用户提供更具体的项目、领域、MOC 或父级笔记时覆盖建议,但最终写入仍须通过一个操作事务执行。

模式路由意图
generic按类型归入来源、实体、概念和会话等文件夹。
lyt在 wiki/notes/ 下创建原子笔记,并通过 MOC 建立关联。
para根据可操作性选择项目、领域、资源或归档。
zettelkasten创建平铺的原子笔记,使用可按时间排序、防冲突的标识符,并添加明确链接。

将模板用作结构指南:LYT 原子笔记、LYT MOC、PARA 领域、PARA 项目、PARA 资源或Zettelkasten 原子笔记。它们使用 claude_obsidian/page_schema.py 中的规范 type 值,以及单独的 methodology_role 属性:

模板类型方法论角色
LYT 原子笔记conceptatomic
LYT MOCmetamoc
PARA 领域conceptarea
PARA 项目entityproject
PARA 资源集合conceptresource
Zettelkasten 原子笔记conceptzettel

资源模板用于描述主题集合。如果新页面代表某个特定的已收集来源,则改用 source。方法论角色不会新增路由类型:传入规范类型,并遵循所选项目、领域或 MOC 的目标位置。结构性 MOC 使用明确的目标位置;meta 不是可路由的新笔记类型。现有用户页面、自定义类型词汇表和已保存的 Dataview 查询均保持不变。任何迁移请求都需要单独制定并审核计划;切换模式绝不会重写现有笔记。

更改模式

更改模式属于一次配置操作,须先进行试运行:

  1. 读取当前 .vault-meta/mode.json;如果文件不存在,则从辅助工具的默认配置开始。

  2. 将请求的模式验证为必须恰好是 generic、lyt、para 或 zettelkasten 之一。保留其他特定于模式的设置。

  3. 为两条命令选择并保留固定的 UTC 时间戳和操作 ID。

  4. 预览规范配置事务;该命令会记录当前目标文件的哈希,并将写入范围限制在 .vault-meta/mode.json:

    python3 "$CORE" mode set "$MODE" --vault "$VAULT" \
      --generated-at "$GENERATED_AT" --operation-id "$OPERATION_ID"
    
  5. 展示旧模式、新模式、确切的变更路径以及完整预览。审核通过后再复制其 approved_plan_sha256。

  6. 通过重新生成绑定到该知识库的确切计划来应用更改:

    python3 "$CORE" mode set "$MODE" --vault "$VAULT" \
      --generated-at "$GENERATED_AT" --operation-id "$OPERATION_ID" \
      --approved-plan-sha256 "$APPROVAL_SHA256" --apply
    

遵循操作事务约定。不要使用 scripts/wiki-mode.py 的旧版直接写入 set 操作,也不要使用设置脚本绕过此工作流。

更改模式只会影响未来操作的路由。绝不可因此批量创建文件夹、移动笔记、重写 wikilink 或迁移现有页面。若之后请求迁移,须将其规划并审核为独立操作,并使用其专属的哈希和事务。

检查点

观察用户当前的结构,思考他们如何检索和处理笔记,在更改配置前验证几种拟议的路径,并且只有在实际归档过程中出现阻碍时,才重新审视此模式。

评论

支持 Markdown