恐咖兵糖
1
原 微信到 Obsidian 2.0 帖子
使用了多端 基于 Obsidian S3 存储或 CouchDb 的后端 API ,可借助 Obsidian 插件 Remotely-Save 插件,S3 方式,或者 Self-hosted LiveSync (ex:Obsidian-livesync) 插件 CouchDb 方式,保存消息到 Obsidian 库。特点
- 微信测试号 微信到 Obsidian
- 支持简悦 SimpRead Webook 裁剪网页文章
- 支持 fv悬浮球文字图片分享保存
- 静读天下 MoonReader 高亮标注 仿 ReadWise API
- 通用 http api
- 一个简易图床,附带命令行上传工具
- 云函数 或者 Dokcer 部署
文档
如果文档被浏览器缓存或者不是最新文档,可见 https://gitee.com/kkbt/obcsapi-go/tree/master/docs
说明,python 版本部署和效果 Obsidian 从本地到云端 - 超光速
旧代码 微信到 Obsidian 2.0 - 超光速
代码 Obsidian 云存储后端 API Go 版本: Obsidian Cloud Storage API 。基于 Obsidian S3 存储的后端 API。支持微信测试号发送消息,保存到s3。支持简悦 SimpRead Webook,支持 fv悬浮球文字图片分享保存, 支持静读天下高亮笔记api
两个版本:
Obsidian 云存储后端 API Go 版本
Obsidian S3 存储的后端 API python 版本
|
python |
go |
体积 |
未压缩 100Mb+ |
未压缩40Mb |
FC函数计算内存 |
100Mb 上下 |
50Mb 上下 |
修改难度 |
简单2
|
比python复杂 |
微信公众号(测试号)3
|
√ |
√ |
微信文章裁剪 |
√ |
× |
简悦 SimpRead Webook |
√ |
√ |
fv悬浮球文字图片分享保存 |
√ |
√ |
静读天下 MoonReader 高亮标注4
|
√ |
√ |
通用 http api |
√ |
√ |
S3 对象存储 |
√ |
√ |
CouchDb |
× |
√ |
Web 网页支持 |
√ |
√ 5
|
图床 和 CLI上传工具 |
× |
√ |
邮件发送登录链接 |
× |
√ |
公开文档功能 |
× |
√ |
邮件/微信任务提醒 |
× |
√ |
Docker |
<=3 |
>=4 |
Docker 3.0 之前的是 python 版本,之后的是 Go 版本。
2 个赞
恐咖兵糖
3
确实是,gitee默认私有,忘记改了。现在应该好了。
真巧我之前也研究过微信发送到ob,以方便实现无感记录日记,原理也是开一个订阅号,往订阅号发送命令,被服务器上的python程序处理并且通过坚果云webdav增添或修改内容,不过感觉可能没多少人感兴趣就没发出来,而且因为懒没实现图片相关功能,正好可以参考大佬造的轮子。
1 个赞
恐咖兵糖
5
图片处理倒是可以直接用腾讯返回的图片url。然后服务器闲时遍历daily note中源于腾讯图片,下载替换。
我写的程序对图片处理也很粗糙,没写异步,也没开多线程。图片过大,或连续发图都会触发微信重传。而且我这1M带宽服务器下载上传图片真要命啊,真是非常慢。
恐咖兵糖
6
我想到一个方法解决服务器带宽问题。就是我上面说的遍历日志下载替换腾讯图片链接。不过这事儿可以放在家里电脑上,或者nas,树莓派上,每天开机时遍历下最近几天的日志下载上传图片。
或者服务器设置个定时任务,每天凌晨处理这事,应该也可。
这么一说werobot也可以内网穿透,运行在家里。
绕过带宽小的服务器直接在本地获取图片确实是个好办法,这部分程序可以丢到树莓派上运行,内网穿透之后就可以把代码写到一起了,也不用通过日志获取,直接程序内部变量传递就行,不过是两部分代码走不同网络,然后可以多线程下载图片就不会影响微信的输入了
恐咖兵糖
8
我把daily note叫做日志来着。想每天定时通过读取笔记内容,匹配替换来着。
如果s3的spi支持链接下载到对象存储就好了。有些可以挂载s3开源网盘或许可以用api达到类似效果。
呃,实际上主要因为我对python多线程和异步还不太熟。。。
恐咖兵糖
9
我把daily note叫做日志来着。想每天定时通过读取笔记内容,匹配替换来着。
如果s3的spi支持链接下载到对象存储就好了。有些可以挂载s3开源网盘或许可以用api达到类似效果。
呃,实际上主要因为我对python多线程和异步不熟。。。
噢噢,这样啊 ,我一般管daily note叫日记,管日志叫log
恐咖兵糖
11
翻译过来确实这样,不过我这之前不知道obsidian里叫daily note。
在使用obsidian之前就用工作日志log,网络日志blog这样的说法了,而且不怎么记狭义的日记。
因此我obsidian继承了日志log的说法和做法。。搞混了是我的锅
恐咖兵糖
12
我完善了一下,简化了部署。放到阿里云函数计算了。使用门槛应该已经很低了。
恐咖兵糖
14
可以的,相关文档在这里 Document for Obsidian Cloud Storage API 。可以直接 Docker 部署 python 版本,不过没什么使用的人,若有问题请给予反馈
zhcbbs
(zhcbbs)
15
我在群晖nas上部署了docker,微信公众号也配置好了。
需要在obsidian上下载插件remotely save么,这个一个同步软件,为了使用微信发送功能,就需要每次同步全库么?感觉有些得不偿失。如果需要使用,remeotely save插件,应该如何配置。
恐咖兵糖
16
是的,因为 obsidian 笔记都存在本地,所以需要 remotely save 插件将文件同步到一些云服务上,这样 docker 内运行的程序才可以转发微信的文字到云端(对象存储桶内),然后借由同步,实现 obsidian 内保存内容 。
并且这个程序,是基于对象存储开发的,所以你需要做的事 搜索 obsidian remotely save s3 对象存储 相关内容。如 Obsidian 同步 Remotely Save S3 配置指南 - 超光速
这是基于腾讯云对象存储服务端,你可以在更多云服务商找到更多对象存储服务,只要他们支持 s3 接口。请注意如果没有新手半年或一年的免费额度,费用估算大约是双端1.5 Gb /元。
至于使用微信发送保存,remotely save 在正常工作的情况下,每次同步会比对云端(对象存储桶内的)文件和本地文件的修改日期,决定是否同步。所以如果使用该服务,每次同步只会同步当日日记那个文件;图片,抓取文章等等会多同步一个文件。
【Obsidian 从本地到云端-哔哩哔哩】 Obsidian 从本地到云端_哔哩哔哩_bilibili 这是相关教程,也包含演示。可以看到同步起来还是很快的,也不会整库同步。
zhcbbs
(zhcbbs)
17
感谢指导,我现在安装了 Self-hosted LiveSync插件,用于多设备实时同步,如果再安装remotely save同步本地文件,会不会产生冲突,相当于同时运行了两套同步软件。
恐咖兵糖
18
我并没有尝试过同时运行多个同步插件,不过网上说法大概会冲突。你也可以试一试。
不过看起来这也是不错的同步方案,我有时间可能会一试
zhcbbs
(zhcbbs)
19
是的,这个插件同步速度很快,几乎在1秒内,就能同步到其他设备上。
恐咖兵糖
20
你是用的 ibm Cloudant 还是 couchdb ?我今天试了下 couchdb ,和 remotely save 配合双重同步看起来可以工作。
我尝试使用调用 CouchDB 的 api 。写了两个可以存文字,存文件的函数。testgo/couchdb.py · 恐咖兵糖/Obsidian 云存储后端 API Go 版本 - Gitee.com
CouchDB python 版本的 api 参考资料是有一些的, go 版本就较少。但是并我不确定 CouchDB api 和 ibm cloudant 是不是通用的