jimyag's Blog

项目

这里按方向整理我开发和参与的项目。每个项目都说明它解决的问题、核心能力和适用场景;有些项目开放源码,有些只提供产品或演示入口。

AI 编码与 Agent

Splitrail

统一统计 AI 编码工具用量和成本的跨平台工具。它汇总 Claude Code、Codex CLI、Gemini CLI、GitHub Copilot、OpenCode 等工具的会话记录,在终端和本地 Web 面板中按模型、项目和会话展示趋势。我参与上游 Web 面板、会话分析和用量刷新。

AskShell

在现有 zsh、bash 或 fish 中直接向 AI 提问的轻量入口。普通命令仍由 Shell 原样执行,只有以 ? 或 ? 开头的输入会发送给模型;AI 建议的命令会回到输入行等待确认,不会自动运行。支持多轮上下文、OpenAI/Anthropic 兼容接口和远程 SSH 会话。

ai-token-exporter

把本地 AI 编码工具用量导出为 Prometheus 指标的 exporter。它读取 Claude Code、Codex CLI、Gemini CLI、GitHub Copilot 等工具的会话记录,在内存中生成快照并通过 /metrics 暴露,抓取时无需重复扫描文件;适合接入 Grafana 和统一用量监控。

e2b-github-runner

按需创建 GitHub Actions 自托管 Runner 的 Go 服务。每个任务运行在独立的 E2B Sandbox 中,由 GitHub Webhook 触发,并支持 Runner 规格、并发控制、失败重试和管理界面;适合需要隔离和弹性扩缩的 CI 场景。

网络与云原生

socktrail

在 Linux 终端统一查看流量、连接、进程和域名的实时观测工具。它结合抓包、eBPF 和 conntrack 把连接关联到进程、cgroup、容器或网络命名空间,展示 RTT、重传、丢包原因、TLS/QUIC 域名和 JA4 指纹,并支持 JSON、NDJSON 和 PCAPNG 输出。

pingexporter

面向 Prometheus 的 ICMP 可用性和延迟 exporter。它支持 IPv4、IPv6 和目标级地址族选择,定期刷新 DNS,并在解析失败时保留上一个可用地址;适合监控主机、路由器和跨地域链路。

netloom

基于 OVN 与 eBPF 的轻量级容器网络控制面。它用 OVN 组织虚拟网络,通过 TCX/eBPF 在容器网卡侧执行安全组和 ACL;适合研究容器网络数据面,或构建不依赖完整 Kubernetes CNI 的网络方案。

KubeVirt Dashboard

单二进制的 KubeVirt 与 Kubernetes Web 管理面板。它根据集群实际可用的 API 发现资源,统一管理虚拟机、Pod、存储、网络以及 KubeVirt/CDI 资源,并提供 YAML、日志、Shell 和 VNC/串口控制台。

auto-cert-webhook

用于开发 Kubernetes Admission Webhook 的 Go 框架。它自动生成和轮换 TLS 证书、同步 caBundle,并支持多副本 leader election;业务代码只需实现准入逻辑,适合策略校验、默认值注入等场景。

虚拟化与沙箱

Aegis

面向 Linux/KVM 的 Firecracker 沙箱运行时。它提供 MicroVM 冷启动、快照恢复、预热池和 Geneve 项目网络,使用 jailer、seccomp 与 cgroup v2 保持隔离,并支持工作区文件上传、下载和实例生命周期管理。

查看演示视频

oci2vm

把 OCI 容器镜像转换成可引导虚拟机磁盘的工具。它为镜像补齐内核、init、引导程序、cloud-init 和 SSH,输出 qcow2、raw、vmdk、vdi 等格式,并把原有 Entrypoint、Env 和 WorkingDir 保留为开机服务;适合从容器构建流程直接交付 VM 镜像。

JVP

基于 QEMU/KVM 与 libvirt 的多节点虚拟化管理平台。它通过 REST API 和 Web UI 管理 Linux/Windows 虚拟机、镜像模板、快照、存储和网络,并提供 VNC 与串口控制台。

访问 JVP

libvirt-rs

纯 Rust 实现的 libvirt 客户端库,不依赖 C libvirt。它直接通过 libvirt RPC 协议与 daemon 通信,并根据协议定义生成类型和异步调用,适合需要原生 Rust 虚拟化管理能力的工具和服务。

开发与工程效率

ripples

分析 Git 变更会影响哪些 Go package 的工具。它结合 AST、类型信息和声明依赖图,从变更的函数、方法、类型或变量追踪直接与间接受影响方,而不是把所有导入方都算作受影响;结果可接入 CI、构建和服务测试,也支持 DOT 图。

jd

统一管理开发工具安装的跨平台 CLI。它把 GitHub Release、Homebrew、APT、Go 和 npm 等安装方式收敛为一个命令,支持指定版本、强制安装方式和 CNB 镜像,适合快速初始化开发环境。

CommitLens

面向本地和 GitHub 仓库的贡献分析工具。它在单个 Go 二进制中提供 commit 与代码行趋势、周期对比、贡献者别名、终端 TUI 和内嵌 Web UI,适合个人复盘、团队统计和项目总结。

gitwiki

基于 GitHub 登录和 Git 仓库的团队 Wiki。文档以 Markdown 存入仓库,写权限复用 GitHub 仓库权限;后端 Go、前端 React 并嵌入单个二进制,支持评论、版本恢复、目录整理、全文搜索和 Hugo 静态站点发布。

MCGA

macOS 与 Windows 的剪贴板解析和历史工具。它自动识别 JSON、JWT、证书、CIDR、时间戳、链接等格式,在菜单栏或通知区域显示解析结果,并支持自定义解析器和可筛选的历史记录。

dotfiles

用 Chezmoi 管理的个人开发环境配置。它覆盖 macOS/Linux 的 Shell、Git、编辑器、终端、窗口管理和 Agent Skills,并把公开配置、私有配置与安装流程分开,便于在新机器上快速恢复环境。