求求你别再让我手写 commit 了 —— 我把日常摸鱼写成了一个 AI CLI

起因:一个打工人的崩溃瞬间

周五下午 6 点。

老板:日报呢?
我:……(我今天到底干了啥)

打开 ChatGPT:「帮我写一篇日报,我今天提交了……(开始翻 git log)」
打开 Cursor:「帮我写个 commit message,diff 我贴你看……(开始 copy)」
打开新项目:「这个项目用的是 Go,目录结构是这样的……(讲第 27 遍)」

AI 不累,我累。

在这里插入图片描述

于是我用 Go 撸了个 CLI,把这堆破事一锅端了。名字叫 seeed-cli,长这样:

在这里插入图片描述

没错,这个 ASCII Art 是我硬调出来的,调了 40 分钟。代码量 5 行,自尊心 -100。


一句话介绍

把"每天要让 AI 帮我干的破事",全部塞进命令行,一个 s 字母搞定。

GitHub:https://github.com/wangzongming/seeed-cli


它到底能干啥

在这里插入图片描述

懒得看图的我再敲一遍:

我每天的痛 现在变成
写 commit 抓耳挠腮,最后憋出 “fix bug” s commit
下班前才发现要写日报 s daily
接手新项目想让 Cursor 别瞎写 s agent
想让 AI 看下我代码有没有 sql 注入 s safe-scan
想知道这屎山到底有多屎 s quality
想画个架构图但不会画 s frame
想写接口文档但更不想写 s api
偷偷想知道这代码是不是 AI 写的 s who
Cursor 的 skill 想搬到 Claude s skills-sync
想白嫖别人写的 skill s skills-pull

跨平台支持 macOS / Linux / Windows,amd64 / arm64 全都有。


安装:一行命令,0 学习成本

curl -fsSL https://raw.githubusercontent.com/wangzongming/seeed-cli/main/install.sh | bash

然后把 seeed-cli 缩成 s,敲起来一秒一个字母:

seeed-cli install-s

配一下大模型 key(用的阿里云百炼,OpenAI 兼容协议):

s set-ak BaiLian sk-xxxxxxxx

百炼 key 怎么薅:https://bailian.console.aliyun.com/

友情提示:账户欠费的话,模型会非常诚实地告诉你「我不动」。


几个我每天都在用的命令

s safe-scan —— 让 AI 当你的安全实习生

跑起来是这样的(这进度条我做了好几个小时,求夸):

在这里插入图片描述

跑完之后是这样的(中文报告,含代码定位 + 修复建议):

在这里插入图片描述

第一次跑就被它指出我自己写的 panic 是 DoS 风险,那一刻我感受到了一种实习生反向 PUA 老板的快感。


s commit —— 再也不是 “fix bug” 选手

写完代码 git add . ,然后:

s commit

它会读暂存区 diff,输出标准格式:Emoji + 类型 + 中文简述

我现在 commit message 一条比一条专业,组里 leader 看完点头:「最近成长很快嘛。」

我:「嗯。」

(不能告诉他真相,否则下周 KPI 要加倍)


s daily —— 下班前 3 分钟生成日报

s daily

它扫今天的 git log,输出纯文本日报(绝不带任何 Markdown,因为我用 Prompt 把这事强制死了)。

直接 Ctrl+C → 飞书群 → Ctrl+V → 下班。

这个功能本来要叫 s 摸鱼,后来怕被老板看到。


s agent —— 给 AI 写一份项目说明书

这个是我私藏的「让 Cursor 闭嘴瞎写」杀手锏。

s agent

它会扫描你的源码,调 LLM 二次归纳,输出 AI-AGENT.md,包含:

  • 技术栈与依赖
  • 目录结构与模块职责
  • 配置和环境约定
  • 编码规范、命名惯例
  • 禁止事项(这条最重要)

把这文件丢到 Cursor Rules / AGENTS.md,AI 干活 token 省一半,瞎编少一半,幸福感拉满。


s who —— 你的代码,几成是 AI 写的?

s who

终端直接画出比例条:

在这里插入图片描述

「古法 70% / AI 30%」

那一刻我盯着这个数字陷入沉思:是该夸自己还在坚持,还是该担心自己快被替代了。

在这里插入图片描述

不过这功能特别适合:

  • 面试候选人之前偷偷跑一下他的 GitHub(不是
  • 接手别人代码时心理建设
  • 自我审视:你最近是不是太依赖 AI 了

s skills-sync —— Cursor 和 Claude 的 skill 互搬

我同时用 Cursor、Claude Code、Windsurf,三家 skill 目录格式还不一样。

以前手动改,改一次怀疑一次人生。现在:

s skills-sync --target claude --skills deploy-staging,api-review -y

一行完事,自动按目标方言生成 SKILL.md 并装到对应目录。


s skills-pull —— 白嫖天下高星 skill

s pull --list                              # 看看有哪些
s pull --search pdf --list                 # 搜 pdf 相关的
s pull --ids anthropics/pdf --target claude -y

内嵌一份 Top-50 skill 索引,按名字/关键词直接拉,装到本地 AI 工具目录。

站在巨人的肩膀上,把巨人的 skill 也一并拿走。


顺便聊点架构

整个工具的层次结构是这样:
在这里插入图片描述

3 层:

  • 应用层:每个子命令是一个 Handler
  • 调度层:CLI 入口 + 上下文截断 + 流式渲染
  • AI 支撑层:百炼(DashScope,OpenAI 兼容)

有几个写起来踩过的坑,分享下:

1. Prompt 写得越死板,幻觉越少

每个子命令的 Prompt 都被我用「不要编造」「未在上下文中出现则写未知」「冲突以后者为准」之类的句子塞满了,像在写法律条款。

2. 上下文必须截断

LLM 一旦输入超长,要么挂、要么慢、要么瞎编。我做了多档累加阈值(200KB / 512KB),单次 prompt 也物理截断在 200K 字符,截断处显式打 _truncated_,下游解析不会出 bug。

3. TUI 用 Bubbletea

终端那些花里胡哨的动画、进度条、流式输出、Markdown 渲染,全是 charm.land/bubbletea/v2 + glamour/v2 撑起来的。Mermaid 在 TTY 下会被替换成纯文本防炸图,落盘时再恢复,挺优雅。


写在最后

如果你也每天:

  • 在和 AI 重复对话
  • 在不同 AI 工具间复制粘贴 skill
  • 在下班前 5 分钟焦虑日报

不如试试这个工具,地址再贴一遍:

https://github.com/wangzongming/seeed-cli

求一个 Star,求一个 Issue,求一个 PR。

也来评论区告诉我:你最想让 CLI 里多一个什么 AI 命令?
(最离谱那条,我真给你做。)

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐