自己用AI写了一个常用的zsh函数库管理框架,内置两个AI小工具

大家好,想分享一个我为自己的 Arch 环境打造的 Zsh 配置框架:ZFL(Zsh Function Library)。

GitHub:https://github.com/Royikiss/zfl


ZFL 是什么?

ZFL 是一个模块化 Zsh 配置与函数库,核心设计原则只有一条:shell 启动必须是即时的,没有例外。


主要特性

:high_voltage: 零延迟启动(懒加载)

  • 启动时只注册轻量级桩函数,实际脚本在命令第一次执行时才 source。
  • Tab 补全同理:首次 时才加载完整补全映射。
  • 无论你挂了多少函数,启动开销几乎为零。

:shield: 非阻塞启动任务(FD 3 隔离)

  • 后台启动任务通过文件描述符 3 路由,与 stdin 完全解耦。
  • 防止后台进程意外读取或劫持前台终端——这是很多异步 Zsh 方案的隐患。

:counterclockwise_arrows_button: 只读非阻塞更新检测(check_update)

  • 启动时异步查询 pacman/yay 和 Flatpak 的待更新包数量。
  • 绝不调用 sudo,绝不阻塞提示符。
  • 锁目录防止重复并发检测。
  • 可配置提示策略:once_per_day / pending_first / strict_daily。

:robot: AI 协作上下文打包工具(aicp)

  • 将代码库打包为单一 token 预算控制的上下文块,供 LLM 消费。
  • 支持 fast/balanced/deep/full 预设与多维过滤。
  • 交互式 --exec 模式:解析 LLM XML 工具调用,展示源码范围,并在用户确认后交互式应用 unified diff 补丁。

:magnifying_glass_tilted_left: 静态质量门禁(zfl lint)

  • 内置 linter 检测全局变量泄漏、文件描述符泄漏、硬编码 ANSI 颜色、缺失元数据头部、命名风格违规。
  • 与 GitHub Actions 集成,作为 CI 门禁。
  • zfl list 展示所有可用工具及其描述(从标准化元数据头部自动解析)。

安装

git clone https://github.com/Royikiss/zfl.git ~/.config/zsh

在 ~/.zshrc 中添加:

if [[ -f "$HOME/.config/zsh/base.zsh" ]]; then
source "$HOME/.config/zsh/base.zsh"
fi

重启终端或 source ~/.zshrc。


为什么不用 Oh My Zsh / Zinit / Zplug?

那些是优秀的插件管理框架,ZFL 的定位不同:

  • 最小启动开销(没有插件管理器运行时)
  • 内置 linter 强制执行编码规范
  • 对异步任务的 FD 安全性有一等公民支持
  • 开箱即用的 AI 工具集成

两者并不冲突,可以同时使用。


欢迎 Bug 反馈、功能建议和 PR。
如果你在 Arch 上用 Zsh,关心启动性能或 shell 脚本的代码质量,希望 ZFL 对你有用!

1 Like

下面是一些使用截图:

  • link_skills:

  • aicp:

以前这个命令适用于把小项目直接喂给网页版AI对话。

目前比较好玩的应该就这两个,当然也支持AUR自动开机更新检测: