Verne in GitHub

Mac 应用篇:Hammerspoon 自动化工具使用

这是一篇耽搁了很久,一直躺在我的 Obsidian 笔记中的一篇文章,一直就想好好介绍一下 Hammerspoon,但是因为过去虽然也在用 macOS,但是使用最多的还是 Ubuntu,Hammerspoon 只能在 macOS 上使用,就没有那么大的兴致再花时间学习它的使用。但最近更新了一下系统,发现 Hammerspoon 出了一点问题,没有了 Hammerspoon 之后我才发现很多不适应的地方,那就在花一点时间再梳理一下我的配置。 Hammerspoon 是什么? Hammerspoon 是一个 macOS 上开源的自动化工具,什么叫做自动化工 Read more ...


我的 Obsidian 笔记跨设备同步方案

自从半年前发现了 Obsidian 这款笔记软件,我就开始大量的使用该应用做笔记,有人说过:「工具是开发者方法论的固化」。这么多年了我一直有一种工具控的倾向,往往同一个需求会对比可能的所有方案,最后再决定一个,但是近些年来我越来越倾向于「简单就是好」,并且数据要由自己掌控的「工具选择逻辑」。 Do one thing and do it well 基于上面的选择逻辑,我的 Obsidian 跨平台同步工具,我选择了: Syncthing,作为文件同步工具 Markor,作为 Android 上的 Markdown 编辑器,我提交了一段模板 Read more ...


配置 Rime 在 Vim 下退出编辑模式时自动切换成英文输入法

半年以前在 Obisidian 的文章下面有人曾经问过我一个问题,如何在 Vim 或者其他使用 Vim 模式的编辑器,比如 IntelliJ,或者 Obisidian 开启 Vim 模式后方便地切换中英文输入法,因为在编辑模式和普通模式下,需要经常切换输入法,使得体验变得非常槽糕。 这个问题一直萦绕再我脑海里,直到今天再整理关于 Rime 相关的笔记的时候发现 macOS 下的 squirrel 支持了一个 vim_mode 选项,这使得我们可以在配置中定义在哪些应用中,当我们按下 Esc 的时候将 Rime 自动切换成英文状态。1 配置 在 Read more ...

2020-11-21 rime , macos , vim , vim-mode , input-method , ime , obsidian

使用 MusicBrainz 管理我的音乐库

自从 2014 年总结整理了当年所有流行的音乐网站 之后就一直使用网易云音乐到今天,然而这些年的发展过程中多多少少产生了一些变化,虾米没了,Google Play Music 也没有了。而如今网易云音乐也出现了各种各样的问题,虽然有些问题可以或多或少的被规避,但网易用起来就是没有那么舒服了。 我在原来的那篇文章中提到了互联网化,以及伴随着移动设备的发展,我个人偏好的几个产品特点: WEB 化 同步账号系统 跨平台 UGC 用户贡献 这几点虽然现在网易云音乐依然做的非常不错,并且能推出 Linux 版本这件事情就是值得称赞的。而所 Read more ...


Asus RT-AC86U 初始设置

前些天给家里买手机正好凑单了一个 Asus RT-AC86U,正好可以代替出了两次故障的小米 3G。 提前工作 登录管理后台(http://router.asus.com/Main_Login.asp)启用 SSH (系统管理 - 系统设置 - 服务 - 启用 SSH) 开启 JFFS 分区,系统管理 - 系统设置 - Persistent JFFS2 partition - Enable JFFS custom scripts and configs U 盘格式成 ext4 插到路由器 一个已经刷成 Merlin 固件 的路由器 Read more ...

2020-11-13 router , asus , 路由器 , linux , ssh , entware

扩展 Proxmox 系统分区以及 Proxmox 文件系统初识

昨天想要扩展一下之前安装的 Proxmox 容量,对系统进行了一次关机,然而关机之后就悲剧的发现在 U 盘中的系统启动不了了,将 U 盘拔下检测之后发现 U 盘可能挂了,一个全新的 U 盘,在连续 192 天运行之后挂掉了。无奈之下只能想办法先恢复一下 Proxmox 系统以及安装在系统之上的 OpenMediaVault 了。 恢复的过程倒也是很麻烦,只不过这一次想稳定一些,将系统还是安装在一块之前主力机上淘汰下的 SSD 上吧,所以用 Clonezilla 先备份 SSD 上的系统,然后将之前 U 盘上的 Proxmox 系统恢复到 SSD 上,做 Read more ...


『译』我最喜欢的命令行工具

偶然间看到一篇介绍 cli 的文章,感觉写得不错,正好借此机会也整理一下我之前使用过,以及觉得非常值得推荐的 CLI 工具。 下面就是译文全文。原文可以见 https://switowski.com/blog/favorite-cli-tools 下面是一个很长的列表,如果觉得不想完整的看完,这里提供一个简介。 fish shell 一个简单易用的 shell starship 一个不需要额外设置的终端提示 z 可以在文件系统中快速跳转 fzf 模糊搜索 fd find 命令的代替 ripgrep grep 的代替 h Read more ...

2020-10-30 cli , linux , mac , tools , terminal , zsh , shell , fd , fzf

使用 Clonezilla 将硬盘中系统恢复到虚拟机中

今年陆陆续续将工作的环境迁移到了 macOS,虽然已经把日常的资料迁移到了 macOS,但是之前的 Linux 上还有一些配置,以及可以的一些测试还需要用到 Linux 虚拟机,所以我就想能不能用 Clonezilla 将磁盘中的系统备份然后恢复到虚拟机里面。因为我发现 macOS 下的 Fusion 还是很强大的。 之前已经写过使用 Clonezilla 备份和恢复系统、使用 Clonezilla 克隆系统, Clonezilla 恢复系统时可能遇到的问题 ,这里关于备份的部分就不再赘述。 准备工作 开始之前需要先准备几个东西: 备份好的系 Read more ...


kindlepush_bot 机器人使用指南

这是一篇 Telegram kindlepush_bot 机器人绑定邮箱的教程。 推送邮箱绑定指南。 使用 163 邮箱作为推送邮箱 使用电脑登录 https://mail.163.com ,右上角「设置」,选择「POP3/SMTP/IMAP」设置。 在设置中,勾选 「POP3/SMTP 服务」,这个时候会弹出一个确认界面,点击确认,设置授权码。 开启「设置客户端授权码」,这个时候绑定的手机会收到一个短信。记住该授权码。 将完整的邮箱和授权码,作为发送者邮箱和发送者密码发送给机器人即可。 最后不要忘了到 Amazon 后台将自己的发 Read more ...

2020-10-29 telegram , kindle , bot

通用文档转换工具 Pandoc

如果要在不同格式的文档文件之间转换,pandoc 就是你的瑞士军刀。Pandoc 支持非常多的文档转换。从最简单的纯文本 markdown, AsciiDoc, reStructuredText 到 LaTeX,到 docx,甚至 jira wiki 的格式,也都可以相互转换。具体可以参考官网。 Read more ...

2020-10-25 pandoc , linux , markdown , document

最近文章

  • Nowledge Mem 使用半年体验:让所有 AI Agent 共享同一份记忆 今年 2 月份我把 [[Nowledge Mem]] 装到 MacBook 上,想解决的是一个很常见的问题:我希望在 [[Perplexity]] 网页上查过的资料,直接在 Claude Code 中可以记住。但没想到大半年过去,它已经变成了我每天都在用的软件,而且是那种「不在后台跑着就会觉得别扭」的存在。我在 Claude Code、[[Codex]]、[[OpenClaw]] 里开的每一个会话,开头都会先从它这里拿一份简报;网页上和 AI 聊过的东西会自动同步进去;我做过的决定、踩过的坑、服务器的配置,都沉淀成一条条可以被任何 Agent 检索的记忆。说它是我所有 Agent 的记忆和大脑,一点都不夸张。
  • Aside AI 浏览器介绍:既能自己干活,也能接入 Agent 前两天整理了一篇 AI 浏览器自动化方案怎么选,把 Playwright、MCP、Agent 专用浏览器、WebMCP 这些路线梳理了一遍。在那篇文章里我提到,「内置 Agent 的 AI 浏览器」这一类里我最看好的是 Aside,原因是它的密码管理器设计得很用心,但篇幅有限没有展开。今天就单独写一篇,聊聊这个浏览器到底能做什么、和 [[Comet]]、[[Dia Browser]] 有什么不一样,以及我现在是怎么用它的。如果你看完想试试,可以用我的邀请链接 https://aside.com/r/UpYKnv9ziq 注册,注册后会额外获得 100 Credits。
  • AI 浏览器自动化方案怎么选:从 Playwright、MCP 到 Agent 浏览器和 WebMCP 的全景梳理 最近我一直在研究「让 AI 用浏览器」这件事。起因是看到 Nowledge 写了一个 browse-now Skill,可以直接让 Claude 控制浏览器,紧接着又偶然发现了 [[Ego Lite]] 这款专门为 Agent 设计的浏览器。顺着这条线,我把 Aside、BrowserOS、Deta Surf 这几款 AI 浏览器挨个调研了一遍,越看越发现它们的侧重点和实现方式差别很大:有人在做测试框架,有人在做浏览器插件,有人从 Chromium 内核开始为 Agent 改造浏览器,还有人在推动新的 Web 标准。它们看起来都在「让 AI 操作网页」,解决的却根本不是同一个问题。
  • 入手 GL.iNet Comet Pro(RM10):支持 Wi-Fi 6 的远程 IP KVM 家里的 [[Homelab]] 一直是一台 4 盘位的小主机跑 [[Proxmox VE]],上面跑着 Ubuntu 虚拟机、一堆 Docker 服务和下载机。平时远程管理全靠 SSH 加 [[Tailscale]],只要系统还活着基本没什么问题。真正让我不放心的是系统起不来的时候:升级内核后卡在启动界面、改网卡配置时手滑导致网络没起来、BIOS 被重置后不再从正确的硬盘启动,这时候 SSH 连不上,Tailscale 也不会在线,人不在家就只能干等。最近正好赶上一波促销,我入手了 [[GL.iNet]] 的 Comet Pro(型号 GL-RM10)远程 [[IP KVM]],叠加各种限时优惠之后实际支付 590.76 元,算是把 Homelab 远程管理的最后一块短板补上了。
  • 用 PowerContext 给多个 Coding Agent 做任务交接 现在我写代码基本是 [[Codex]] 和 [[Claude Code]] 轮着用。有时候是 Codex 的额度先用完了,有时候是某一步我觉得 Claude Code 更合适,于是一个任务经常要在两个 Agent 之间换手。真正麻烦的不是换工具本身,而是换手的那一刻:新会话对前面发生的事一无所知。之前选了哪个库、哪个旧接口不能动、改了哪些文件、测试跑没跑过,这些信息全都留在上一段对话里。我只能手动复述一遍,或者把一大段聊天记录贴回去,前者容易漏掉关键约束,后者浪费 Token,还会让模型在几千行历史里抓不住重点。说到底,我缺的不是一个更大的上下文窗口,而是一份能在 Agent 之间传递、而且接手方可以核对的「当前状态」。在写这篇文章的时候还出现了另外一个思路就是利用 [[magpie]] 将模型路由给充足额度的账号,这个之后再写文章说。