Skip to content

fifsky/aishell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 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

No releases published

Packages

 
 
 

Contributors

Languages