ZM

zhanjindong/mini-claude-code

开发工具
10 stars 质量 52 趋势 8

一个轻量级的 Claude Code 风格 CLI 工具,支持多 LLM 提供商。

概览

一个轻量级的 Claude Code 风格 CLI 工具,支持多 LLM 提供商。 用 ~7000 行 TypeScript 实现了 Claude Code 的核心交互体验:流式对话、工具调用、Skills、MCP、Hooks、权限、会话管理等完整功能。 Skills 是用 Markdown + YAML frontmatter 定义的可复用指令模板。 模型会在 system prompt 中看到可用的 skills 列表,当任务匹配时自动通过 Skill tool 调用。

README

Mini Claude Code

一个轻量级的 Claude Code 风格 CLI 工具,支持多 LLM 提供商。

用 ~7000 行 TypeScript 实现了 Claude Code 的核心交互体验:流式对话、工具调用、Skills、MCP、Hooks、权限、会话管理等完整功能。

平台支持: 当前对 macOS 支持友好,Windows 平台暂未支持。

功能一览

类别 功能 说明
LLM 集成 多提供商支持 MiniMax、DeepSeek、OpenAI、OpenRouter、Qwen 及任何 OpenAI 兼容 API
交互式登录 /login 运行时选择 Provider 并输入 API Key,无需预设环境变量
流式输出 实时流式输出模型回复,支持 `` 标签过滤
Token 统计 实时跟踪 input/output token 用量(/cost)
自动上下文压缩 对话接近上下文窗口时自动摘要压缩,也可手动 /compact
内置工具 Bash Shell 命令执行,超时控制
Read 文件读取,支持行范围
Write 文件创建/覆写
Edit 精确字符串替换编辑
Glob 文件模式匹配搜索
Grep 正则表达式内容搜索
WebFetch URL 内容抓取,自动 HTML 文本提取
Agent 启动独立子 Agent 处理复杂多步骤任务
TaskCreate/Update/List 会话级任务跟踪,多步操作进度管理
Skill 模型自动调用 Skill 指令模板
Skills 系统 Markdown 定义 用 YAML frontmatter + Markdown 定义可复用指令模板
双级加载 项目级 .claude/skills/ + 用户级 ~/.claude/skills/
参数支持 支持 {{ argument }} 模板变量
双向调用 用户通过 /skill-name 调用,模型通过 Skill tool 自动调用
MCP 协议 stdio 传输 通过 JSON-RPC 2.0 over stdin/stdout 连接 MCP 服务器
自动发现 启动时连接配置的 MCP 服务器并自动注册其工具
配置加载 支持项目级 .claude/mcp.json 和用户级 ~/.claude/mcp.json
Hooks 系统 生命周期钩子 beforeToolUse(可阻断工具执行)和 afterToolResult
工具过滤 可按工具名精确匹配或匹配所有工具
环境变量注入 自动注入 TOOL_NAME、TOOL_INPUT、TOOL_RESULT
权限系统 分级权限 工具声明 safe/write/execute 权限级别
交互式授权 write/execute 工具执行前提示用户 y/a/n/d 确认
会话级 & 持久化 allow-always/deny-always 持久化到 ~/.claude/config.json
权限管理 /permissions 查看、重置权限规则
上下文系统 CLAUDE.md 加载 自动加载用户级、父目录、项目级、项目 .claude/、local 五层配置
优先级合并 用户级 → 父目录(远→近)→ 项目级 → project-local
配置系统 四层合并 defaults ← ~/.claude/config.json ← .claude/config.json ← 环境变量 ← CLI 参数
环境变量 MCC_API_KEY、MCC_PROVIDER、MCC_MODEL、MCC_BASE_URL
会话管理 自动保存 对话自动持久化到 ~/.claude/sessions/
恢复会话 --resume 或 /resume 恢复最近会话
会话列表 /sessions 查看历史会话
交互体验 REPL 交互 完整的命令行交互界面
单次模式 -p 或直接传参运行单次提问
命令自动补全 / 开头输入弹出下拉菜单,Tab 补全,上下键选择
多行粘贴 自动检测多行粘贴,折叠显示为 [Pasted text] 指示器
Markdown 渲染 终端内渲染标题、代码块、列表、链接、加粗/斜体等
Diff 渲染 /diff 彩色显示 git diff(增/删/修改行高亮)
Thinking Spinner 等待模型响应时显示动画加载指示器
中断支持 Ctrl+C / Escape 中断正在进行的请求

快速开始

# 安装依赖
pnpm install

# 方式一:直接启动,通过 /login 交互式配置
npx tsx src/index.ts

# 方式二:环境变量指定 API Key
MCC_API_KEY=your-key npx tsx src/index.ts

# 指定提供商
MCC_API_KEY=your-key npx tsx src/index.ts --provider deepseek
MCC_API_KEY=your-key npx tsx src/index.ts --provider openai
MCC_API_KEY=your-key npx tsx src/index.ts --provider openrouter
MCC_API_KEY=your-key npx tsx src/index.ts --provider qwen

# 自定义 API 地址
MCC_API_KEY=your-key npx tsx src/index.ts --base-url https://your-api.com/v1 --model your-model

# 单次提问模式
MCC_API_KEY=your-key npx tsx src/index.ts "解释这个项目的结构"

REPL 命令

命令 说明
/help 显示帮助
/login 交互式选择 Provider 并输入 API Key
/model 运行时切换模型
/clear 清空对话历史
/compact 压缩对话历史(LLM 摘要)
/cost 查看 token 用量
/resume 恢复最近的会话
/sessions 列出已保存的会话
/diff 彩色显示 git diff
/status 显示 git status
/skills 列出已加载的 Skills
/hooks 列出已加载的 Hooks
/mcp 列出 MCP 服务器和工具
/permissions 查看/重置权限规则
/tasks 列出所有任务
/exit 退出

Skills 系统

Skills 是用 Markdown + YAML frontmatter 定义的可复用指令模板。

目录结构

.claude/skills/     # 项目级(优先级高)
  commit/
    SKILL.md
  hello/
    SKILL.md

~/.claude/skills/   # 用户级
  my-skill/
    SKILL.md

项目级 skill 会覆盖同名的用户级 skill。

Skill 文件格式

---
name: commit
description: Create a well-formatted git commit
when_to_use: When the user asks to commit code changes
allowed_tools: Bash, Read
arguments: message
---

Please help me create a git commit:

1. First run `git status` and `git diff --cached` to see staged changes
2. Generate a concise commit message based on the changes
3. User's note: {{ message }}
4. Execute the commit

使用方式

用户手动调用:

❯ /commit fix typo

模型自动调用: 模型会在 system prompt 中看到可用的 skills 列表,当任务匹配时自动通过 Skill tool 调用。

项目结构

src/
  index.ts          # 入口,REPL 交互、命令菜单、粘贴检测
  engine.ts         # 查询引擎,流式调用 + 工具执行循环 + 自动压缩
  types.ts          # 类型定义
  config.ts         # 四层配置加载与合并
  context.ts        # CLAUDE.md 上下文文件加载
  permissions.ts    # 权限系统(分级授权 + 交互式提示)
  hooks.ts          # Hooks 生命周期管理
  session.ts        # 会话持久化与恢复
  mcp.ts            # MCP 协议客户端(stdio 传输)
  skills.ts         # Skills 加载、解析、执行
  tasks.ts          # 会话级任务跟踪
  markdown.ts       # 终端 Markdown 渲染 + Diff 渲染
  tools/
    index.ts        # 工具注册表 + MCP 工具注册
    bash.ts         # Shell 命令执行
    read.ts         # 文件读取
    write.ts        # 文件写入
    edit.ts         # 文件编辑(字符串替换)
    glob.ts         # 文件模式匹配
    grep.ts         # 内容搜索
    webfetch.ts     # URL 内容抓取
    agent.ts        # 子 Agent 启动
    task.ts         # 任务管理工具(Create/Update/List)

License

MIT

在 GitHub 查看完整 README

推荐工具

换一个关键词,或者移除筛选条件。

安装

npx skillfish add zhanjindong/mini-claude-code
新手?先看 mcpskill.org 教程 →