macOS 上利用 Hammerspoon 自动切换输入法

很久之前我介绍过一款 macOS 上的自动化应用 Hammerspoon,在那篇文章中我就已经简要的介绍过如何利用 Hammerspoon 实现超级强大的窗口管理,实现切换 WiFi 自动提醒,也简单的介绍过如何自动切换输入法,但是没有展开,今天正好趁着我重写 Hammerspoon 的配置文件,再展开介绍一下如何利用 Hammerspoon 自动切换 Rime 输入法。 查找 RIME 输入法的 Source ID 在编写切换脚本前,首先需要获取 RIME 输入法的源 ID。可以通过以下方法获取,在 Hammerspoon 的控制台中运行: hs Read more ...


OBS 配置多路推流 实现多平台同时直播

[[Open Broadcaster Software(OBS)]] 是一个非常强大的开源的,直播推流工具。但是默认情况下 OBS 只能配置推送一个直播流。但是现在支持直播的平台越来越多,如果直接将直播流推送给多个平台,那么可以通过本文介绍的方法,借助多平台推流插件来实现。 OBS 与 Multi-RTMP 插件 Open Broadcaster Software (OBS) 是一个广泛使用的开源软件,用于视频录制和直播推流。然而,默认的 OBS 设置仅支持推送单一直播流到一个平台。 Multi-RTMP 插件 Multi-RTMP 是一个第三方 Read more ...


将 Obsidian 配置成私人 AI 知识库

前两天介绍过腾讯推出的个人知识库工具 IMA.Copilot,但是熟悉我的人肯定知道我这几年了一直都是在使用 Obsidian 作为我个人的知识库的,在本地完全使用 Markdown 作为文档的存储格式,不依赖任何的外部工具,以及联网工具,只使用 Syncthing 作为同步。 为什么我不使用 IMA 作为主力知识库 看过我之前文章的人应该知道我个人的选择软件工具的一个原则 跨平台 开源优先 本地优先 在了解到 Stallman 对[[自由软件]]的定义之后,更进一步加强了我对于开源软件的选择,而在重度理解 Self-Hosted Read more ...


腾讯推出个人知识库产品 ima.copilot

前两天看到腾讯推出一个个人知识库产品 ima,融合了 DeepSeek,可以直接搜索知识库中的内容,还可以上传文档回答,所以今天就来体验一下这个新产品 ima。 ima 是什么 ima 官方给出的定位是「会思考的知识库」,首先它是一个知识库,并且看官方还是一个跨平台,多端支持的知识库,包括了 macOS,Windows,iOS,Android,以及小程序。会思考则是体现在它接入了 AI,腾讯自己的混元大语言模型,和 DeepSeek R1 模型。 YouTube Bilibili 功能 Read more ...

2025-02-20 ima , copilot , tencent , obsidian

asdf 升级 0.16.0 问题记录

很早之前我就已经开始使用 asdf 作为我本地的编程语言多版本管理工具,这个工具非常实用,但是最近 asdf 升级到了 0.16.0 版本,这是一个不兼容的版本,作者将整个项目中 asdf 从 Bash 脚本重写为 Go 语言,这带来了一系列的问题,这里记录一下我在升级过程中遇到的问题以及解决方案。 这个版本带来了许多重要变化,本文将重点详细介绍 asdf 0.16.0 的主要变更,以及升级过程中可能遇到的问题和解决方案。 asdf 0.16.0 的主要变化 Go 语言重写 asdf 0.16.0 最显著的变化是将整个项目从 Bash 脚本重写为 Read more ...

2025-02-11 asdf , ruby , python , golang , nodejs , pyenv , rbenv

使用 uv 作为 Python 包和项目管理工具

之前在使用一个 FastAPI 的模板项目的时候,很偶然获知了 uv 这样一个 Python 的包管理工具,简单的查询了一下之后发现这一工具是使用 Rust 编写,已经慢慢获得了社区的认可,被越来越多人推荐了,所以今天我也好好地学习一下 uv。 uv 是什么 uv 是 astral-sh 社区利用 Rust 编写的 Python 包和项目管理工具,可以作为  pip、pip-tools、pipx、poetry、pyenv、virtualenv  等工具的代替。在没有 uv 之前,你可能需要使用 pyenv 来管理 Python 的不同版本,使用 ve Read more ...


2025 苹果开发者帐号注册记录

最近开发了一款 Aki 日语词典想要上架 iOS,但是发现 Apple 开发者帐号注册却是比较麻烦,主要是我平时使用的 Apple ID 不在国区,手机一直使用的是美区帐号,还有一个日区的帐号用来下载日区的应用,所以导致 Apple ID 和绑定的手机号都非常混乱,我本来想注册美区的帐号,因为本来就是手机登录的帐号,但是过不去认证,所以想要去注册国区的帐号,可是我的 macOS 和手机没有一个有国区帐号的登录,利用网页版本注册的时候也发生了不明错误(We are unable to process your request. An unknown err Read more ...


利用 Fastlane 自动化 Flutter 项目构建及发布

Fastlane 是一个强大的自动化工具,可以帮助 Flutter 开发者简化应用程序的构建、测试和发布流程。本文将详细介绍如何在 Flutter 项目中配置和使用 Fastlane 进行自动化部署。 Fastlane 简介 Fastlane 是一套 Ruby 编写的开源自动化 iOS 和 Android 应用测试,构建和发布的方案,可以处理比如生成截图,代码签名,打包应用等繁琐的步骤,大大提高开发效率。 文档 安装 Fastlane 安装 Fastlane brew install fastlane 或者直接使用 RubyGem Read more ...

2025-02-05 fastlane , flutter , ipa , apk , ios , android , build-system

Flutter 项目中如何优雅地升级版本号

在 Flutter 项目开发中,版本号管理是一个重要但常常被忽视的环节。合理的版本号管理不仅有助于跟踪应用的开发进度,还能为用户提供清晰的更新信息。本文将介绍几种在 Flutter 项目中优雅升级版本号的方法。 理解 Flutter 的版本号格式 Flutter 项目中的版本号通常遵循语义化版本控制(Semantic Versioning)规范,格式为 X.Y.Z+B,其中: X 表示主版本号 Y 表示次版本号 Z 表示修订号 B 表示构建号 例如,版本号 1.2.3+4 表示主版本号为 1,次版本号为 2,修订号为 3,构建 Read more ...


国产大语言模型 DeepSeek 初识

之前的文章和视频里面介绍了很多国外公司发布的 AI 模型,从 OpenAI 发布的 GPT-3, GPT-3.5 Turbo,GPT-4 Turbo,GPT-o1,o1-mini,4o 等,到 Anthropic 发布的 Claude 3 Opus, Claude 3.5 Sonnet ,Claude 3.5 Haiku,再到 Google 发布的 Gemini 1.5 Pro,Gemini 2.0 Flash 等,以及在这些模型基础上开发出来的很多产品应用,ChatGPT,Claude,Gemini 等。但是最近有有一家国内创业公司接连发布了 Deep Read more ...

2025-01-25 ai , deepseek , openai , gemini , meta , llm , ai-chat

最近文章

  • 简洁高效的开源网络终端 Next Terminal 我个人一直都是使用本地的 SSH Config 来管理我的 SSH 连接,虽然这个方案有自身的优点,就是安全,易配置,我所有的连接都只允许使用 SSH Key 访问,关闭了用户名密码,另外所有的配置都通过 assh 一键配置,我给所有的节点都配置了昵称,所以我只需要输入 ssh alias 就可以连接到任何我想连接的机器。
  • ChatWise 本地多模型支持的 AI 客户端 在我之前的视频里面当时介绍了三款不同的本地 AI 客户端,[[Cherry Studio]],[[Chatbox]],ChatWise,每个客户端都有自身的优缺点,前两款也还是开源的,但是今天要介绍的 ChatWise 是一款更轻量的,更强大的 AI 客户端,包括一些个人觉得非常好用的功能,比如本地联网搜索,MCP 支持,Artifacts 等等使用起来都非常方便。
  • Alist 风波以及在 K3s 中部署 OpenList 在我的待办事项和视频评论下方很多人提到过 Alist,虽然我自己也有搭建一个 Alist,但实际上并没没有真正使用起来,所以待办事项中的「编写一篇文章介绍一下 Alist」 也就一直延误了,我个人似乎并没有太多 Alist 使用的强需求,虽然 Alist 可以用来挂在很多的网盘,但是如果看过我之前的文章,我现在越来越多的避免将大量的数据存储到云端,也不再大量的使用网盘,所以很多人用 Alist 来挂在网盘并接入 VidHub,Plex,Emby 等来观看高清视频的需求其实我本地一台 Ubuntu(NAS) USB 挂在一块大硬盘,局域网 SMB 共享给 Apple TV 就已经解决我了 99% 的使用场景。
  • 利用 SpecStory 记录每一次和 AI 的对话 今天想给大家介绍一款特别有意思的插件叫做 SpecStory,我们现在会在 VS Code, Cursor 编辑器中使用各种类型的代码辅助工具,也会利用 Cursor 等集成的 IDE 来 vibe coding,但是如果我们每一次都重头开始描述我们想要做的事情,或者每一次都新开一个聊天窗口,AI 大模型大概率会前后表现不一致,虽然我们也可以利用 Cursor Rules 等工具来给 AI 提供一些系统级别的提示词,但是 AI 在回复的过程中也可能跑偏。
  • 让 AI 来编写 Git 提交变更信息 很早之前就看到了 GitHub Copilot 可以在 VS Code 中提交 Git 时自动编写提交 Message,但是实际上我一直没有用起来。正好现在对 Git Message 做一个完整的学习,顺便也了解一下当前的 AI Commits 方案。

赞助