No description
Find a file
2026-06-05 01:29:37 +08:00
.github/workflows Release only on tag push 2026-06-04 14:30:40 +08:00
docs Add OSS sync MVP design 2026-06-04 12:03:57 +08:00
scripts Add GitHub release workflow 2026-06-04 14:25:59 +08:00
src Polish sync protocol and status UI 2026-06-05 01:29:37 +08:00
.gitignore Keep build artifacts in dist 2026-06-04 14:20:14 +08:00
.npmrc Pin project registry to npm mirror 2026-06-04 22:37:42 +08:00
manifest.json Initialize Obsidian plugin scaffold 2026-06-04 12:06:49 +08:00
package.json Use Tailwind apply for Obsidian-style settings 2026-06-04 15:10:06 +08:00
pnpm-lock.yaml Use Tailwind apply for Obsidian-style settings 2026-06-04 15:10:06 +08:00
postcss.config.mjs Use Tailwind apply for Obsidian-style settings 2026-06-04 15:10:06 +08:00
README.md Add GitHub release workflow 2026-06-04 14:25:59 +08:00
tsconfig.json Switch build to Vite 2026-06-04 12:11:18 +08:00
versions.json Initialize Obsidian plugin scaffold 2026-06-04 12:06:49 +08:00
vite.config.ts Use Tailwind apply for Obsidian-style settings 2026-06-04 15:10:06 +08:00

Obsync

Obsync 是一个 Obsidian 同步插件,目标是通过 OSS / S3 兼容对象存储在多端同步 vault 文件。

当前仓库已经完成插件基础骨架和 MVP 设计文档。第一阶段实现目标是一个简单可靠的同步模型:

manifest.json + files/<path> + locks/sync.lock

当前已实现:

vaultId / deviceId 生成
连接配置复制
本地文件扫描
manifest 冲突判断
S3-compatible SigV4 对象存储 adapter
手动同步命令

详细方案见:docs/obsidian-oss-sync-mvp.md

开发

pnpm install
pnpm test
pnpm run build

构建栈:

Vite 8
Vue 3
Tailwind CSS 4
SCSS
TypeScript 6
pnpm

构建产物:

dist/main.js
dist/main.css

安装到 Obsidian 时,需要复制:

manifest.json
dist/main.js
dist/main.css

到目标 vault 的插件目录,并把 dist/main.css 放置为 Obsidian 识别的 styles.css

<vault>/.obsidian/plugins/obsync/
  manifest.json
  main.js
  styles.css

也可以使用安装脚本:

pnpm run build
pnpm install-plugin "/path/to/your-vault"

插件 ID

obsync

发布

推送版本 tag 会触发 GitHub Actions 自动发布:

git tag v0.1.0
git push origin v0.1.0

Release 会上传:

manifest.json
main.js
styles.css

发布前可以本地检查:

pnpm run build
pnpm run release:check