[260322] x-cmd v0.8.9:新增 agent 模块统一配置 AI 工具,bakman 备份管理器,free 内存显示升级

  • 引入 agent 模块,支持一键配置 Claude Code、Codex 等 Agent 工具使用 x-cmd 提示词和技能
  • 新增 bakman 模块,支持一键备份、时间戳版本管理与快速恢复
  • free 模块升级,内存信息显示更直观
  • root 模块 dotconfig 激活,配置文件可丝滑接入 chezmoi 等 dotfiles 管理工具
  • cutt 和 line 简化数据表行列选取与行处理,告别 awk 繁琐语法

请添加图片描述

🚀 x-cmd v0.8.9 更新详情

agent 🤖

实验性引入 agent 模块 —— 先搭好脚手架,边用边迭代。

Claude、Codex、Kimi、Opencode 这些 AI 工具各有自己的配置方式,每次都要重复配置 x-cmd 的提示词,效率不高。

所以做了个统一入口:

  • x agent setup —— 一键让主流 AI 工具使用 x-cmd 提示词和技能
  • x agent unify —— 把各 AI 工具的配置合并到 ~/AGENTS.md,并用 symlink 统一管理

示例:

# 交互式配置 AI 工具
x agent setup

# 合并配置文件
x agent unify

这是实验性功能,还在早期阶段。
欢迎试用反馈,帮助我们迭代完善。

bakman 💾

新增 bakman 模块 —— x-cmd 基础库新增了一个备份文件管理器。

之前 x-cmd 内部有些功能需要备份文件,但各做各的,没有统一的管理方式。
所以我干脆做了个基础模块,既给内部复用,也开放给用户直接使用 —— 反正备份和恢复这种事情,谁都有需要。

目前的功能还比较基础:

  • x bakman backup <file> —— 创建带时间戳的备份
  • x bakman restore <file> [version] —— 恢复指定版本
  • x bakman list [file] —— 列出备份
  • x bakman clean <file> [keep] —— 清理旧备份
  • x bakman latest <file> —— 查看最新备份路径

备份按原始路径结构存储在 $___X_CMD_ROOT_DATA/bakman/ 下。

示例:

# 备份配置文件
x bakman backup ~/.bashrc

# 从备份恢复
x bakman restore ~/.bashrc

# 查看备份列表
x bakman list

这只是开始,功能还比较简单。如果你有更多备份管理的需求,欢迎提 issue。

free 🧠

升级了 free 模块 —— 之前的输出不够直观,用户很难一眼看出哪些内存是真正可用的。

这次花时间理顺了逻辑:

  • 标准化内核与物理层级的术语(例如:Logical → Detail,Physical → vm_stat)。
  • 引入了颜色规范,绿色看可用,黄色看缓存,红色看占用。
  • 此外还加了 hardware 列显示保留内存,并将 Mem free 改名为更直观的 reusable

我自己用了一段时间,输出直观了很多,CSV/TSV 输出也顺手重构了。有问题随时反馈。

root ⚙️

为了让 x-cmd 完美融入你的 Dotfiles 生态,不再显得"格格不入",我们正式支持配置文件的标准化映射。虽然我们以 chezmoi 为例,但该功能兼容所有主流 Dotfiles 管理工具。

  1. 深度集成:通过一行命令将配置映射至 ~/.config/x-cmd,实现真正的 Infrastructure as Code。这让任何遵循 XDG 规范的工具都能轻松接管:
x root dotconfig activate
  1. 轻量备份:如果你希望保持现有目录结构,只需针对核心配置进行精准追踪:
x chezmoi add $___X_CMD_ROOT_CFG

cutt ✂️

cutt 模块增加文档 —— 处理数据表简单日常需求时,awk 用起来有些麻烦。

日常想从数据表里选几行几列得用 awk 语法,命令写起来长,比如 awk 'NR>3{ print $1, $5, $6 }' 这种。
而且不同场景要调分隔符、负索引、范围选择,写多了挺累人的。

x cutt 简化这个过程,专门处理"从数据表选行选列"这种简单需求:

# 从 ASCII 表选取第 100 行到倒数第 10 行,以及第 1、3、6 列之后的所有列
x ascii | x cutt 100:-10 1,3,6:

# 选取第 1 到 3 行的第二列
echo 'a1 a2 a3
b1 b2 b3
c1 c2 c3' | x cutt 1:3 2

# 选取第 1、3 行的第二列
echo 'a1 a2 a3
b1 b2 b3
c1 c2 c3' | x cutt 1,3 2

line 📝

line 模块增加文档 —— 命令行里行处理需求很常见,但 sort | uniq 能力有限。

sort | uniq 做流式去重挺顺手,但 sort 需要先对整个输入排序,大文件效率低。
如果还要 join、wrap、filter,往往得组合好几个命令。

x line 提供一站式行处理工具:

  • uni —— 流式去重,比 sort | uniq 高效
  • duo / uno —— 筛出重复/仅出现一次的行
  • join —— 用分隔符连接行
  • wrap —— 用前缀后缀包裹行
  • minus —— 过滤匹配的行
{ seq 1 3; seq 3 1; } | x line uni    # 流式去重
seq 5 | x line join ", "              # 用逗号连接
seq 10 | x line minus 3 5 7           # 过滤掉 3、5、7

常见行处理一站式解决。

⬆️ 如何升级

现有用户可以通过以下命令快速切换至 Beta 版本进行体验:

x upgrade beta
如果你没有安装 x-cmd, 只需要打开你的终端:
eval "$(curl https://get.x-cmd.com)"

x-cmd 是一个一站式的命令行工具集,其强大的功能可以为人类用户和AI共同使用。它还简化了很多工具的安装方法。
马上安装,让 x-cmd 协同 AI 成为你的最强助手,实现生产力翻倍!

🤝 开发者反馈

如果您在自定义配置或代理设置中遇到任何疑问,欢迎前往 GitHub Issues 提交反馈,共同完善 X-CMD 生态。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐