rg 入门教程

今天在看 codex 的 system prompt 看到对 codex 的要求是 优先用 rg,我只知道这个工具比 grep 快,似乎是个现代化的 grep,那得学,我是现代人。 参考了几篇文章:Levon 的 文本搜索神器rg的使用教程、Autumn Skerritt 的 Ripgrep cheatsheet、Marius Schulz 的 Fast Searching with ripgrep,以及官方的 ripgrep README 和 User Guide。 这篇不是全文搬运。我只是把我最可能用到的东西重新按自己的脑回路记一遍。 rg 是干嘛的 一句话: rg 是用来在文件里搜文字的命令。 它的全名叫 ripgrep,但是命令名是 rg。 最基础的样子长这样: 1 rg "要搜索的内容" 这行命令的意思是: 在当前目录下面,递归搜索所有文件,只要某一行包含 "要搜索的内容",就把那一行打印出来。 这里有几个初学者必须先钉死在脑子里的点: rg 默认就是递归搜索,不用像 grep -R 那样自己加 -R 不写目录时,默认搜当前目录,也就是 ./ 它默认会读 .gitignore 它默认不搜隐藏文件,比如 .env 它默认不搜二进制文件,比如图片、数据库文件 它默认把搜索内容当正则表达式,不是纯字符串 安装和确认 Mac 上一般就是: 1 brew install ripgrep Ubuntu / Debian: 1 sudo apt-get install ripgrep Windows 如果用 Scoop: ...

June 24, 2026 · 4 min · 830 words · Ray

记录一次 Docker Registry Proxy 的 HTTPS 证书续期排查

记录一次 Docker Registry Proxy 的 HTTPS 证书续期排查 背景 我有一套自建的 Docker Registry Proxy 服务 可看这篇博客docker自建镜像加速 | 安落滢 Blog - 技术分享与生活记录,用来代理 Docker Hub、GHCR、Quay、GCR、K8S、MCR、NVCR 等镜像源。 服务整体跑在 Debian 服务器上,Nginx 运行在 Docker 容器中,由于没有 80、443 端口。对外统一暴露 5050 端口。 假设我的域名是 666.xyz ,访问方式大概是: 1 2 3 4 5 6 7 8 https://hubcmd.666.xyz:5050/ https://ghcr.666.xyz:5050/ https://quay.666.xyz:5050/ https://gcr.666.xyz:5050/ https://k8s.666.xyz:5050/ https://mcr.666.xyz:5050/ https://elastic.666.xyz:5050/ https://nvcr.666.xyz:5050/ 这些域名都在 Cloudflare 做 DNS 解析,并且关闭了小黄云代理,直接解析到服务器公网 IP。 这次问题的起因,是我在服务器通过mirror拉取镜像时遇到报错,报错如下。 1 ERROR: failed to solve: python:3.12-slim: failed to resolve source metadata for docker.io/library/python:3.12-slim: failed to do request: Head "https://hub.666.xyz:5050/v2/library/python/manifests/3.12-slim?ns=docker.io": tls: failed to verify certificate: x509: certificate has expired or is not yet valid: current time 2026-06-02T16:35:32+08:00 is after 2026-05-31T06:13:08Z 好家伙,证书过期,这是第一次纯手工部署的项目证书过期,之前偷懒都是用的宝塔、1panel 这些平台托管,想起来了 certbot 什么的可以用,但我还没试过,刚好试试。 ...

June 2, 2026 · 7 min · 1364 words · Ray

code graph浅尝

看到个项目,code graph,顾名思义应该是把项目代码给构建成图谱,拖延到今天来实测一下效果 仓库地址:GitHub - colbymchenry/codegraph: Pre-indexed code knowledge graph for Claude Code, Codex, Gemini, Cursor, OpenCode, AntiGravity, Kiro, and Hermes Agent — fewer tokens, fewer tool calls, 100% local · GitHub 安装 code graph mac 安装命令 1 curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh 安装 MCP 配置 初始化项目 进入一个最近在开发的目录,开始索引 1 2 cd your-project codegraph init -i 接下来他会扫描仓库的文件并且在本地新建数据库 大概流程是这样的: 显示已折叠代码(21 行) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 你的代码目录 │ ▼ Tree-sitter 解析源码 │ ▼ 抽取符号(Symbol) 函数、类、方法、变量、路由 │ ▼ 分析关系(Edge) 调用关系 继承关系 导入关系 引用关系 │ ▼ 写入 SQLite │ ▼ 生成 .codegraph/ 官方文档里提到,CodeGraph 会把符号、调用图、文件结构等信息存到 SQLite(FTS5)数据库中,并把项目数据放在 .codegraph/ 目录下。 ...

June 2, 2026 · 1 min · 121 words · Ray

小黑配图 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