引言:智能化的命令行助手
在当今快速发展的技术世界中,开发者们不断寻求能够提高工作效率的工具。CleverCLI应运而生,它将ChatGPT等强大的AI模型引入命令行界面,为开发者提供了一个智能化的助手。无论是需要快速查询信息、生成代码片段,还是进行文本处理,CleverCLI都能够满足开发者的多样化需求。
CleverCLI简介
CleverCLI是一个基于OpenAI模型(如ChatGPT)的命令行工具。它的主要特点是能够轻松添加新的提示类型,并且拥有一个不断增长的社区维护提示列表。这意味着用户可以根据自己的需求自定义提示,也可以使用其他开发者贡献的提示类型。
主要功能
CleverCLI提供了多种实用功能,包括但不限于:
- 生成Unix命令
- 解释复杂概念(ELI5)
- 代码重构和转换
- 文本摘要
- 正则表达式生成
- 添加JSDoc注释
这些功能使CleverCLI成为开发者日常工作中的得力助手,能够显著提高工作效率。
安装和设置
要开始使用CleverCLI,你需要先进行安装和基本设置。
安装步骤
CleverCLI可以通过npm轻松安装。在终端中运行以下命令:
npm install -g @clevercli/cli
需要注意的是,CleverCLI要求Node.js版本在v16及以上。
API密钥设置
CleverCLI依赖于OpenAI的API,因此你需要设置OpenAI API密钥。可以通过以下步骤完成:
- 获取OpenAI API密钥:访问OpenAI API密钥页面
- 将API密钥添加到你的shell配置文件中(如
~/.bashrc
或~/.zshrc
):
export OPENAI_API_KEY="你的OpenAI API密钥"
完成这些步骤后,你就可以开始使用CleverCLI了。
使用方法
CleverCLI的使用方法非常简单直观。基本语法如下:
clevercli <提示类型> <提示输入>
你也可以通过标准输入(stdin)来提供输入:
echo "<提示输入>" | clevercli <提示类型>
使用示例
让我们来看几个具体的使用示例,以便更好地理解CleverCLI的强大功能:
-
生成Unix命令:
$(clevercli unix-command "撤销最后一次提交")
-
解释复杂概念:
clevercli eli5 "为什么天空是蓝色的?"
-
代码转换:
clevercli convert-to-rust < index.ts > main.rs
-
文本摘要:
man du | clevercli summarize
这些示例展示了CleverCLI在不同场景下的应用,从代码处理到知识查询,都能轻松胜任。
内置提示类型
CleverCLI提供了多种内置的提示类型,每种类型都针对特定的使用场景。以下是一些常用的内置提示类型:
- ask:直接将输入传递给ChatGPT
- eli5:以5岁孩子能理解的方式解释复杂概念
- joke:根据给定主题生成笑话
- refactor:重构代码文件
- poem:创作与给定主题相关的小诗
- recipe:根据给定食材推荐食谱
- summarize:生成文本摘要
- synonyms:列出输入单词的同义词
- convert-to-rust:将代码转换为Rust语言
- convert-to-typescript:将代码转换为TypeScript
- unix-command:根据描述生成Unix命令
- regex:生成匹配给定示例的JavaScript正则表达式
- jsdoc:为导出的函数添加JSDoc注释
这些内置提示类型涵盖了开发者日常工作中的多种需求,从代码转换到文档生成,再到问题解答,都能找到对应的功能。
自定义提示
CleverCLI的一大特色是允许用户自定义提示类型,这大大增强了工具的灵活性和可扩展性。
添加自定义提示
要添加自定义提示,只需在~/.clevercli/
目录下创建一个.mjs
文件,文件名即为提示类型名。文件需要导出一个符合PromptConfiguration
接口的对象。
例如,创建一个名为eli5.mjs
的文件:
// eli5.mjs
export default {
createPrompt(input) {
return `Provide a very detailed explanation but like I am 5 years old (ELI5) on this topic: ${input}.
###
`;
},
};
这样,你就可以使用clevercli eli5 <主题>
来获取针对5岁儿童的解释了。
添加内置提示
如果你开发了一个非常有用的提示类型,也可以考虑将其添加为CleverCLI的内置提示。步骤如下:
- Fork CleverCLI的GitHub仓库
- 在
./src/prompts/
目录下创建新的提示配置文件 - 提交Pull Request
通过这种方式,你的贡献可以惠及更多的CleverCLI用户。
高级功能
除了基本的提示功能,CleverCLI还提供了一些高级特性,以提升用户体验和工作效率。
缓存机制
CleverCLI会将查询结果缓存在本地文件系统的缓存目录中。这意味着相同的查询可以快速获得响应,无需重复请求API,从而节省时间和API调用次数。
调试模式
如果你在使用过程中遇到问题,或者想了解CleverCLI的内部工作原理,可以使用调试模式。只需在命令前添加DEBUG="clevercli:*"
环境变量:
DEBUG="clevercli:*" clevercli eli5 "友谊"
这将输出详细的调试信息,帮助你诊断问题或了解工具的工作流程。
未来展望
CleverCLI团队有着雄心勃勃的计划,以进一步增强工具的功能和用户体验。以下是一些计划中的功能:
- 实现流式API,提供更快的响应速度
- 改进命令行参数解析和选项处理
- 添加GitHub工作流和自动化测试
- 支持更老版本的Node.js
- 当OPENAI_API_KEY未设置时,交互式提示用户输入API密钥并保存
- 实现分布式缓存,不仅限于本地缓存
这些计划中的功能将使CleverCLI变得更加强大和易用,为开发者提供更好的工作体验。
结语
CleverCLI作为一款ChatGPT驱动的智能命令行工具,为开发者提供了强大而灵活的功能。它不仅能够提高日常开发工作的效率,还能激发创造力,帮助解决复杂问题。通过内置提示和自定义提示的结合,CleverCLI可以适应各种不同的工作场景和个人需求。
随着AI技术的不断发展,我们可以期待CleverCLI在未来会变得更加智能和强大。无论是代码生成、问题解答,还是创意写作,CleverCLI都将成为开发者不可或缺的得力助手。
如果你还没有尝试过CleverCLI,现在就是开始的好时机。安装简单,使用方便,它将为你的开发工作带来全新的体验。让我们一起拥抱AI时代,让智能工具为我们的工作增添效率与乐趣!
🚀 立即访问CleverCLI的GitHub仓库,开始你的智能命令行之旅吧!