mcpField
S
SHELL-AI

SHELL-AI

github.com/nishant9083编码 Agent1560 周前更新

关于 SHELL-AI

SHELL-AI 是用于通过 Agent 操作本地 Ollama 模型的命令行客户端,支持调用工具。它面向需要处理终端和文件任务并扩展 MCP 服务的用户,推理在本机运行。

主要功能

  1. 01使用本地 Ollama 模型
  2. 02具备任务工具的 ReAct Agent
  3. 03文件与 Shell 操作
  4. 04发现 MCP 服务工具
  5. 05交互式日志查看器

适用场景

  1. 01让 Agent 检查或编辑文件
  2. 02经确认后执行 Shell 命令
  3. 03通过 MCP 服务扩展 Agent 工具
  4. 04在日志查看器中监控 Agent 活动

MCP 相关

SHELL-AI 可通过 HTTP、SSE 或 STDIO 连接外部 MCP 服务,并支持多种认证方式。它会发现服务提供的工具并加入 Agent 的工具注册表。

详细介绍

Shell AI

一个由 Ollama 本地 AI 模型驱动的强大智能shell助手。Shell AI 将先进的 AI 能力直接带入你的终端,支持与文件系统、shell 命令和开发工作流进行自然语言交互。

一个强大、轻量级的命令行界面,用于与本地 AI 模型(由 Ollama 驱动)交互。该项目灵感来自于 Google 的 Gemini-CLI,适配为本地运行并增强了强大的 Agent 能力。

NPM Version GitHub Stars License Issues PRs Welcome

功能特性

  • 🧠 智能 Agent:使用 ReAct(理由-行动)Agent 模型,能够推理你的请求并使用一套工具完成复杂任务。
  • 🔗 Model Context Protocol (MCP) 集成:连接到外部 MCP 服务以扩展功能,支持自定义工具和服务。
  • 🎯 零网络推理:使用 Ollama 完全在本地运行,确保隐私和离线功能。
  • 🛠️ 广泛的工具集:提供丰富的工具集,用于文件系统操作、shell 命令执行、网络搜索等。
  • 📊 增强的日志记录:交互式日志查看器,支持实时筛选和导航,便于调试和监控。
  • ⚙️ TypeScript 支持:完全使用 TS 5.x 进行类型定义,确保开发的健壮性。
  • 📦 模块化工作区:分离的 core 和 cli 包提供清晰的架构和可维护性。

目录

https://github.com/user-attachments/assets/12a96147-797e-48a2-9fa3-3824d5b050fe

安装

npm install -g @shell-ai/cli

或直接使用 npx 运行:

npx @shell-ai/cli

确保你已安装 Ollama 并拉取了一个模型:

ollama pull gpt-oss

使用

# Start an interactive chat session
shell-ai

# Use a specific model
shell-ai --model mistral
选项
选项描述
-m, --model <model>指定 Ollama 模型。
-t, --temperature <temp>设置模型的温度。
-s, --system <prompt>提供自定义系统提示词。
-h, --help显示帮助。

交互模式

交互式聊天

运行不带任何参数的 shell-ai 来启动交互会话。你可以与 AI 聊天,它将使用工具来回答问题或执行任务。

$ shell-ai
> What is the current directory?
... agent thinking ...
> The current directory is /home/user/project. It contains 5 files and 2 directories.
> /help
... shows help menu ...
斜杠命令

在交互式聊天中,你可以使用斜杠命令执行特定操作:

命令描述
/help显示可用的命令和工具。
/model在可用的 Ollama 模型之间切换。
/info显示关于 Agent 的统计信息。
/clear清除当前对话历史。
/exit结束当前会话。

可用工具

Agent 可以访问以下工具来执行任务:

工具描述
file-read读取文件的内容。
file-write将内容写入文件。
file-edit编辑特定行或执行查找和替换。
file-search在文件中搜索文本模式。
shell-exec执行 shell 命令。需要用户确认。
directory-list列出路径中的文件和目录。
current-directory获取当前工作目录及其内容。
web-search执行网络搜索。
wikipedia-search在维基百科上搜索文章。
memory-add向 Agent 的长期记忆添加事实。
memory-retrieve从 Agent 的记忆中检索事实。
search-file-content一个功能强大的类似 grep 的工具,用于查找文件内容。

Model Context Protocol (MCP) 集成

Shell AI 支持 Model Context Protocol (MCP),允许你通过连接外部 MCP 服务来扩展功能。这使得能够与数据库、API、自定义工具和第三方服务集成。

MCP 配置

在 ~/.shell-ai/mcp.json 创建配置文件来定义你的 MCP 服务:

{
  "servers": [
    {
      "name": "github-server",
      "enabled": true,
      "http": {
        "url": "https://api.github.com/mcp",
        "auth": {
          "type": "bearer",
          "token": "your_github_token"
        }
      },
      "description": "GitHub MCP server integration"
    }
  ],
  "globalTimeout": 30000,
  "maxConcurrentConnections": 10,
  "enableAutoReconnect": true
}
支持的传输类型
  • HTTP:支持身份验证的标准 HTTP 连接
  • SSE:用于实时通信的服务器发送事件
  • STDIO:用于开发的本地进程通信
身份验证方法
  • Bearer Token:用于 OAuth2 和 API 令牌
  • Basic Auth:用户名/密码身份验证
  • API Key:自定义 API 密钥头
  • OAuth2:完整的 OAuth2 流程支持
可用的 MCP 工具

连接后,MCP 服务会自动将其工具暴露给 Shell AI Agent。工具是动态发现的,并集成到现有的工具注册表中。

日志和调试

Shell AI 包含一个综合日志系统,可帮助你监控和调试 Agent 操作:

交互式日志查看器

使用 /logs 斜杠命令访问日志查看器。查看器提供:

  • 实时日志更新:在生成日志时立即查看
  • 级别过滤:按日志级别过滤(info、warn、error、debug)
  • 键盘导航:
    • 箭头键:在日志中导航
    • Page Up/Down:滚动多个页面
    • 数字键 (1-5):按级别快速过滤
    • 'c':清除所有日志
    • 'q' 或 Escape:退出查看器
日志级别
  • Info:关于操作的一般信息
  • Warn:不停止执行的警告消息
  • Error:失败操作的错误消息
  • Debug:详细的调试信息

日志条目包含时间戳、源信息和结构化详情,用于全面调试。

配置

你可以通过主目录中的 .shell-ai-config 文件设置默认值。

开发

该仓库是使用 npm workspaces 的单一存储库。

# Install dependencies
npm install

# Build all packages
npm run build

# Run tests
npm test

# Development mode
npm run dev
发布
# Build and test before publishing
npm run prepublishOnly

# Publish the CLI package
npm publish --workspace @shell-ai/cli --access public

# Publish the core package
npm publish --workspace @shell-ai/core --access public

贡献

欢迎提交 issue 和 pull request!请阅读 CONTRIBUTING.md 指南了解详情。

  1. Fork 该仓库。
  2. 创建功能分支。
  3. 运行测试和 lint。
  4. 开启 pull request。

许可证

Apache-2.0 © 2025 Shell AI Team

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。