V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
greensea
V2EX  ›  分享创造

so - 让 AI 帮你写命令行的命令行工具

  •  
  •   greensea ·
    greensea · 24 天前 · 1702 次点击

    这个工具源于我自己的需求:有时候要写一些比较低频的命令,一时想不起来这命令的参数了,于是不得不谷歌一番,然后再回来写,比如 ffmpeg 这种参数多如牛毛的命令,查手册虽然也可以,但手册太长了,不如先谷歌一下,再查手册。

    所以我就想,如果 AI 能帮我直接把命令写出来就好了。于是这个工具就出现了:

    只要在命令行里面直接

    so 帮我写一个 XXXX 的命令
    

    就能直接让 AI 把命令写好,效果大概是这样子的:

    接着,如果对这命令的参数有疑惑的话,还可以直接让 AI 解释一下:

    源码开放: https://github.com/greensea/so

    一键安装:

    curl -sSL https://so.pingflash.com/install.sh | sh
    
    
    9 条回复    2024-11-22 09:42:50 +08:00
    ospider
        1
    ospider  
       24 天前
    AI 给写出来个 rm -rf / 咋办
    greensea
        2
    greensea  
    OP
       24 天前
    @ospider 没事,起码它没加上 --no-preserve-root [手动狗头]

    好的说正经的,命令出来之后不会自动执行,要用户自己按回车才会执行的
    z7356995
        3
    z7356995  
       24 天前 via Android
    不错,聪明
    Silently
        4
    Silently  
       24 天前 via iPhone
    在用着 shellgpt 项目,
    YAYALUOYA
        5
    YAYALUOYA  
       24 天前
    能根据当前环境生成命令不?
    比如说我装了 xx 工具,然后 ai 就会用生成这个工具对应的命令
    foursking
        6
    foursking  
       24 天前
    mac 不行 直接 curl install
    loocao
        7
    loocao  
       23 天前
    强!确实解决了需求痛点
    NothingExist
        8
    NothingExist  
       21 天前
    这个直接使用 warp 就行了,非常智能
    koodai
        9
    koodai  
       6 天前 via Android
    安卓+termux ,安装不了。
    看了代码,直接下载了具体的可执行文件,然后 chmod u+x 都没问题。
    alias 了一下,然后 so 正常输出提示信息; so 中文指令,失败;
    ```github.com/Xuanwo/go-locale.DetectAll()
    /home/gs/go/pkg/mod/github.com/!xuanwo/[email protected]/locale.go:20 +0x20 fp=0x40000ace40 sp=0x40000acd80 pc=0x2d2270
    github.com/Xuanwo/go-locale.Detect(...)
    /home/gs/go/pkg/mod/github.com/!xuanwo/[email protected]/locale.go:11
    github.com/greensea/so/common.Lang()
    /home/gs/pj/so/common/common.go:17 +0x28 fp=0x40000ace70 sp=0x40000ace40 pc=0x2d2eb8
    main.Umami({0x7fd2e67b5f, 0x10})
    /home/gs/pj/so/umami.go:32 +0x80 fp=0x40000acfb0 sp=0x40000ace70 pc=0x33a2a0
    main.main.gowrap1()
    /home/gs/pj/so/main.go:26 +0x2c fp=0x40000acfd0 sp=0x40000acfb0 pc=0x336f3c
    runtime.goexit({})
    /usr/local/go/src/runtime/asm_arm64.s:1222 +0x4 fp=0x40000acfd0 sp=0x40000acfd0 pc=0x7eb94
    created by main.main in goroutine 1
    /home/gs/pj/so/main.go:26 +0xe0

    goroutine 34 gp=0x40002761c0 m=nil [runnable]:
    main.displaySpin.func1()
    /home/gs/pj/so/run.go:223 fp=0x400005efd0 sp=0x400005efd0 pc=0x339e20
    runtime.goexit({})
    /usr/local/go/src/runtime/asm_arm64.s:1222 +0x4 fp=0x400005efd0 sp=0x400005efd0 pc=0x7eb94
    created by main.displaySpin in goroutine 1
    /home/gs/pj/so/run.go:223 +0x8c
    ```
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1071 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:04 · PVG 04:04 · LAX 12:04 · JFK 15:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.