Obsidian TOS 插件开发

最近打算把笔记还有博客的图床迁移到火山云上,之前写的 Obsidian COS 插件就没办法继续使用了,也不想再安装 PicGo 之类的东西。奈何没有合适的插件,只好在之前的插件基础上,更换到了 TOS 的 SDK 版本,并做了一些改动。 主要功能 粘贴图片直接自动上传到对象存储中,省去了在本地安装 PicGo 等软件的步骤; 删除图片时同步删除对象存储中的文件,避免废弃的图片遗留在云端,造成不必要的开销; 一键删除当前文档中的所有图片,避免删除文档时还要手动逐张删除; 插件预览 插件简介 插件配置 代码开源在 yv1ing/obsidian-tos-picbed,如需使用,直接下载 release 中的文件,移动到 .obsidian/plugins 目录下,并在 Obsidian 中启用即可。

2025.08.31 12:32:32 · 1 分钟 · yv1ing

当一回赛博奴隶主

挑选黑奴 不得不感叹 AI 技术的演进速度,在开发上,短短几个月就从之前的对话式编程演变到现在的 Solo 式开发,只需要输入需求,各种 Agents 架构就会自我协调,完成从需求分析到代码实现甚至功能测试的全流程任务。 这两个月各种各样的 AI IDE 层出不穷,但体验下来还是 claude code 对于项目的深度理解更符合我日常开发的需求。 套上铁链 Claude code 官方的订阅价格实在太贵,幸好月之暗面新发的 kimi k2 兼容了anthropic 的 api 格式,并且 token 计费也相当便宜。所以直接使用 kimi k2 作为黑奴的铁链。 配置方法如下: 注册月之暗面的开放平台账号后,从后台获取 API Key: https://platform.moonshot.cn/console 从我的 GitHub 下载配置文件: https://github.com/yv1ing/claude-slave 在 .claude/settings.json 中填入 API 信息: { "env": { "ANTHROPIC_BASE_URL": "https://xxxx", "ANTHROPIC_API_KEY": "sk-xxxxxxxxxx" } } 把 .claude 目录和 .claude.json 文件一起放到家目录下即可。 鞭策干活 按上述步骤配置好后,即可鞭策黑奴为自己编写代码: 注入灵魂 为了让黑奴干活干得更加好,可以在 .claude/CLAUDE.md 输入所需的配置,把黑奴打造得更加符合自己所需,例如: ## Response Language **除非有特殊说明,请用中文回答。** (Unless otherwise specified, please respond in Chinese.)

2025.08.27 01:34:22 · 1 分钟 · yv1ing

自建 Git 服务的坑

需求背景 最近在开发公司的项目时,因为不想使用公司的 SVN 服务进行版本管理,涉密的代码又无法放到 Github 等公开平台进行托管,正好手上有一台小主机,就想着在上面部署一个私有的 Git 服务,折腾了好一会,最终得到如下方案。 Gitea 安装 Gitea 是一个轻量级的 DevOps 平台软件,采用 Go 作为后端语言,非常轻量。安装也非常简单,直接使用 Docker 即可。 docker-compose.yaml version: "3" services: server: image: gitea/gitea:1.24 container_name: gitea environment: - USER_UID=1000 - USER_GID=1000 restart: always volumes: - ./data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "3000:3000" - "2222:22" 或者直接使用命令启动: docker run -itd -p 3000:3000 -p 2222:22 -e USER_UID=1000 -e USER_GID=1000 -v /app/gitea:/data --name gitea gitea/gitea:1.24 启动之后正常安装,设置管理员信息即可。 SSH 认证问题 我在内网搭建 gitea 时,即使配置了 ssh 公钥,但因为 gitea 容器的 ssh 端口被映射到了 2222 端口,所以在配置远程仓库时,无法直接使用默认端口,在 scp 地址中又无法直接指定端口为 2222,所以在尝试 push 时会一直提示输入密码。 ...

2025.08.27 11:55:12 · 1 分钟 · yv1ing

个人数据备份方案

最近把以前的照片都从阿里云盘迁移回本地了,一直在思考什么样的备份方式既能保证数据安全,而且能方便地随时查看照片,又尽可能不花钱。前段时间想用腾讯云的对象存储来做,但折腾了好几天,发现流量实在太贵了,开销比组 NAS 还离谱,果断放弃了。 数据类型 现阶段考虑的主要还是照片和视频的存档,毕竟越来越感觉到时光易逝了,有时候随手拍下的照片,在某个时间点里看到时依然能唤起过往的记忆。所以,对于这些照片和视频,除了常规的存储之外,我更希望能随时随地翻看,否则它们和磁盘里冷冰冰的数据没有任何区别。例如先前尝试的 mt-photos,但无奈对象存储的流量实在太贵,这类相册系统都要定时拉取数据,才能保证实时更新。 备份原则 数据备份通常遵循 3-2-1 原则,即: 至少存储 3 份数据; 至少存储在 2 种介质上; 至少有 1 份数据存储在异地; 具体实现 为了实现上述的 3-2-1 原则,又苦于囊中羞涩,经过一番整理,最终得到了以下方案:OneDrive + Google Photos + 本地存储。 OneDrive 首先,OneDrive 原生支持文件同步,在 Windows 上体验良好,日常基本无感,可以很好地将云端数据和本地存储打通。另外,OneDrive 在闲鱼上买一个家庭订阅的车位,一年也就 30 块钱左右,即可拥有 1 TB 的空间,对于照片备份来说绰绰有余了。 在手机上安装 OneDrive 的移动端之后,也可以很方便地将手机上的照片及时同步到云端。我最喜欢的是 OneDrive 提供了按照照片的拍摄日期来组织目录结构的功能,看起来非常清晰明了,得到的目录结构大致如下: D:. ├─2020 │ └─01 │ IMG_20200118_0142450207.mp4 ├─2021 │ ├─07 │ │ IMG_20210702_09181.jpg │ │ IMG_20210702_58998.jpg │ │ IMG_20210705_50505.jpg │ │ IMG_20210705_50517.jpg │ │ IMG_20210705_50527.jpg │ │ IMG_20210705_50544.jpg │ │ IMG_20210705_50556.jpg │ │ IMG_20210705_50570.jpg Google Photos 偶然间才知道,谷歌对于初代 Pixel 用户,有这样一项政策: ...

2025.05.01 09:58:40 · 1 分钟 · yv1ing

部署自托管相册服务

之前的照片全都存储在阿里云盘上,但是最近发现阿里云盘也开始限速了,所以打算把照片全部迁移到对象存储上,但这样照片的查看就很不方便,经过一番折腾,尝试了包括 immich 这些常见的自托管服务之后,最终开始选择了付费的 mt_photos,毕竟免费的质量也就那样吧,而且 mt_photos 3 块钱一个月也近似免费了。 挂载 COS 安装工具依赖 apt install fuse 下载 cosfs 并安装 wget https://github.com/tencentyun/cosfs/releases/download/v1.0.23/cosfs_1.0.23-ubuntu20.04_amd64.deb dpkg -i cosfs_1.0.23-ubuntu20.04_amd64.deb 配置 COS 密钥信息 echo "<bucket_name>:<access-key-id>:<access-key-secret>" > /etc/passwd-cosfs chmod 640 /etc/passwd-cosfs 挂载存储桶至指定目录 mkdir -p /mnt/cosfs # 存储桶挂载路径 mkdir -p /var/cache/cosfs # 存储桶缓存路径 cosfs <bucket_name> /mnt/cosfs -ourl=<cos-endpoint> -ouse_cache /var/cache/cosfs cosfs yvling-photos-1257337367 /mnt/cosfs -ourl=https://cos.ap-guangzhou.myqcloud.com -ouse_cache=/var/cache/cosfs -oensure_diskfree=1024 安装 Docker curl -fsSL https://get.docker.com | bash -s docker 安装 mt_photos 整个安装过程非常简单,比起 immich 显得更加简洁。 ...

2025.04.25 10:33:23 · 1 分钟 · yv1ing