平时在终端里干活,有两个事情我经常觉得头大:
一是记不住复杂参数。比如查个占用端口的进程、按修改时间搜一批文件、或者解压某个不常见的压缩包,隔三差五就得切到浏览器搜一下。
二是跨系统命令转换。查资料时网上往往只贴了 Linux (Bash) 命令,但我手头如果在 Windows (PowerShell) 下,有些管道符和参数根本跑不起来,还得手动翻译一遍。
市面上其实有不少终端 AI 工具,但我试了一圈发现不太适合我:
于是周末我自己搓了个小 CLI:**ai-shell-helper**(命令行里直接敲 **ash**)。
https://www.npmjs.com/package/ai-shell-helperhttps://github.com/wallace921029/ai-shell-helperCtrl + V 回车执行。ash target 指定。把 Bash 命令直接丢给它,它能转成 PowerShell 等价命令。直接敲 ash,输入人话:
ash
>>> 把当前目录及其子目录下所有的 .log 文件找出来并删除
Get-ChildItem -Recurse -Filter *.log | Remove-Item
输出出来的命令已经在剪贴板里了,看一眼没问题直接粘贴回车。
比如你在 Windows 上,从网上搜到一条 Linux 命令:
ash
>>> grep -rn "TODO" ./src
Select-String -Path ./src/* -Pattern "TODO" -SimpleMatch
它会根据你设定的目标 Shell 转换成可用的语法。
有时候不需要生成命令,只是想随口问个技术问题,带 -c 参数就行:
ash -c
>>> nginx 的 301 和 302 重定向在配置上有啥区别
如果是在排查一个连续的问题,可以用 -lc 进入多轮对话模式。
这里我做了一个类似 Claude Code /compact 的机制:如果多轮聊得太长、历史上下文堆得比较多,它会在后台自动做一次摘要压缩,把前面的对话提炼成一段简短上下文,既防止 Token 越聊越贵,也能避免超出模型的上下文窗口。
需要 Node.js >= 18:
npm install -g ai-shell-helper
第一次用的时候,跑一下初始化:
ash init
会提示输入三个信息:
https://api.deepseek.com 或 https://api.openai.com/v1deepseek-chat 或 gpt-4o-mini平时常用命令就这几个:
ash:生成命令 / 转换命令ash target:切换当前的目标 Shell ( PowerShell / cmd / bash / zsh / fish )ash clipboard [on|off]:开关自动进剪贴板ash -c:单轮问答ash -lc:多轮对话( Ctrl+C 退出)ash reset:清空配置配置信息保存在本地 ~/.ash/config.json,不会上传任何其他东西。
代码和文档都在 GitHub 上,MIT 协议。如果你也有经常记混参数或者跨平台查命令的习惯,可以试一下,有什么建议也欢迎提 issue 。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.