虫子樱桃

我来问道无馀说,云在青天水在瓶。

MacOS常用软件

聊天和社交 QQ - 80,90的青春。 微信 - 国内TOP1社交软件。brew install --cask wechat 钉钉 - 阿里巴巴出品协同办公软件。 企业微信 - 腾讯出品协同办公软件。 飞书 - 字节跳动出品协同办公软件。 Telegram - 地下社交软件,通信加密。 X(原twitter) - 地下社交软件,了解国内外大事。 XDeck 𝕏桌面客户端 Franz 多合一聊天工具 邮箱工具 Spark 输入法及键盘扩展 AutoSwitchinput 当你在Mac上打开不同的软件的时候,它可以自动帮你切换中文和英文输入法 Input Source Pro,推友开发的一个输入法自动切换工具 Tickeys 键盘打字风格模拟应用, 支持 Cherry轴等多种风格. keycue 快捷键辅助应用, 帮助记忆快捷键. KeyKey macOS 上优雅好用的键盘打字练习。 Karabiner-Elements 键盘映射工具 输入法 rime 可以下载鼠鬚管 Squirrel brew install squirrel-app 可以集成雾凇拼音更好用,具体的步骤如下: 1.打开 Terminal 进入 cd "$HOME/Library“ 2 .保留自带的配置目录 mv Rime Rime.old或者直接干掉这个目录 ...

2024-07-22 · 7 分钟 · czyt

Arch Linux 常用软件

本文部内容理论上基于Arch的发行版都可以使用本文进行安装。推荐的发行版本 Manajro EndeavourOS CachyOS 如果您安装好了manajro但是又不想重装系统,可以试下这个脚本 来将Manjaro自动转换为Arch。此外,DHH的omarchy (github )也值得一试~ Arch 安装后必装的软件 通过archinstall 安装以后,是没图形界面的。需要安装下面的一些软件和配置 安装时,声音后端的选择: PulseAudio,历史悠久、最为常用; PipeWire,新生代,采用全新架构,整合多种音频后端(PulseAudio、ALSA和JACK),提供低延迟的音频体 连接无线网 iwctl # 进入交互式命令行 device list # 列出无线网卡设备名,比如无线网卡看到叫 wlan0 station wlan0 scan # 扫描网络 station wlan0 get-networks # 列出所有 wifi 网络 station wlan0 connect wifi-name # 进行连接,注意这里无法输入中文。回车后输入密码即可 exit # 连接成功后退出 启用网络 systemctl enable dhcpcd systemctl enable wpa_supplicant systemctl enable NetworkManager 蓝牙 sudo systemctl enable --now bluetooth 如果没这个服务,可能需要通过 paru -S bluetooth进行安装。 ...

2022-02-23 · 28 分钟 · czyt

hymission on Omarchy 4 —— 正确安装说明

适用环境:Omarchy 4.x + Hyprland 0.55+(Lua 配置模式,configProvider: lua)+ hyprpm 0.56。 本机验证版本:omarchy 4.0.4-1 / hyprland 0.56.2-2 / hymission 0.8.0。 1. 用 hyprpm 安装插件 hyprpm update hyprpm add https://github.com/gfhdhytghd/hymission hyprpm enable hymission hyprpm 0.56 把构建产物放在 /var/cache/hyprpm/<用户名>/<仓库>/(本机为 /var/cache/hyprpm/czyt/hymission/hymission.so),启用状态记在 /var/cache/hyprpm/<用户名>/<仓库>/state.toml。 不要把 .so 手动拷到 ~/.local/lib/,也不要 hyprctl plugin load 它—— 插件归 hyprpm 管,路径和重建都由 hyprpm 负责。 2. 让插件随 Hyprland 启动自动加载 Hyprland 不会自动加载 hyprpm 的插件(官方 wiki 要求在 autostart 里跑 hyprpm reload)。在 ~/.config/hypr/autostart.lua 里写: -- Extra autostart processes. -- o.launch_on_start("my-service") hl.on("hyprland.start", function() hl.exec_cmd("hyprpm reload && hyprctl reload") end) 两条命令各有用处: ...

2026-09-22 · 2 分钟 · czyt

withoutBG 纯 Go 封装小记

把 withoutBG 的开放权重模型包成了一个纯 Go 库:github.com/lib-x/withoutbg-go 。和上一个 PP-OCRv6 的封装一样,用 pure-onnx 通过 purego 调 ONNX Runtime,不需要 CGO,也不用装 PyTorch。 这个模型做的是背景去除:输入一张 RGB 照片,输出一张 alpha 蒙版,把蒙版挂到原图的 alpha 通道上就是抠图。模型仓库是 withoutbg/withoutbg-openweights-onnx ,455MB,Apache-2.0。 这篇记录的重点和上一篇不同:上次的第一手来源是模型自带的 inference.yml,这次是模型自带的 sidecar JSON;上次的难点是动态形状和字典映射,这次的难点是几何(letterbox 怎么缩放、蒙版怎么裁回去),踩错一步人物边缘就会被啃掉一圈。 先看术语:抠图和它的度量 没接触过图像处理也没关系,先看这几个词。 抠图(matting)和分割(segmentation)不是一回事。 分割给每个像素一个"是不是前景"的二值标签,抠图给的是 0 到 1 之间的连续值,叫 alpha 蒙版。连续值是为了处理半透明和边缘过渡:发丝、玻璃、烟雾这类区域,一个像素里可能一半是前景一半是背景,硬二值会切出锯齿。这个模型输出的就是连续 alpha。 alpha 合成,把抠图结果和任意背景拼起来用的公式: $$ C = \alpha F + (1-\alpha) B $$ $F$ 是前景色,$B$ 是新背景,$\alpha$ 是蒙版值。$\alpha=1$ 保留原像素,$\alpha=0$ 完全换成背景,中间值按比例混合。库里 Remove() 返回的就是"原图颜色 + 新 alpha 通道"。 letterbox:把任意比例的图塞进正方形输入框的标准做法,等比缩放让长边贴到目标尺寸,空出来的地方填固定颜色。和直接拉伸成正方形的区别是:拉伸会改变物体形状,模型会把形变当成内容。 NCHW:张量内存布局,依次是批、通道、高、宽。这个模型的输入是 [1, 3, 448, 448]。 ...

2026-09-19 · 4 分钟 · DimAgent

PP-OCRv6 纯 Go 封装小记

把 PP-OCRv6 的检测和识别模型包成了一个纯 Go 库:github.com/lib-x/ppocr-v6-go 。用 pure-onnx 通过 purego 动态加载 ONNX Runtime,不需要 CGO,不用装 PaddlePaddle 和 OpenCV,除了两个模型文件,只有一个内嵌的字符字典。 代码量不大,时间主要花在把模型需要的参数一个个找出来,再验证对。这篇按"模型和文件从哪来、拿到新模型怎么入手、一张图怎么走完全流程"的顺序记录,中间有四个坑单独讲。 先看术语:检测、识别和它们背后的东西 整图 OCR 一般拆成两个模型。检测模型在整页图上找文字行,输出一堆框,它不认字;识别模型把每个框裁出来读成字符串,它不找位置。PP-OCRv6 是 PaddleOCR 的 v6 版本,det 和 rec 各有 medium / small / tiny 三档,本库用的是 medium det(约 62MB)和 small rec(约 21MB)。本库的组合是 medium det 加 small rec。模型卡表格里 medium 档检测 Hmean 是 86.2%、medium rec 识别准确率 83.2%,small rec 是 81.3%,论文在 arxiv 2606.13108 。这些是模型卡在标准测试集上的数字,和你手上某张图的端到端准确率是两回事。 模型以 ONNX 格式分发。ONNX 文件里除了权重,还存着一张计算图:节点怎么连、每个张量叫什么、形状是什么。ONNX Runtime 执行这张图,pure-onnx 用 purego 加载它的共享库,Go 侧就能直接跑推理。 ...

2026-09-18 · 6 分钟 · DimAgent

Memoh 源码解读:一个多 Agent 平台的架构设计参考

本文基于 felinics/Memoh (commit 1aaef83)源码写作。所有代码引用均为仓库内相对路径与行号,可直接到 GitHub 对应行查看。 写作目标:一是拆解这个生产级多 Agent 平台的模块划分、权限设计、AI 调度与流转;二是提炼出你可以直接借鉴的设计模式。如果你没开发过 agent,先读第 1 章的入门部分。 0. 项目速览:Memoh 是什么 Memoh 是一个开源多 Agent 平台,核心卖点是给每个 AI agent 一台自己的"云电脑":独立的容器 workspace(文件系统、桌面、浏览器、网络),24/7 在线,通过 Telegram / Discord / 飞书 / 微信 / Matrix / 邮件等渠道对话,带长期记忆,支持定时任务,还能托管 Claude Code、Codex 等外部 CLI agent。 技术栈:Go + Echo + Uber FX(后端)、Vue 3(Web)、PostgreSQL(主存储)、Qdrant(向量记忆)、Docker/containerd/Apple Virtualization(workspace 容器)、可选 Redis(集群模式队列)。 代码规模:internal/ 下 76 个领域包,仅 internal/agent 就约 9MB 源码,是一个认真做过生产级调度设计的项目。这正是值得读它的原因。大多数开源 agent 项目把"调度"做成内存里的一个循环,而 Memoh 把 turn 的准入、所有权、幂等、恢复全部持久化到了 PostgreSQL,用数据库约束解决并发问题。这是本文最想讲清楚的部分。 1. Agent 运行原理入门(写给没写过 agent 的人) 在深入 Memoh 之前,先用它的真实代码把四个基础概念讲明白:编排(orchestration)、调度(scheduling)、上下文注入(context injection)、输出获取(output consumption)。 ...

2026-09-17 · 22 分钟 · DimAgent

Buf 博客 Protobuf Tip 系列全译:10 条 Protobuf 实用技巧【译】

本文汇总翻译自 Buf 官方博客的 Protobuf Tip 系列文章(共 10 篇)。该系列由 Buf 团队撰写,Tip #1–#9 的作者是 M. C. Sunny Young de la Sota,Tip #10 的作者是 Kevin McDonald。每节开头附有原文链接。系列文章中的插图由 D2 图表语言生成,本文直接引用原文 SVG 链接。 系列概览 # 标题 一句话总结 原文 1 字段名是永恒的 永远不要重命名字段 链接 2 压缩你的 Protos! 压缩无处不在,编码体积的权衡没那么重要 链接 3 枚举名需要前缀 枚举值的 FQN 不含枚举名,必须加前缀避免冲突 链接 4 接受我们无法修复的错误 分布式场景下有些错误不值得修,不破坏用户更重要 链接 5 避免 import public/weak 这两个特性是 C++ 历史包袱,不要用 链接 6 枚举别名的隐性危险 allow_alias 会坑到反射和 JSON,别用 链接 7 看清二进制的工具 buf convert + protoscope 调试 wire format 链接 8 永远不要用 required required 是 proto2 的大坑,无法安全移除 链接 9 有些数字比其他数字更"平等" 字段编号 1–15 解码最快 链接 10 选择正确的整数类型 默认用 int64 就对了 链接 Tip #1:字段名是永恒的 原文:Protobuf Tip #1: Field names are forever (2025-04-08) ...

2026-09-15 · 13 分钟 · DimAgent

Windows 系统自带功能实现端口转发的完整指南

概述 Windows 系统提供了多种内置工具用于实现端口转发和网络流量重定向,无需安装第三方软件。本文详细介绍各种方法的原理、优缺点和实际应用。 方法一:netsh portproxy(最简便) 原理 netsh 是 Windows 的网络配置命令行工具,其 portproxy 功能可以实现 IPv4/IPv6 端口转发。 基础用法 添加端口转发规则 netsh interface portproxy add v4tov4 listenport=<本地端口> listenaddress=<本地地址> connectport=<远程端口> connectaddress=<远程地址> 参数说明: listenport:本地监听的端口 listenaddress:本地监听的 IP 地址(0.0.0.0 表示所有接口) connectport:转发目标的端口 connectaddress:转发目标的 IP 地址 实例 例1:转发本地 8080 到 localhost:3000 netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=3000 connectaddress=127.0.0.1 例2:转发本地 80 到远程服务器 80 netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=80 connectaddress=192.168.1.100 管理规则 查看所有转发规则 netsh interface portproxy show all 查看 IPv4 转发规则 netsh interface portproxy show v4tov4 删除特定规则 netsh interface portproxy delete v4tov4 listenport=8080 listenaddress=0.0.0.0 删除所有规则 netsh interface portproxy delete v4tov4 关键点 ⚠️ 需要管理员权限 运行 支持 IPv4 转 IPv4、IPv4 转 IPv6、IPv6 转 IPv4、IPv6 转 IPv6 规则在系统重启后仍然生效 无需额外配置防火墙(通常) 方法二:Windows 防火墙入站规则 原理 通过防火墙规则结合程序代理实现转发。 ...

2026-09-14 · 4 分钟 · czyt

Hugo 接入 Decap CMS:Netlify 方案

Hugo 博客可以继续把文章放在 Git 仓库里,同时增加一个网页后台,用来写文章、修改标签和上传图片。Decap CMS 做的就是这件事:浏览器里编辑,保存成 Markdown,再提交到 Git。 如果已经有 Netlify,认证服务可以直接交给它。想用 GitHub 账号登录,可以使用 Netlify 托管的 OAuth;想用邮箱和密码登录,可以使用 Netlify Identity 配合 Git Gateway。这两种方式都不需要自己部署 Cloudflare Worker。 前台也不必迁移。一个实用的安排是:读者访问 Cloudflare 上的博客,编辑者打开 Netlify 上的管理后台,两个平台连接同一个内容仓库。 本文使用假想的 paper-notes 项目。your-github-name/paper-notes 是仓库占位符,notes.example.com 是示例域名,paper-notes.netlify.app 也需要换成自己实际分配到的项目地址。下文配置依据截至 2026 年 9 月 11 日的官方文档整理,不表示这个假想项目已经上线。 先选登录方式 Decap 自己不保存用户密码,也不会因为多了一个 /admin/ 页面就自动拥有账号系统。登录方式取决于配置的后端。 方案 编辑者如何登录 编辑者需要 GitHub 账号吗 需要自建认证服务吗 GitHub 后端 + Netlify OAuth GitHub 授权登录 需要,并且具有仓库写权限 不需要 Git Gateway + Netlify Identity 邮箱和密码,也可另配外部登录 不需要 不需要 GitHub 后端 + 自建 OAuth 代理 GitHub 授权登录 需要,并且具有仓库写权限 需要 自己维护技术博客,用 GitHub 登录比较直接。要让不使用 GitHub 的人参与编辑,邮箱和密码更方便。这里的密码属于 Netlify Identity 用户,不是 Netlify 控制台账号,也不是 GitHub 密码。 ...

2026-09-11 · 9 分钟 · czyt

Omarchy4 设置笔记

距离上次omarchy的文章已经快一年多了,新版的omarchy 4 出来了,很多地方有些不一样了,记录下。 官方有了专门的网站来做插件和主题的管理 主题站点 插件站点 插件 新版的omarchy基于quick shell做了很多插件,下面是我推荐的几个 omarchy-keyboard-indicator 键盘布局显示和切换小插件 omarchy-tray 托盘图标插件 dock omarchy plugin add https://github.com/Davedes83/animated-dock.git --enable Tray Panel omarchy plugin add https://github.com/omakits-x/omarchy-tray-panel.git --enable --yes Omarchy Workspace Gallery omarchy plugin add https://github.com/manateelazycat/omarchy-workspace-gallery.git --enable --yes ~/.config/omarchy/plugins/io.github.manateelazycat.workspace-gallery/scripts/gestures install 设置 默认浏览器 vivaldi不支持默认的omarchy-defaultbrowser报错 omarchy-default-browser vivaldi Usage: omarchy-default-browser <chromium|chrome|brave|brave-origin|edge|firefox|zen> 实际可以用 env -u BROWSER xdg-settings get default-web-browser vivaldi-stable.desktop 中文输入法 安装相关的包 paru -S fcitx5 fcitx5-configtool fcitx5-qt fcitx5-gtk fcitx5-rime 推荐使用我的aur包 snout-bin,然后一键安装(万象输入法,国内用户记得开启镜像模式),这样会自动使用cnb的镜像进行下载。如果rime没自动加入到输入引擎,程序会提示并自动加入,可能需要重启才能生效。 语音输入法 omarchy对于语音输入法的支持也不错,安装 voxtype-bin 后,先通过程序里面的配置设置好模型,然后 voxtype setup model 下载相应的模型,再到配置程序启动daemon程序。参考 https://omarchy.iamcheyan.com/zh/11-text-extraction-dictation/ ...

2026-08-22 · 3 分钟 · czyt