MCPcopy
hub / github.com/BuilderIO/ai-shell

github.com/BuilderIO/ai-shell @v1.0.12 sqlite

repository ↗ · DeepWiki ↗ · release v1.0.12 ↗
49 symbols 145 edges 17 files 0 documented · 0%
README

AI Shell logo

一个将自然语言转换为 Shell 命令的 CLI。

Current version

Gif Demo

GitHub Copilot X CLI 启发, 但是面向所有人开源.

AI Shell

安装

最低支持的 Node.js 版本是 v14

  1. 安装 ai shell:

sh npm install -g @builder.io/ai-shell

  1. OpenAI 获取您的 API 密钥

注意:如果您还没有创建帐户并设置计费方式,您需要先进行这些步骤。

  1. 设置密钥以便 ai-shell 可以使用它:

sh ai config set OPENAI_KEY=<your token>

这将在您的主目录中创建一个名为 .ai-shell 的文件。

使用

ai <prompt>

例如:

ai 查找所有.log文件

然后您将会得到如下输出,您可以选择运行建议的命令、通过提示修改命令或者取消:

◇  您的脚本:
│
│  find . -name "*.log"
│
◇  解释:
│
│  这个脚本的步骤如下:
│  1. 在当前目录下搜索所有后缀为".log"的文件。
│  2. 输出所有找到的文件的路径。
│
◆  运行这个脚本?
│  ● ✅ 是 (开始运行吧!)
│  ○ 📝 修改
│  ○ ❌ 取消
└

特殊字符

请注意,某些 shell 会处理某些特殊字符,如 ?* 或看起来像是文件路径的字符。如果您遇到奇怪的行为,可以将提示符用引号括起来以避免问题,例如下面的示例:

ai '我的 IP 地址是什么?'

聊天模式

Chat demo

ai chat

通过此模式,您可以直接通过 CLI 与 AI 进行对话,并以自然、对话式的方式获得有用的响应:

┌  开始新的对话
│
◇  您:
│  在 Express 中如何进行重定向服务?
│
◇  AI Shell:

在 Express 中,您可以使用 `redirect()` 方法来进行重定向服务。`redirect()` 方法接受一个参数,即您要重定向到的 URL。

以下是一个示例:

\`\`\`js
app.get('/oldurl', (req, res) => {
  res.redirect('/newurl');
});
\`\`\`

静默模式(跳过解释)

您可以使用 -s--silent 标志来禁用和跳过解释部分。

ai -s 列出所有日志文件

或者使用以下命令将选项保存为首选项:

ai config set SILENT_MODE=true

自定义 API 端点

您可以自定义 OpenAI API 端点以设置 OPENAI_API_ENDPOINT(默认值为 https://api.openai.com/v1)。

ai config set OPENAI_API_ENDPOINT=<your proxy endpoint>

设置语言

Language UI

AI Shell 的默认语言是英文,但您也可以参考下列语言对应的键,来设置您需要的语言界面:

语言 键值
English en
简体中文 zh-Hans
繁体中文 zh-Hant
Español es
日本語 jp
한국어 ko
Français fr
Deutsch de
Русский ru
Українська uk
Tiếng Việt vi
العربية ar
Português pt

例如,您要将语言设置为简体中文,可以在设置 LANGUAGE 的值为 zh-Hans:

ai config set LANGUAGE=zh-Hans

这样您的语言就设置为了简体中文

配置界面

如果要使用更可视化的界面查看和设置配置选项,可以键入:

ai config

要获取如下所示的交互式 UI:

◆  Set config:
│  ○ OpenAI Key
│  ○ OpenAI API Endpoint
│  ○ Silent Mode
│  ● Model (gpt-4o-mini)
│  ○ Language
│  ○ Cancel
└

升级

使用以下命令检查已安装的版本:

ai --version

如果它不是最新版本,请运行:

npm update -g @builder.io/ai-shell

或者只需使用 AI shell:

ai update

常见问题

429 错误

一些用户报告了来自 OpenAI 的 429 错误。这是由于错误的计费设置或过度使用配额所致。请按照此指南进行修复。

您可以在此链接上激活计费。如果没有获得 OpenAI 的活动赠款,请确保添加支付方式。

动机

我不是一个 bash 巫师,迫切需要访问 copilot CLI,但我已经等不急了。

贡献

如果您想在 Issues 中修复错误或实现功能(提示:注意 help wanted 标签),请查看 Contribution Guide 以了解如何设置项目。

致谢

  • 感谢 GitHub Copilot 提供的惊人工具和这个想法
  • 感谢 Hassan 和他在 aicommits 上的工作,这启发了工作流程和部分代码和流程。

社区

欢迎加入 Builder.io Discord 并在 #ai-shell 房间与我们聊天。

     <img width="250" alt="Made with love by Builder.io" src="https://user-images.githubusercontent.com/844291/230786555-a58479e4-75f3-4222-a6eb-74c5af953eac.png">

Core symbols most depended-on inside this repo

hasOwn
called by 7
src/helpers/config.ts
getConfig
called by 6
src/helpers/config.ts
setConfigs
called by 6
src/helpers/config.ts
readData
called by 5
src/helpers/completion.ts
streamToIterable
called by 4
src/helpers/stream-to-iterable.ts
generateCompletion
called by 4
src/helpers/completion.ts
handleCliError
called by 3
src/helpers/error.ts
runScript
called by 2
src/prompt.ts

Shape

Function 47
Class 2

Languages

TypeScript100%

Modules by API surface

src/helpers/completion.ts13 symbols
src/helpers/config.ts12 symbols
src/prompt.ts9 symbols
src/helpers/shell-history.ts3 symbols
src/helpers/i18n.ts3 symbols
src/helpers/error.ts3 symbols
src/commands/chat.ts2 symbols
src/helpers/strip-regex-patterns.ts1 symbols
src/helpers/stream-to-string.ts1 symbols
src/helpers/stream-to-iterable.ts1 symbols
src/helpers/os-detect.ts1 symbols

Dependencies from manifests, versioned

@clack/corelatest · 1×
@clack/promptslatest · 1×
@dqbd/tiktoken1.0.2 · 1×
@nexssp/os2.0.35 · 1×
@types/dedent0.7.0 · 1×
@types/ini1.3.31 · 1×
@types/node18.15.11 · 1×
@typescript-eslint/eslint-plugin5.57.1 · 1×
@typescript-eslint/parser5.57.1 · 1×
axios1.3.5 · 1×
cleye1.3.2 · 1×
clipboardy2.3.0 · 1×

For agents

$ claude mcp add ai-shell \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact