项目简介

CLI Agent 是一个多功能的HTTP网关服务,它将HTTP请求桥接到多种AI CLI工具(Claude、Codex、Cursor、Gemini、Qwen)的无头模式,同时集成MCP工具链,为LLM应用提供统一的上下文服务框架。

主要功能

  • MCP工具集成:支持WebFetch、Playwright等MCP服务器的工具调用
  • 多CLI支持:统一接口调用Claude、Codex、Cursor、Gemini、Qwen等AI CLI工具
  • 会话管理:支持session_id和resume功能,实现多轮对话
  • 资源访问:通过Claude Skills功能访问本地文件和目录
  • 流式输出:支持Server-Sent Events(SSE)实时流式响应
  • Prompt模板:支持系统提示词和对话历史管理
  • 权限控制:支持bypassPermissions模式自动授权MCP工具使用

安装步骤

  1. 环境要求:Go 1.16或更高版本
  2. 构建项目
    go mod init claude-cli-gateway
    go build -o claude-cli-gateway

服务器配置

在MCP客户端配置中,需要设置服务器的启动命令和参数:

{
  "mcpServers": {
    "cli-agent": {
      "command": "./claude-cli-gateway",
      "args": ["-p", "8080"]
   }

配置说明

  • 'command':编译后的可执行文件路径
  • 'args':启动参数,如端口配置

基本使用方法

通过HTTP POST请求调用服务:

非流式请求

curl -X POST http://localhost:8080/chat \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "你的问题",
    "allowed_tools": ["WebFetch", "playwright"],
  "permission_mode": "bypassPermissions"
  }'

流式请求(启用SSE):

curl -N -X POST http://localhost:8080/chat \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "写一首诗",
    "stream": true

MCP工具调用示例

# 使用Playwright抓取网页
curl -X POST http://localhost:8080/chat \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "访问https://example.com获取内容并总结",
    "allowed_tools": ["playwright"],
    "permission_mode": "bypassPermissions"
  }'

该服务支持多种传输协议,包括Stdio和HTTP,能够为LLM客户端提供安全、可扩展的上下文服务。

信息

分类

开发者工具