本项目地址 工具:wiki; 文档仓库:wiki-pages, 欢迎参与或 star
背景
在使用 chatgpt 之后,发现一个比较常见而且非常有价值的场景是:使用 chatgpt 来查询文档,即一些命令行或者系统、库函数的含义。使用 chatgpt 得到的答案往往简洁,清晰,其效果是使用 google 之类的搜索引擎完全达不到的。举个例子:
- 问: curl -fsL
- 答:
这是一个 curl 命令的参数组合,其中:
-f 或 --fail: 如果服务器返回错误状态码,比如 404 Not Found 错误,则静默失败(即返回错误状态而不输出任何内容)。
-s 或 --silent: 静默模式。不显示进度条或错误信息。
-L 或 --location: 跟随重定向(即如果服务器返回重定向到其他 URL,则自动跟随重定向)。
这个命令通常用于从网站或 API 下载内容,同时忽略任何错误或重定向,并在后台静默执行,不输出任何信息。例如:
curl -fsL https://www.example.com/api/data
这个命令将从 https://www.example.com/api/data 下载数据,忽略任何错误或重定向,并在后台静默执行,不输出任何信息。
这种查询当然可以直接对话 chatgpt,但是这样存在几个问题:
- chatgpt 是收费的,国内的环境使用 chatgpt 更加困难
- chatgpt api 的返回较慢,文档查询应该返回更快
- 很多文档查询实际是重复的,并不需要每次都查询 chatgpt
基于以上,我做了一个小工具 wiki
介绍
wiki 这个工具实际上源自 tldr,这是一个非常知名的命令行文档工具站,正如他的名字一样,这个文档站的特点是关于命令的解释和例子都非常简洁,容易理解。看下面的例子:
上传失败:服务器响应格式错误
tldr 对于 wiki 来说是一个非常好的起点,因为 tldr 内收集了大量的常用命令行指令,所以 wiki 工具可以看成是 tldr 命令的一个增强:给 tldr 的命令增加更多 来自 chatgpt 的解释信息。
事实上 wiki 项目的运作方式和 tldr 很相似,文档仓库:wiki-pages 已经收集了大量增加了 chatgpt 解释后的 tldr 文档,而 工具:wiki 目的则是查询这些文档,并返回给用户。
使用
安装
你可以在 工具:wiki release 页面直接下载命令行进行安装,也可以使用 go install github.com/u2takey/wiki@latest
进行安装
初始化
使用 wiki init
进行初始化,其中chatgpt-key 是一个可选参数,目的是在 查询的命令在文档库中不存在的时候,使用 chatgpt 的 api 进行查询。
wiki init --chatgpt-key=
使用
下面是一个简单的例子
当你查询的命令在 文档库中不存在的时候,并且你初始化的时候设置了 chatgpt-key, wiki 命令会自动使用 chatgpt api 进行查询并返回。返回结果后会给一个提示,是否要把返回的结果提交到文档仓库,当你同意,wiki 命令会自动提交一个 pr 发送到 文档仓库:wiki-pages,让更多人可以直接查询到这个命令的文档。