Hi there 👋

Welcome to my blog, my name is Ray. I am a software developer and this is my personal blog where I share my thoughts, experiences, and projects. Feel free to explore and connect with me!

小黑配图 Skill 这东西有点意思

今天写 mitmproxy 那篇的时候,顺手试了一下一个很有意思的 skill,分享一下: helloianneo/ian-xiaohei-illustrations,好多天前关注的,忘了是在哪看到的,发现最近热度蛮高。 截止写本文,作者在群里分享,它在这周 GitHub 新仓库搜索结果里排第二。 这个仓库名字很直白,就是 Ian(作者) 风格的小黑怪诞正文配图生成 Skill。 本质上它不是一个很复杂的项目。甚至可以说,它简单到让我有点恍然大悟:哦,我之前每次都开着语音和叫 image2 生图其实可以做的优雅一些。 而是把一套稳定的审美、角色设定、构图禁忌、prompt 模板和 QA 规则,塞进一个 SKILL.md 里,然后让 Codex 在需要配图的时候按这个流程走。 可以。 在 mitmproxy 文章里试了一下 最近那篇文章是这个: mitmproxy 实战以及抓包Claude Code | 安落滢 Blog - 技术分享与生活记录 里面有一段是在讲证书信任和中间人代理。这个概念如果只用文字写,其实也能讲清楚,但正文读起来会有点干。 于是我就让这个 skill 给 mitmproxy 生成了配图。 一半是「浏览器信任 mitmproxy 之后,中间站可以看见 HTTPS 流量」: 另一半是「没有证书不让拆,有证书才能拆开看再封回去」: 效果其实还挺好。 画面不是 PPT 那种规规矩矩的流程图。它能把这种偏抽象的链路,变成一个比较容易记住的画面。 这对博客很有用。 但我想继续改 目前这个 skill 最大的特点是「小黑」。 小黑蛮简单的,黑色实心,白点眼,细腿,没什么表情,认真做一些很荒诞但成立的事。这个设定很合适,也很容易让模型稳定复现。 但是我后面应该不会一直用小黑。 倒不是它不好,而是我还是想慢慢做一点更有我自己味道的角色。博客写久了之后,配图其实也会变成一种个人标识。现在用小黑是借别人的视觉语言,后面如果能变成自己的角色,那就更像我的博客了。 可能不是很复杂的 IP。 也许只是一个更固定的主角、几个常见表情、一套动作库、一点颜色习惯。 另一个问题是一句话能力 现在这个 skill 已经能工作,但我觉得还没有到「我一句话,它就能把完成的图片做出来」的程度。 我想让他 和之前 卡兹克的 writer skills 结合一下,先让 agent 读我的文章,然后根据我留下的指示和上下文,生成配图。 ...

May 30, 2026 · 1 min · 120 words · Ray

mitmproxy 实战以及抓包Claude Code

这个工具是 boss 推荐的,尽管他想到的使用场景是大炮打蚊子(指 在 windows wsl 安装 mitmproxy 来抓宿主机 web 页面的 restful 接口,而实际 console 的 network 足矣)但是也不去纠正了,我来试试这个工具的真实能力。 GitHub - mitmproxy/mitmproxy: An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers. · GitHub 看到这个的时候心中暗喜,我以为开箱即用,配个证书就行。 1 brew install mitmproxy 我刚开始以为他只有 cli 工具,没想到还有 web,那真的很方便了。 结果装完就遇到 Apple could not verify mitmproxy is free of malware that may harm your Mac or compromise your privacy. 啊?第一次在 homebrew 装完的东西碰到这个问题。我一时怀疑装错了。 问了下 G 老师,说 app 身上还带着 quarantine 标记,首次运行的时候拦我一下 xattr -dr com.apple.quarantine /opt/homebrew/Caskroom/mitmproxy/*/mitmproxy.app ...

May 30, 2026 · 2 min · 246 words · Ray

从 0 开发一个 agent(1)

agent 发展到现在,已经有很多成熟的方案了,但是为了更高的设计一致性和项目掌握度,需要从 0-1 设计一套。期间会借鉴参考很多开源项目。项目全程遵循 KISS 原则。 概念和技术栈选择 查了一下 agent 的概念其实比较久远,很早以前的经典理论我们不提,本文只针对目前的 生成式 AI 所代表的 agent。 对于 agent 的执行机制,你可能听说过 ReAct (reasoning and acting)ReAct 来自 2022 年论文《ReAct: Synergizing Reasoning and Acting in Language Models》1,概念如下 可以说这是 agent 最基本和常见的执行框架,属于评估优化式的架构,也就是通过迭代反馈不断改进输出来逼近目标。 而在两年前还有一些 workflow 产品比如扣子、dify 等,也常被误称为 agent/智能体。但其实他们还是链式处理任务的工作流为主。 我定义智能体的一个核心边界就是他能自己决定使用什么工具以及怎么使用。 截止到开始本项目之前,市面上已经有了很多类似产品,各有特色,但是最底层的原理还是一样的。现在需要在一些业务场景用到或者开发一个平台来提供 agent 服务,所以需要从自构建开始保证设计的一致性和对系统的了解性。 在技术栈的选择上,选择全力投入 python,如果熟悉 python 语法,借助 python 的生态。开发agent 的 MVP 将降低很多心智负担,但是显而易见的缺点是对底层控制降低(比如一些隐形的 runtime error 和性能消耗),但是个人判断,结合我的技术栈掌握和现处公司项目的情况,我决定第一个发行版本将全量使用 python 构建,后续选择使用 Rust 语言作为 热点模块 的替换直至开发团队掌握 rust 技术栈后进行全量重构。(如果这个项目胎死腹中也无需谈什么未来。) 架构设计 基于 ReAct 架构设计的基础思路 还是比较容易的,这里参考王二老师的文章,列一些功能和设计思路。2 ...

May 28, 2026 · 3 min · 524 words · Ray

豆包输入法你能不能只负责语音

最近豆包输入法的语音输入很火。 我是在开放后下载下来用了一下,确实很好用,对比之前用的 type less 对我而言有点修饰过头,微信输入法整体效果还行但是略逊于豆包。我设置的快捷键是 Command + Option ,按住说话,松开就上屏,体验很顺。 但是我现在主力打字输入法还是微信输入法。 原因也很简单,它有多端剪切板同步。 虽然这个同步率我感觉也就 90% 左右吧,不是每次都稳,但是有总比没有强。用久了之后就有点回不去了。手机上复制点什么,电脑这边能接着用,虽然偶尔抽风,但是整体还是方便的。 所以问题就来了。 我不想把主力输入法换成豆包输入法,但是我又想用豆包的语音输入。我想偷个懒。 我想到我的流程是,平时打字继续用微信输入法,需要语音的时候,按住 Command + Option 临时切到豆包语音,松开之后再回微信输入法。 那么理论可以全自动做这件事情。我把这个需求丢给了 macbook 上跑着的 Hermes,我坚信它以及它背后的 GPT-5.5 能做到。 最终思路 最后 Hermes 先搓了一个后台 agent,后来又把它收成了一个顶栏 mini app: 1 doubao-voice-wetype-agent 它干的事情不是破解豆包,也不是改输入法,而是在中间当一个代理。 更准确地说,它现在像一个很小的插件,常驻在 macOS 顶栏,没有 Dock 图标。平时显示 豆 OK,权限或者监听有问题的时候显示 豆 !,按住语音的时候会变成 豆 REC。 这个小状态栏后来证明很重要。 因为这种系统级快捷键代理如果没有可视状态,真的太黑盒了。你不知道是权限没拿到,还是 event tap 被系统关了,还是输入法切过去了但豆包没接住。现在点开顶栏菜单,至少能看到权限、当前输入法、最近一次事件和监听状态。 大概流程是这样: [text] 显示已折叠代码(33 行) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 当前输入法是微信输入法 | | 按下 Command + Option v agent 捕获到这个组合键 | v 检查当前输入法不是豆包 | v 切换到豆包输入法 | v 重新发送一组干净的 Command + Option keyDown | v 豆包开始语音输入 | | 我继续按住,说话 v 松开 Command + Option | v agent 捕获释放事件 | v 重新发送 Command + Option keyUp | v 豆包结束语音输入 | v 切回微信输入法 一句话就是: ...

May 27, 2026 · 5 min · 953 words · Ray

顶级临阵磨枪(软考高级系统架构-1)

计算机操作系统 常见指令集有 CISC 和 RISC。 CISC 指令复杂、数量多,比如 x86 架构; RISC 指令简单、执行快,像 ARM、MIPS、RISC-V。 CPU 类型按指令集分, 有 x86 系列,常用于 PC 和服务器; ARM 系列,多用在手机、嵌入式设备;还有 RISC-V 这种开源指令集的 CPU 除了 CPU,常见的处理器还有 GPU,擅长并行计算,主要用于图形渲染和 AI 训练;DSP,专为数字信号处理设计,像音频、图像处理设备常用;FPGA,可编程逻辑器件,可根据需求定制硬件逻辑,适合实时性高的场景;还有 TPU,是谷歌专为深度学习优化的处理器 嵌入式操作系统 嵌入式操作系统特点是微型化、可定制、可靠性和一植移植性,常采用硬件抽象层Hardware Abstraction Layer,HAL和板级支撑包BSP 嵌入式操作系统应具备实时性、可裁剪性和安全性等特征。 基本开发工具是交叉编译器、交叉链接器和源代码调试器 计算机网络 局域网有总线型、星型、树型、环型、网状五种拓扑结构 WLAN拓扑结构有点对点型、Hub型和完全分布型。 完全分布型则处于理论探讨阶段无具体应用 广域网由通信子网与资源子网组成。广域网可以分为公共传输网络、专用传输网、络和无线传输网络3类。 主要有同步光纤网络(SONET)、同步数字体系(SDH)、数字数据网(DDN)、帧中继(FR)和异步传输技术(ATM) 。 以太网规定最小帧长为64字节,最大帧长为1518字节。设置最小帧长是为了避免冲突,最小帧长是根据网络中检测冲突的最长时间来定的。 信息系统基础 信息系统的功能有:输入、存储、处理、输出和控制 信息系统的生命周期分为产生、开发、运行和消亡4个阶段。 企业的所有资源包括三大流:物流、资金流和信息流。 信息安全技术基础 信息安全的基本要素有机密性、完整性、可用性、可控性与可审查性。 范围包括设备安全、数据安全、内容安全和行为安全。 DES 56位密钥长度,三重DES 112位是因为他用了两个密钥 K1加密 K2解密 K1加密 系统工程基础知识 MIPS=指令条数/(执行时间×10^-6) 软件工程基础知识 碎碎念 看到这里已经困的不行了,明天早上七点起来路上复习后去考试 案例分析第一题连考四次质量属性,所以押他还考,这里需要特别准备,然后准备一个主流技术,如果是微服务 / 云原生、缓存 / 数据库、新兴技术,新兴技术大概率是AI,其实都在我的打击范围,只是深度都不够,明天早上起来接着看案例 历年论文四题范围 我直接押题今年会有大模型应用,直接撞在我这两年最熟悉的领域,所以我将把复习重点放在案例分析可能会出现的概念上,好好准备一下 ...

May 22, 2026 · 1 min · 69 words · Updated: May 23, 2026 · Ray