一键导入
sync-obsidian-to-lexiang
Obsidian vault 到腾讯乐享知识库的单向全量或增量同步工具。保留目录结构, 同步 Markdown 图文和独立附件。Markdown 页面统一复用 upload-markdown-to-lexiang。用户提到同步 Obsidian 到乐享、笔记同步知识库时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Obsidian vault 到腾讯乐享知识库的单向全量或增量同步工具。保留目录结构, 同步 Markdown 图文和独立附件。Markdown 页面统一复用 upload-markdown-to-lexiang。用户提到同步 Obsidian 到乐享、笔记同步知识库时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | sync-obsidian-to-lexiang |
| description | Obsidian vault 到腾讯乐享知识库的单向全量或增量同步工具。保留目录结构, 同步 Markdown 图文和独立附件。Markdown 页面统一复用 upload-markdown-to-lexiang。用户提到同步 Obsidian 到乐享、笔记同步知识库时使用。 |
| version | 2.1.1 |
| category | productivity |
| tags | obsidian, lexiang, sync, markdown, chinese, knowledge-base |
| agent_created | true |
| requires | {"skills":[{"name":"upload-markdown-to-lexiang","version":">=1.3.1,<2.0.0"}]} |
将 Obsidian vault 单向同步到腾讯乐享,支持全量、增量、中断恢复和冲突保护。
本 Skill 负责:
upload-markdown-to-lexiang 负责:
禁止在本 Skill 的 lexiang_api.py 中恢复 Markdown page 上传实现。
不得写死 WorkBuddy、OpenClaw 或其他 Agent 路径。按以下顺序定位公共 Skill:
LEXIANG_UPLOADER_HOMEupload-markdown-to-lexiang缺失时安装到本 Skill 所在的同一个 skills 根目录。
python3 "<uploader-root>/scripts/lexiang_upload.py" --version
# cli_api == "1"
python3 "<uploader-root>/scripts/lexiang_upload.py" auth status --check
首次凭证配置:
python3 "<uploader-root>/scripts/lexiang_upload.py" auth login
个人凭证从 https://lexiangla.com/ai/claw 获取。
默认情况下,目录、探活和独立附件仍复用 Agent 乐享连接器。显式选择
--lexiang-profile 或 --lexiang-credential-file 后,Markdown、目录、
探活和独立附件统一使用该 ai/claw 个人凭证。Markdown 内容不会进入对话上下文。
首次建议 dry-run:
python3 scripts/sync.py \
--mode full \
--target-space-id <SPACE_ID> \
--target-folder-id <FOLDER_ID> \
--vault-path "<VAULT>" \
--dry-run
正式同步:
python3 scripts/sync.py \
--mode incremental \
--target-space-id <SPACE_ID> \
--target-folder-id <FOLDER_ID> \
--vault-path "<VAULT>"
大批量后台执行:
python3 scripts/sync.py ... --lexiang-profile obsidian-sync --background
python3 scripts/sync.py --status --vault-path "<VAULT>"
命名 profile 位于 ~/.config/lexiang-upload/profiles/<name>.json;
default 对应 ~/.config/lexiang-upload/credentials.json。也可直接传
--lexiang-credential-file <PATH>,两者不能同时使用。命令行选择会写入
vault 的 config(只保存 profile 名或路径,不保存 token),后续定时任务可复用。
若 config 未设置,则考虑 LEXIANG_UPLOAD_CREDENTIALS /
LEXIANG_UPLOAD_PROFILE;都未设置时保持原连接器默认行为。
stdout 只输出 JSON 摘要和报告路径;进度写 stderr 或 progress.json。
| 参数 | 说明 | 默认 |
|---|---|---|
--mode | full / incremental | 首次 full,之后 incremental |
--target-space-id | 目标知识库 | 必填 |
--target-folder-id | 目标目录 | 知识库根目录 |
--vault-path | Obsidian vault | 自动检测 |
--source-dirs | 指定同步目录 | 全部 |
--conflict-strategy | lexiang_wins / obsidian_wins | lexiang_wins |
--respect-move | 尊重乐享侧移动 | true |
--lexiang-profile | 命名个人凭证 profile | config / 环境 / 未设置 |
--lexiang-credential-file | 个人凭证 JSON 路径,与 profile 互斥 | config / 环境 / 未设置 |
--dry-run | 仅预览 | false |
--parent-id。--entry-id。verified=true 后才写入 manifest。临时工作包在单篇完成后自动删除,不是第二份上传源码。
PDF、Office、独立图片、音视频等作为 file entry 上传。它们不调用公共 Markdown 上传器。
.sync.lock 阻止并发。lexiang_wins:乐享在上次同步后被独立编辑则跳过覆盖。obsidian_wins:Obsidian 变更始终覆盖。respect_move=true:目的端移动后继续更新原 entry。{vault}/.obsidian/plugins/sync-obsidian-to-lexiang/
├── config.json
├── manifest.json
├── .sync.lock
├── progress.json
└── reports/
| 文件 | 职责 |
|---|---|
scripts/sync.py | 扫描、调度、临时 Markdown 工作包、调用公共 CLI |
scripts/lexiang_api.py | 目录、探活和独立附件,不含 Markdown page 上传 |
scripts/converter.py | Obsidian 语法和附件解析 |
scripts/manifest.py | 配置与 manifest |
scripts/report.py | 同步报告 |
scripts/progress.py | 后台进度 |
scripts/test_sync.py | 离线回归测试 |
python3 scripts/test_sync.py
默认测试必须离线,不得在真实知识库创建目录或文档。
公共上传行为有问题时,只修改 upload-markdown-to-lexiang 并补它的测试;
本 Skill 只测试临时工作包、CLI 调用、manifest 和同步调度。