Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 

Repository files navigation

AI Shell 助手 (aishell)

一个基于 AI 的智能终端命令生成工具,能够将自然语言转换为 Shell 命令并辅助执行。

功能特性

  • 🗣️ 自然语言交互:直接描述你的需求,自动生成对应的 Shell 命令。
  • 🧠 智能上下文:自动记录对话历史,支持多轮对话,能够理解之前的操作结果。
  • 🔄 执行反馈:命令执行的输出(标准输出和错误)会自动反馈给 AI,以便进行后续的错误修正或进一步操作。
  • 🛡️ 安全执行:生成的命令在执行前需要用户确认,防止误操作。
  • 📁 Session 管理:支持多会话管理,可在不同项目/任务间切换上下文。
  • 🧹 一键重置:支持 clear 命令快速清理对话上下文。
  • ⚙️ 可配置:支持开启/关闭 AI 思考模式 (Thinking Mode)。

依赖要求

  • bash
  • curl
  • jq (用于处理 JSON 数据)
  • fzf (可选,用于 Session 列表选择和删除功能)

macOS 安装依赖:

brew install jq fzf

安装与配置

1. 下载与授权

使用 wget 下载脚本到本地(例如 ~/aishell.sh):

wget -O ~/aishell.sh https://raw.githubusercontent.com/fifsky/aishell/refs/heads/main/aishell.sh

赋予执行权限:

chmod +x ~/aishell.sh

2. 配置环境变量

在使用之前,你需要配置 API 密钥和接口地址(可选)。

以 zsh 为例 (macOS/Linux 默认 Shell):

编辑你的 ~/.zshrc 文件,添加以下内容:

# 必填:配置 API 密钥
export AISHELL_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# 选填:配置 API 接口地址 (默认为 Moonshot AI 地址)
# export AISHELL_BASE_URL="https://api.moonshot.cn/v1/chat/completions"

# 选填:配置模型 (默认为 kimi-k2.5)
# export AISHELL_MODEL="kimi-k2.5"

# 选填:配置上下文保留条数 (默认为 100)
# export AISHELL_MAX_CONTEXT=100

# 选填:配置别名
alias ai="${HOME}/aishell.sh"

保存后,重载配置文件使生效:

source ~/.zshrc

3. 开始使用

配置完成后,你就可以直接使用 ai 命令了。

使用指南

基础用法

ai "查看当前目录下的所有 PDF 文件"

多轮对话示例

# 第一步
ai 查找最近修改的日志文件

# 第二步 (AI 会记得上一步的文件)
ai 把它们打包成 tar.gz

# 第三步 (执行出错时 AI 会尝试修复)
ai 解压刚才的包

输入的内容包含特殊字符(如空格),请用引号括起来。或者放入文本文件中使用cat 文件名 | ai

Session 管理

aishell 支持多会话管理,让你可以在不同的项目或任务之间保持独立的对话上下文。

切换/创建 Session

切换到指定名称的 session(如果不存在会自动创建):

ai session myproject

列出所有 Session

查看所有可用的 session 并快速切换(需要安装 fzf):

ai list

这将打开一个交互式列表,当前 session 会标有 * 号,选择后即可快速切换。

删除 Session

删除不需要的 session(支持多选,需要安装 fzf):

ai delete

注意:删除当前正在使用的 session 后,会自动切换到 default session。

不同 Session 的使用示例

# 在项目 A 的 session 中工作
ai session project-a
ai 查找所有的JavaScript文件

# 切换到项目 B 的 session,完全独立的上下文
ai session project-b
ai 查看当前的Git状态

# 列出所有 session
ai list

# 清理不再需要的 session
ai delete

清理上下文

当你想开始一个新的话题时,可以使用 clear 命令:

ai clear

高级配置

你可以直接编辑 aishell.sh 文件头部变量进行配置:

  • ENABLE_THINKING: 设置为 "true" 可开启 AI 的思考过程展示(取决于模型支持)。
  • MODEL: 切换使用的模型版本(默认 kimi-k2.5)。

About

A command-line AI assistant script that supports context, simple and lightweight

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages