[Obcsapi v3] Obsidian 从本地到云端

警告
本文最后更新于 2023-08-12,文中内容可能已过时。

Obsidian 作为本地笔记软件,在使用了多端同步插件 remotely save插件情况下,我选 s3 同步。如果能够在微信测试号中,信息发送过去,然后存储到对象存储中。在 Obsidian 中一刷新就能看到了。于是就有了Obsidian S3 存储的后端 API

基于 Obsidian S3 存储的后端 API ,保存到 S3 存储的 Obsidian 库。支持列表

微信测试号 微信到Obsidian
支持简悦 SimpRead Webook
支持 fv悬浮球文字图片分享保存
静读天下 MoonReader 高亮标注 仿 ReadWise API
通用 http api

效果视频 【Obsidian 从本地到云端-哔哩哔哩】 https://b23.tv/uJFvw3A


也是费用很低的一种方法,每月,也很方便。如出现较慢情况参考阿里云函数计算 FC 优化冷启动。


打开 https://gitee.com/kkbt/obsidian-csapi

https://cdn.ftls.xyz/images/2022/12/20221206113058.png
下载压缩包

https://cdn.ftls.xyz/images/2022/12/20221206113200.png
下载压缩包

打开 https://gitee.com/kkbt/obsidian-csapi/blob/master/config.ini 页面。本地创建一个同名文件 config.ini ,复制内容到本地文件。

https://cdn.ftls.xyz/images/2022/12/20221206113430.png
修改配置文件


根据 ini 配置文件的注释填写参数。主要填写

  1. S3 部分中的 5 个参数。和 Obsidian Remotely Save S3 一样的。复制过来就可以了。
  2. Flask 部分的3个参数。right_token,moonreader_token,simp_read_token。可以一样,但是需要自己随机生成。允许字符 ^!@$ a-z A-Z 0-9
  3. WeChat 部分 。需要登录 https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 相关说明 https://www.jianshu.com/p/a605b9286a55 。打开此页面获取 appID,appsecret 参数。Token 是自己设定的,需要自己随机生成。OpenId 是微信扫码关注此页面后,用户列表显示的微信号。

提前注册好阿里云账户,打开阿里云函数计算 FC https://www.aliyun.com/product/fc。点击管理控制台。

https://cdn.ftls.xyz/images/2022/12/20221206114539.png
打开阿里云函数计算

然后创建一个服务

https://cdn.ftls.xyz/images/2022/12/20221206114750.png
创建服务

https://cdn.ftls.xyz/images/2022/12/20221206114836.png
创建函数

https://cdn.ftls.xyz/images/2022/12/20221206115159.png
配置函数

然后拖拽或选择上传修改好的 obsidian-csapi-v3.0.zip 。
启动命令 python app.py
监听端口 9000

https://cdn.ftls.xyz/images/2022/12/20221206115657.png
上传代码包

https://cdn.ftls.xyz/images/2022/12/20221206115754.png
创建完成
https://cdn.ftls.xyz/images/2022/12/20221206120205.png
复制服务 URL

url 类似 https://flask-use-test-fkhbfuenab.cn-hangzhou.fcapp.run/ 。每个人都不同,需要记录下来。


浏览器进入 https://flask-use-test-fkhbfuenab.cn-hangzhou.fcapp.run/headers 。有下载文件,说明部署成功了。打开后应该按是 Auth Err 。

https://cdn.ftls.xyz/images/2022/12/20221206120701.png
测试与日志

然后日志里能看到请求记录。


在微信公众号测试平台 - 接口配置修改处填写 Url . 格式 https://你自己url/api/wechat
类似 https://flask-use-test-fkhbfuenab.cn-hangzhou.fcapp.run/api/wechat

https://cdn.ftls.xyz/images/2022/12/20221206121123.png
修改接口配置 URL

然后 Token 和 config.ini 的 WeChat 里的 Token 一致,能提交上就可以了。

以上步骤全完成后,即可在刚刚关注的微信测试号中发送信息,等待一会。在 Obsidian 中刷新一下,即可看到已经保存好了。


代码地址 https://gitee.com/kkbt/obsidian-csapi
说明: 图片分别为 微信测试号发送收藏的文章,或以http开头的链接。然后 obsidian 在日记中存储到样子和源码。文章生成的样子和源码。

https://cdn.ftls.xyz/images/2022/11/Snipaste_2022-11-21_12-40-35.png
微信发送后效果

https://cdn.ftls.xyz/images/2022/11/Snipaste_2022-11-21_12-41-09.png
源码

https://cdn.ftls.xyz/images/2022/11/Snipaste_2022-11-21_12-41-31.png
微信裁剪抓取网页以 md 格式存储

https://cdn.ftls.xyz/images/2022/11/Snipaste_2022-11-21_12-41-51.png
抓取网页后的源码

https://cdn.ftls.xyz/images/2022/11/微信图片_20221121124436_edit_25751770917423.jpg
微信发送后效果

微信测试号返回的信息中,点击 点击查看今日笔记 进入网站。按下齿轮,勾选 Debug。拉到页面下面,两个输入框,第一个是后端api。第二个是 token。api填写类似 api.ftls.xyz/ob ,不需要协议头和尾部斜杠。另外token将加入到和后端 api 的 headers 中 Token 字段。填写完成后,点击 updateConfig 按钮并刷新页面。按函数计算fc格式,第一个框如 https://xxxxx.cn-hangzhou.fcapp.run/ob ,第二个框 7$w8nA31OAoW@31^3!@$ (是 config.ini 中的 right_token)。
当然在前端不支持obsidian 链接。


https://cdn.ftls.xyz/images/2022/11/Screenshot_20221206_135729_com.jpg
前端效果

fv 悬浮球 自定义任务

https://cdn.ftls.xyz/images/2022/11/Screenshot_20221206_144042_md.jpg
fv 悬浮球配置自定义任务

效果
https://cdn.ftls.xyz/images/2022/11/Screenshot_20221206_144022_md.jpg
fv 悬浮球效果


本文完成了最简单的部署方式,起抛砖引玉之作用。望集思广益,完善优化使用流程。另外个人使用做多的是 ,fv 悬浮球,剪裁妙语或图片之类非常方便。