npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@caoxupei/ai-agent-cli

v1.0.2

Published

A powerful AI coding agent with multi-provider support (Anthropic, OpenAI, Gemini)

Readme

AI Agent CLI

一个功能完整的 AI 编程助手命令行工具,支持多个 LLM 提供商(Anthropic Claude、OpenAI、Google Gemini)。

✨ 核心特性

🤖 多提供商支持

  • Anthropic Claude: Claude 3.5 Sonnet, Claude 3 Opus
  • OpenAI: GPT-4, GPT-3.5 Turbo
  • Google Gemini: Gemini 1.5 Pro, Gemini 1.5 Flash

🛠️ 15 个强大工具

基础文件操作

  • bash - 执行 Shell 命令
  • read_file - 读取文件内容
  • write_file - 创建或覆盖文件
  • edit_file - 精确编辑文件

高效搜索

  • Glob - 快速文件模式匹配(支持 **/*.ts 等模式)
  • Grep - 正则表达式内容搜索(支持上下文行)

智能交互

  • AskUserQuestion - 结构化提问(单选/多选)
  • TodoWrite - 任务管理和进度跟踪

高级功能

  • Task - 启动子代理执行复杂任务
  • Skill - 加载领域专业知识
  • EnterPlanMode - 进入规划模式
  • ExitPlanMode - 退出规划模式并提交计划

网络能力

  • WebFetch - 获取网页内容并转换为 Markdown
  • WebSearch - 搜索网络内容(使用 DuckDuckGo)

🚀 性能优化

  • 并行工具执行: 多个独立工具同时运行,性能提升 2-5 倍
  • 智能缓存: 减少重复 API 调用
  • 流式输出: 实时显示 AI 响应

🎨 增强的用户交互

  • 多行输入: Shift+Enter 换行支持,轻松输入长 Prompt
  • 外部编辑器: Ctrl+G 打开外部编辑器(VS Code/Vim/Nano)
  • 历史导航: ↑↓ 箭头浏览命令历史
  • Emacs快捷键: Ctrl+A/E/U/K/W 等编辑快捷键
  • Token 追踪: 实时显示 Token 使用情况(工具已实现)

🎯 子代理系统

  • explore - 只读探索代理(安全的代码库探索)
  • code - 代码编写代理(完整工具访问)
  • plan - 规划代理(设计实现方案)

📚 技能系统 (Production-grade)

目录结构

项目级 (.ai-agent/):
├── commands/     # 命令文件 (*.md)
└── skills/       # 技能目录 (*/SKILL.md)

用户级 (~/.ai-agent/):
├── commands/
├── skills/
└── plugins/

技能文件格式

---
name: my-skill
description: 技能描述
when_to_use: AI 自动调用条件
allowed-tools: [read_file, Glob]
model: sonnet
---
技能内容。使用 $ARGUMENTS 获取参数。

CLI 命令

/skill list       # 列出技能
/skill install    # 安装 (本地/GitHub)
/skill uninstall  # 卸载
/skill enable     # 启用
/skill disable    # 禁用

🔒 安全特性

  • 只读模式(explore 代理)
  • 路径验证和沙箱保护
  • 危险命令拦截

📁 项目结构

ai-agent-cli/
├── src/                          # 源代码目录
│   ├── entrypoints/             # 入口点
│   │   ├── cli.ts               # CLI 主入口
│   │   └── index.ts             # 库导出入口
│   │
│   ├── core/                    # 核心逻辑(无 UI 依赖)
│   │   ├── types.ts             # TypeScript 类型定义
│   │   ├── loop.ts              # 主代理循环(支持并行工具执行)
│   │   ├── agents.ts            # 子代理类型定义
│   │   ├── prompts.ts           # 系统提示词生成
│   │   ├── constants.ts         # 常量定义
│   │   ├── reminder.ts          # 智能提醒管理器
│   │   ├── planMode.ts          # 规划模式管理器
│   │   ├── projectContext.ts    # 项目上下文管理
│   │   └── outputStyles.ts      # 输出样式定义
│   │
│   ├── services/                # 服务层
│   │   ├── ai/                  # AI 服务
│   │   │   └── adapters/        # LLM 提供商适配器
│   │   │       ├── base.ts      # 抽象基类
│   │   │       ├── anthropic.ts # Anthropic Claude 适配器
│   │   │       ├── openai.ts    # OpenAI GPT 适配器
│   │   │       ├── gemini.ts    # Google Gemini 适配器
│   │   │       └── factory.ts   # 适配器工厂
│   │   ├── config/              # 配置服务
│   │   │   ├── Config.ts        # 配置管理类
│   │   │   ├── configStore.ts   # 配置持久化存储
│   │   │   ├── setup.ts         # 交互式配置向导
│   │   │   └── types.ts         # 配置类型定义
│   │   ├── system/              # 系统服务
│   │   │   └── security.ts      # 安全验证(路径/命令检查)
│   │   ├── customCommands.ts    # 命令/技能加载器 (Production-grade)
│   │   └── skillMarketplace.ts  # 技能市场 (安装/卸载/启用/禁用)
│   │
│   ├── tools/                   # 工具实现(按功能分组)
│   │   ├── definitions.ts       # 工具定义(JSON Schema)
│   │   ├── dispatcher.ts        # 工具分发器
│   │   ├── types.ts             # 工具类型定义
│   │   ├── filesystem/          # 文件系统工具
│   │   │   ├── bash.ts          # Bash 命令执行
│   │   │   ├── fileOps.ts       # 文件操作(read/write/edit)
│   │   │   └── index.ts
│   │   ├── search/              # 搜索工具
│   │   │   ├── glob.ts          # 文件模式匹配
│   │   │   ├── grep.ts          # 内容搜索
│   │   │   └── index.ts
│   │   ├── interaction/         # 交互工具
│   │   │   ├── askQuestion.ts   # 用户提问
│   │   │   ├── todo.ts          # 任务管理
│   │   │   └── index.ts
│   │   ├── agent/               # 代理工具
│   │   │   ├── task.ts          # 子代理任务
│   │   │   ├── planMode.ts      # 规划模式工具
│   │   │   └── index.ts
│   │   ├── ai/                  # AI 工具
│   │   │   ├── skill.ts         # 技能加载 (Production-grade)
│   │   │   └── index.ts
│   │   └── network/             # 网络工具
│   │       ├── webFetch.ts      # 网页获取
│   │       ├── webSearch.ts     # 网络搜索
│   │       └── index.ts
│   │
│   │
│   ├── utils/                   # 通用工具
│   │   ├── cursor.ts            # 光标和文本操作 (Immutable Cursor)
│   │   ├── tokenCounter.ts      # Token 计数与显示 (API usage)
│   │   ├── modelConfig.ts       # 模型参数配置
│   │   └── externalEditor.ts    # 外部编辑器集成
│   │
│   └── ui/                      # UI 组件(独立于 core)
│       ├── index.ts             # UI 模块导出
│       ├── theme.ts             # 终端主题配置
│       ├── utils.ts             # UI 工具函数
│       └── components/          # UI 组件
│           ├── Banner.ts        # 启动横幅
│           ├── Input.ts         # 输入组件(基于 Cursor 类)
│           ├── Logo.ts          # Logo 显示
│           ├── Messages.ts      # 消息显示
│           ├── Spinner.ts       # 思考动画
│           └── ToolDisplay.ts   # 工具调用显示
│
├── .ai-agent/                    # 项目级技能配置
│   ├── skills/                  # 技能目录 (*/SKILL.md)
│   └── commands/                # 命令文件 (*.md)
│
├── bin/                          # 可执行文件
│   └── ai-agent-cli.js          # CLI 入口
│
├── dist/                         # 编译输出(TypeScript → JavaScript)
│
├── .env.example                  # 环境变量示例
├── package.json                  # 项目配置
├── tsconfig.json                 # TypeScript 配置
├── INSTALLATION.md               # 安装指南
├── QUICKSTART.md                 # 快速开始
└── README.md                     # 本文档

🚀 快速开始

安装

# 克隆仓库
git clone https://github.com/your-username/ai-agent-cli.git
cd ai-agent-cli

# 安装依赖
npm install

# 配置环境变量
cp .env.example .env
# 编辑 .env 文件,添加你的 API 密钥

配置 API 密钥

.env 文件中配置至少一个提供商的 API 密钥:

# Anthropic Claude
ANTHROPIC_API_KEY=your_anthropic_key

# OpenAI
OPENAI_API_KEY=your_openai_key

# Google Gemini
GEMINI_API_KEY=your_gemini_key

运行

# 开发模式
npm run dev

# 构建并运行
npm run build
npm start

💡 使用示例

基础对话

>>> 帮我创建一个 TypeScript 项目

使用子代理

>>> 使用 explore 代理查找所有 TypeScript 文件

规划模式

>>> 进入规划模式,设计一个用户认证系统

网络搜索

>>> 搜索 React 18 的新特性

⚙️ 配置

环境变量

| 变量名 | 说明 | 必需 | |--------|------|------| | ANTHROPIC_API_KEY | Anthropic Claude API 密钥 | 可选 | | OPENAI_API_KEY | OpenAI API 密钥 | 可选 | | GEMINI_API_KEY | Google Gemini API 密钥 | 可选 | | DEFAULT_PROVIDER | 默认提供商 (anthropic/openai/gemini) | 否 | | DEFAULT_MODEL | 默认模型名称 | 否 |

提供商和模型

Anthropic Claude:

  • claude-3-5-sonnet-20241022 (推荐)
  • claude-3-opus-20240229

OpenAI:

  • gpt-4-turbo-preview
  • gpt-3.5-turbo

Google Gemini:

  • gemini-1.5-pro
  • gemini-1.5-flash

🛠️ 开发

项目脚本

# 开发模式(热重载)
npm run dev

# 构建项目
npm run build

# 运行测试
npm test

# 代码检查
npm run lint

# 修复代码风格
npm run lint:fix

技术栈

  • 语言: TypeScript 5.3+
  • 运行时: Node.js 18+
  • 依赖管理: npm
  • 构建工具: tsc
  • 测试框架: Vitest
  • 代码检查: ESLint

相关文档

参考项目

致谢

感谢 shareAI Lab 提供的优秀教育资源和设计理念。

🌟 特别说明

本项目是功能完整的生产级工具。