Repository files navigation

MinAgent

A production-grade AI agent CLI built with Bun, React 19, and Ink 7. Universal model support, powerful tools, and a terminal-native UX that rivals proprietary solutions.

一个基于 BunReact 19Ink 7 构建的生产级 AI Agent CLI。支持任何大模型、拥有丰富的工具集、以及媲美商业产品的终端原生体验。


Features / 特性

  • Universal Model Support / 通用模型支持
    Works with any OpenAI-compatible API endpoint: OpenAI, Anthropic, Gemini, Azure, DeepSeek, Ollama, vLLM, and more. No hardcoded defaults — you control the provider.
    兼容 任何 OpenAI-compatible API 端点:OpenAI、Anthropic、Gemini、Azure、DeepSeek、Ollama、vLLM 等。无硬编码默认模型,完全由用户配置。

  • 26 Built-in Tools / 26 个内置工具 File read/write/edit, grep, glob, tree, bash execution, web fetch/search, sub-agents, code execution (Python/Node/Bash), todo tracking, skill management, and more. 文件读写编辑、代码搜索、文件查找、目录树、Shell 执行、网页抓取/搜索、子 Agent、代码执行(Python/Node/Bash)、待办追踪、Skill 管理等。

  • Smart Permission System / 智能权限系统
    5 modes: default, plan, acceptEdits, bypassPermissions, dontAsk. Destructive tools require confirmation by default.
    5 种模式:defaultplanacceptEditsbypassPermissionsdontAsk。默认情况下破坏性操作需要确认。

  • Terminal-First UX / 终端原生体验
    Built with React + Ink for a rich terminal UI: streaming responses, tool call visualization, reasoning display, command autocomplete, input history, and plan mode batch approval.
    基于 React + Ink 构建的丰富终端 UI:流式响应、工具调用可视化、推理过程显示、命令自动补全、输入历史、批量审批模式。

  • GitHub Integration / GitHub 集成
    Native commands for PRs, issues, branches, commits, and more via gh CLI.
    通过 gh CLI 原生支持 PR、Issue、分支、提交等操作。

  • Session Management / 会话管理
    Persistent sessions, auto-compaction, context file management, @mention auto-loading, and cost tracking.
    持久化会话、自动压缩、上下文文件管理、@mention 自动加载、成本追踪。

  • Skills System / Skill 系统 Built-in TypeScript skills plus Markdown SKILL.md skills with progressive disclosure, turn/session scopes, supporting files, pinning, and background curation. 支持内置 TypeScript Skill,也支持基于 Markdown SKILL.md 的渐进式 Skill:可按轮次或会话保持作用域,支持引用文件、固定与后台整理。

  • Production-Ready / 生产就绪
    Zero TypeScript errors (strict mode), LLM error classification with smart retry, workspace auto-detection, and test framework auto-discovery.
    TypeScript 严格模式零错误、LLM 错误分类与智能重试、工作区自动检测、测试框架自动发现。


Quick Start / 快速开始

1. Install Bun / 安装 Bun

curl -fsSL https://bun.sh/install | bash

2. Clone & Install / 克隆并安装

git clone https://github.com/BruceL017/minagent.git
cd minagent
bun install

3. Configure / 配置

Set your API key and model via environment variables:
通过环境变量配置 API Key 和模型:

export MINA_PROVIDER="generic"# openai | anthropic | genericexport MINA_API_KEY="..."# Your API key / 你的 API 密钥export MINA_MODEL="..."# Model name / 模型名称export MINA_BASE_URL="..."# Custom API endpoint / 自定义 API 端点

Or use persistent config (stored in ~/.minagent/config.json):
或使用持久化配置(存储在 ~/.minagent/config.json):

bun run src/main.tsx
/config MINA_PROVIDER generic
/config MINA_API_KEY ...
/config MINA_MODEL ...
/config MINA_BASE_URL ...

4. Run / 运行

bun run src/main.tsx
# or / 或
bun start

开发调试用热重载:

bun --hot run src/main.tsx

5. Permission Modes / 权限模式(可选)

export MINA_PERMISSION_MODE=default # 默认:破坏性工具需确认export MINA_PERMISSION_MODE=acceptEdits # 自动接受文件编辑,bash 仍需确认export MINA_PERMISSION_MODE=bypassPermissions # 跳过所有确认(危险)export MINA_PERMISSION_MODE=dontAsk # 从不询问(危险)

6. Common Commands / 常用命令速查

命令作用
/quit/exit退出并保存会话
/help查看所有命令
/plan进入批量审批模式
/act退出 plan 模式
/clear清空当前会话
/config KEY VALUE修改配置
/permissions查看当前权限模式
/skills查看可用 skills
/<skill-name>调用 v1/v2 skill
/default退出当前 skill 模式
/add <file>添加文件到上下文
/changes查看本次会话修改的文件

7. Exit / 退出

  • 正常退出:输入 /quit/exit
  • 强制退出:按 Ctrl + C
  • 进程卡死:另开终端执行 pkill -f "bun run src/main.tsx"

Configuration / 配置项

VariableDescriptionRequired
MINA_API_KEYAPI key for your LLM providerYes
MINA_MODELModel name (e.g., gpt-4o, claude-sonnet-4-6, llama3.1:8b)Yes
MINA_PROVIDERProvider type: generic (default), openai, anthropicNo
MINA_BASE_URLCustom API base URLNo
MINA_CONTEXT_WINDOWContext window size (default: 128000)No
MINA_PERMISSION_MODEPermission mode: default, plan, acceptEdits, bypassPermissions, dontAskNo
MINA_REASONINGEnable reasoning display (true/false)No
MINA_THEMEUI themeNo
MINA_TRUST_LOCAL_SKILLSTrust and load repo-local v1 TypeScript ./skills modules (true/false, default false). User-created v2 SKILL.md skills live under ~/.minagent/skills.No

Commands / 命令

Type / followed by a command name. Use Tab for autocomplete.

输入 / + 命令名。按 Tab 自动补全。

Git / 版本控制

/status, /diff, /log, /commit, /branch, /checkout, /push, /pull, /merge, /rebase, /cherry-pick, /blame, /stash, /stash-pop, /stash-list

GitHub

/pr, /pr-view, /pr-create, /issue, /issue-view, /repo

Session / 会话

/clear, /compact, /resume, /tokens, /cost, /sessions

Context / 上下文

/add <file>, /drop <file>, /context

System / 系统

/doctor, /config, /env, /model, /permissions, /plan, /act, /skills, /theme, /help, /quit

Skills / Skill

/skills lists v1 and v2 skills. Invoke a skill with /<skill-name>; v2 skills are loaded from ~/.minagent/skills and can include supporting files under references/, templates/, scripts/, or assets/. Use /default to exit active skill scopes.

Project / 项目

/test [pattern] — auto-detect and run tests / 自动检测并运行测试
/format — auto-format code / 自动格式化代码
/changes — show files changed this session / 显示本次会话修改的文件
/diff — show detailed diff of session changes / 显示会话变更的详细 diff


Architecture / 架构

src/
main.tsx # Entry point / 入口
config.ts # Configuration loader / 配置加载
types.ts # Shared types / 共享类型
agent/
index.ts # Core agent loop / 核心 Agent 循环
llm.ts # LLM client (OpenAI + Anthropic + Generic) / LLM 客户端
toolExecutor.ts # Smart concurrent tool execution / 智能并发工具执行
tools/ # 26 built-in tools / 26 个内置工具
commands/ # 40+ slash commands / 40+ 个斜杠命令
components/ # React + Ink UI / React + Ink UI 组件
utils/ # Context, compaction, cost tracking, permissions / 工具库
skills/ # v1 TypeScript skills / v1 TypeScript Skill
skills-v2/ # Markdown SKILL.md system / Markdown SKILL.md 系统
state/ # Session persistence / 会话持久化

License / 许可证

MIT

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

MinAgent

A production-grade AI agent CLI built with Bun, React 19, and Ink 7. Universal model support, powerful tools, and a terminal-native UX that rivals proprietary solutions.

一个基于 BunReact 19Ink 7 构建的生产级 AI Agent CLI。支持任何大模型、拥有丰富的工具集、以及媲美商业产品的终端原生体验。


Features / 特性

  • Universal Model Support / 通用模型支持
    Works with any OpenAI-compatible API endpoint: OpenAI, Anthropic, Gemini, Azure, DeepSeek, Ollama, vLLM, and more. No hardcoded defaults — you control the provider.
    兼容 任何 OpenAI-compatible API 端点:OpenAI、Anthropic、Gemini、Azure、DeepSeek、Ollama、vLLM 等。无硬编码默认模型,完全由用户配置。

  • 26 Built-in Tools / 26 个内置工具 File read/write/edit, grep, glob, tree, bash execution, web fetch/search, sub-agents, code execution (Python/Node/Bash), todo tracking, skill management, and more. 文件读写编辑、代码搜索、文件查找、目录树、Shell 执行、网页抓取/搜索、子 Agent、代码执行(Python/Node/Bash)、待办追踪、Skill 管理等。

  • Smart Permission System / 智能权限系统
    5 modes: default, plan, acceptEdits, bypassPermissions, dontAsk. Destructive tools require confirmation by default.
    5 种模式:defaultplanacceptEditsbypassPermissionsdontAsk。默认情况下破坏性操作需要确认。

  • Terminal-First UX / 终端原生体验
    Built with React + Ink for a rich terminal UI: streaming responses, tool call visualization, reasoning display, command autocomplete, input history, and plan mode batch approval.
    基于 React + Ink 构建的丰富终端 UI:流式响应、工具调用可视化、推理过程显示、命令自动补全、输入历史、批量审批模式。

  • GitHub Integration / GitHub 集成
    Native commands for PRs, issues, branches, commits, and more via gh CLI.
    通过 gh CLI 原生支持 PR、Issue、分支、提交等操作。

  • Session Management / 会话管理
    Persistent sessions, auto-compaction, context file management, @mention auto-loading, and cost tracking.
    持久化会话、自动压缩、上下文文件管理、@mention 自动加载、成本追踪。

  • Skills System / Skill 系统 Built-in TypeScript skills plus Markdown SKILL.md skills with progressive disclosure, turn/session scopes, supporting files, pinning, and background curation. 支持内置 TypeScript Skill,也支持基于 Markdown SKILL.md 的渐进式 Skill:可按轮次或会话保持作用域,支持引用文件、固定与后台整理。

  • Production-Ready / 生产就绪
    Zero TypeScript errors (strict mode), LLM error classification with smart retry, workspace auto-detection, and test framework auto-discovery.
    TypeScript 严格模式零错误、LLM 错误分类与智能重试、工作区自动检测、测试框架自动发现。


Quick Start / 快速开始

1. Install Bun / 安装 Bun

curl -fsSL https://bun.sh/install | bash

2. Clone & Install / 克隆并安装

git clone https://github.com/BruceL017/minagent.git
cd minagent
bun install

3. Configure / 配置

Set your API key and model via environment variables:
通过环境变量配置 API Key 和模型:

export MINA_PROVIDER="generic"# openai | anthropic | genericexport MINA_API_KEY="..."# Your API key / 你的 API 密钥export MINA_MODEL="..."# Model name / 模型名称export MINA_BASE_URL="..."# Custom API endpoint / 自定义 API 端点

Or use persistent config (stored in ~/.minagent/config.json):
或使用持久化配置(存储在 ~/.minagent/config.json):

bun run src/main.tsx
/config MINA_PROVIDER generic
/config MINA_API_KEY ...
/config MINA_MODEL ...
/config MINA_BASE_URL ...

4. Run / 运行

bun run src/main.tsx
# or / 或
bun start

开发调试用热重载:

bun --hot run src/main.tsx

5. Permission Modes / 权限模式(可选)

export MINA_PERMISSION_MODE=default # 默认:破坏性工具需确认export MINA_PERMISSION_MODE=acceptEdits # 自动接受文件编辑,bash 仍需确认export MINA_PERMISSION_MODE=bypassPermissions # 跳过所有确认(危险)export MINA_PERMISSION_MODE=dontAsk # 从不询问(危险)

6. Common Commands / 常用命令速查

命令作用
/quit/exit退出并保存会话
/help查看所有命令
/plan进入批量审批模式
/act退出 plan 模式
/clear清空当前会话
/config KEY VALUE修改配置
/permissions查看当前权限模式
/skills查看可用 skills
/<skill-name>调用 v1/v2 skill
/default退出当前 skill 模式
/add <file>添加文件到上下文
/changes查看本次会话修改的文件

7. Exit / 退出

  • 正常退出:输入 /quit/exit
  • 强制退出:按 Ctrl + C
  • 进程卡死:另开终端执行 pkill -f "bun run src/main.tsx"

Configuration / 配置项

VariableDescriptionRequired
MINA_API_KEYAPI key for your LLM providerYes
MINA_MODELModel name (e.g., gpt-4o, claude-sonnet-4-6, llama3.1:8b)Yes
MINA_PROVIDERProvider type: generic (default), openai, anthropicNo
MINA_BASE_URLCustom API base URLNo
MINA_CONTEXT_WINDOWContext window size (default: 128000)No
MINA_PERMISSION_MODEPermission mode: default, plan, acceptEdits, bypassPermissions, dontAskNo
MINA_REASONINGEnable reasoning display (true/false)No
MINA_THEMEUI themeNo
MINA_TRUST_LOCAL_SKILLSTrust and load repo-local v1 TypeScript ./skills modules (true/false, default false). User-created v2 SKILL.md skills live under ~/.minagent/skills.No

Commands / 命令

Type / followed by a command name. Use Tab for autocomplete.

输入 / + 命令名。按 Tab 自动补全。

Git / 版本控制

/status, /diff, /log, /commit, /branch, /checkout, /push, /pull, /merge, /rebase, /cherry-pick, /blame, /stash, /stash-pop, /stash-list

GitHub

/pr, /pr-view, /pr-create, /issue, /issue-view, /repo

Session / 会话

/clear, /compact, /resume, /tokens, /cost, /sessions

Context / 上下文

/add <file>, /drop <file>, /context

System / 系统

/doctor, /config, /env, /model, /permissions, /plan, /act, /skills, /theme, /help, /quit

Skills / Skill

/skills lists v1 and v2 skills. Invoke a skill with /<skill-name>; v2 skills are loaded from ~/.minagent/skills and can include supporting files under references/, templates/, scripts/, or assets/. Use /default to exit active skill scopes.

Project / 项目

/test [pattern] — auto-detect and run tests / 自动检测并运行测试
/format — auto-format code / 自动格式化代码
/changes — show files changed this session / 显示本次会话修改的文件
/diff — show detailed diff of session changes / 显示会话变更的详细 diff


Architecture / 架构

src/
main.tsx # Entry point / 入口
config.ts # Configuration loader / 配置加载
types.ts # Shared types / 共享类型
agent/
index.ts # Core agent loop / 核心 Agent 循环
llm.ts # LLM client (OpenAI + Anthropic + Generic) / LLM 客户端
toolExecutor.ts # Smart concurrent tool execution / 智能并发工具执行
tools/ # 26 built-in tools / 26 个内置工具
commands/ # 40+ slash commands / 40+ 个斜杠命令
components/ # React + Ink UI / React + Ink UI 组件
utils/ # Context, compaction, cost tracking, permissions / 工具库
skills/ # v1 TypeScript skills / v1 TypeScript Skill
skills-v2/ # Markdown SKILL.md system / Markdown SKILL.md 系统
state/ # Session persistence / 会话持久化

License / 许可证

MIT

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MinAgent

A production-grade AI agent CLI built with Bun, React 19, and Ink 7. Universal model support, powerful tools, and a terminal-native UX that rivals proprietary solutions.

一个基于 BunReact 19Ink 7 构建的生产级 AI Agent CLI。支持任何大模型、拥有丰富的工具集、以及媲美商业产品的终端原生体验。


Features / 特性

  • Universal Model Support / 通用模型支持
    Works with any OpenAI-compatible API endpoint: OpenAI, Anthropic, Gemini, Azure, DeepSeek, Ollama, vLLM, and more. No hardcoded defaults — you control the provider.
    兼容 任何 OpenAI-compatible API 端点:OpenAI、Anthropic、Gemini、Azure、DeepSeek、Ollama、vLLM 等。无硬编码默认模型,完全由用户配置。

  • 26 Built-in Tools / 26 个内置工具 File read/write/edit, grep, glob, tree, bash execution, web fetch/search, sub-agents, code execution (Python/Node/Bash), todo tracking, skill management, and more. 文件读写编辑、代码搜索、文件查找、目录树、Shell 执行、网页抓取/搜索、子 Agent、代码执行(Python/Node/Bash)、待办追踪、Skill 管理等。

  • Smart Permission System / 智能权限系统
    5 modes: default, plan, acceptEdits, bypassPermissions, dontAsk. Destructive tools require confirmation by default.
    5 种模式:defaultplanacceptEditsbypassPermissionsdontAsk。默认情况下破坏性操作需要确认。

  • Terminal-First UX / 终端原生体验
    Built with React + Ink for a rich terminal UI: streaming responses, tool call visualization, reasoning display, command autocomplete, input history, and plan mode batch approval.
    基于 React + Ink 构建的丰富终端 UI:流式响应、工具调用可视化、推理过程显示、命令自动补全、输入历史、批量审批模式。

  • GitHub Integration / GitHub 集成
    Native commands for PRs, issues, branches, commits, and more via gh CLI.
    通过 gh CLI 原生支持 PR、Issue、分支、提交等操作。

  • Session Management / 会话管理
    Persistent sessions, auto-compaction, context file management, @mention auto-loading, and cost tracking.
    持久化会话、自动压缩、上下文文件管理、@mention 自动加载、成本追踪。

  • Skills System / Skill 系统 Built-in TypeScript skills plus Markdown SKILL.md skills with progressive disclosure, turn/session scopes, supporting files, pinning, and background curation. 支持内置 TypeScript Skill,也支持基于 Markdown SKILL.md 的渐进式 Skill:可按轮次或会话保持作用域,支持引用文件、固定与后台整理。

  • Production-Ready / 生产就绪
    Zero TypeScript errors (strict mode), LLM error classification with smart retry, workspace auto-detection, and test framework auto-discovery.
    TypeScript 严格模式零错误、LLM 错误分类与智能重试、工作区自动检测、测试框架自动发现。


Quick Start / 快速开始

1. Install Bun / 安装 Bun

curl -fsSL https://bun.sh/install | bash

2. Clone & Install / 克隆并安装

git clone https://github.com/BruceL017/minagent.git
cd minagent
bun install

3. Configure / 配置

Set your API key and model via environment variables:
通过环境变量配置 API Key 和模型:

export MINA_PROVIDER="generic"# openai | anthropic | genericexport MINA_API_KEY="..."# Your API key / 你的 API 密钥export MINA_MODEL="..."# Model name / 模型名称export MINA_BASE_URL="..."# Custom API endpoint / 自定义 API 端点

Or use persistent config (stored in ~/.minagent/config.json):
或使用持久化配置(存储在 ~/.minagent/config.json):

bun run src/main.tsx
/config MINA_PROVIDER generic
/config MINA_API_KEY ...
/config MINA_MODEL ...
/config MINA_BASE_URL ...

4. Run / 运行

bun run src/main.tsx
# or / 或
bun start

开发调试用热重载:

bun --hot run src/main.tsx

5. Permission Modes / 权限模式(可选)

export MINA_PERMISSION_MODE=default # 默认:破坏性工具需确认export MINA_PERMISSION_MODE=acceptEdits # 自动接受文件编辑,bash 仍需确认export MINA_PERMISSION_MODE=bypassPermissions # 跳过所有确认(危险)export MINA_PERMISSION_MODE=dontAsk # 从不询问(危险)

6. Common Commands / 常用命令速查

命令作用
/quit/exit退出并保存会话
/help查看所有命令
/plan进入批量审批模式
/act退出 plan 模式
/clear清空当前会话
/config KEY VALUE修改配置
/permissions查看当前权限模式
/skills查看可用 skills
/<skill-name>调用 v1/v2 skill
/default退出当前 skill 模式
/add <file>添加文件到上下文
/changes查看本次会话修改的文件

7. Exit / 退出

  • 正常退出:输入 /quit/exit
  • 强制退出:按 Ctrl + C
  • 进程卡死:另开终端执行 pkill -f "bun run src/main.tsx"

Configuration / 配置项

VariableDescriptionRequired
MINA_API_KEYAPI key for your LLM providerYes
MINA_MODELModel name (e.g., gpt-4o, claude-sonnet-4-6, llama3.1:8b)Yes
MINA_PROVIDERProvider type: generic (default), openai, anthropicNo
MINA_BASE_URLCustom API base URLNo
MINA_CONTEXT_WINDOWContext window size (default: 128000)No
MINA_PERMISSION_MODEPermission mode: default, plan, acceptEdits, bypassPermissions, dontAskNo
MINA_REASONINGEnable reasoning display (true/false)No
MINA_THEMEUI themeNo
MINA_TRUST_LOCAL_SKILLSTrust and load repo-local v1 TypeScript ./skills modules (true/false, default false). User-created v2 SKILL.md skills live under ~/.minagent/skills.No

Commands / 命令

Type / followed by a command name. Use Tab for autocomplete.

输入 / + 命令名。按 Tab 自动补全。

Git / 版本控制

/status, /diff, /log, /commit, /branch, /checkout, /push, /pull, /merge, /rebase, /cherry-pick, /blame, /stash, /stash-pop, /stash-list

GitHub

/pr, /pr-view, /pr-create, /issue, /issue-view, /repo

Session / 会话

/clear, /compact, /resume, /tokens, /cost, /sessions

Context / 上下文

/add <file>, /drop <file>, /context

System / 系统

/doctor, /config, /env, /model, /permissions, /plan, /act, /skills, /theme, /help, /quit

Skills / Skill

/skills lists v1 and v2 skills. Invoke a skill with /<skill-name>; v2 skills are loaded from ~/.minagent/skills and can include supporting files under references/, templates/, scripts/, or assets/. Use /default to exit active skill scopes.

Project / 项目

/test [pattern] — auto-detect and run tests / 自动检测并运行测试
/format — auto-format code / 自动格式化代码
/changes — show files changed this session / 显示本次会话修改的文件
/diff — show detailed diff of session changes / 显示会话变更的详细 diff


Architecture / 架构

src/
main.tsx # Entry point / 入口
config.ts # Configuration loader / 配置加载
types.ts # Shared types / 共享类型
agent/
index.ts # Core agent loop / 核心 Agent 循环
llm.ts # LLM client (OpenAI + Anthropic + Generic) / LLM 客户端
toolExecutor.ts # Smart concurrent tool execution / 智能并发工具执行
tools/ # 26 built-in tools / 26 个内置工具
commands/ # 40+ slash commands / 40+ 个斜杠命令
components/ # React + Ink UI / React + Ink UI 组件
utils/ # Context, compaction, cost tracking, permissions / 工具库
skills/ # v1 TypeScript skills / v1 TypeScript Skill
skills-v2/ # Markdown SKILL.md system / Markdown SKILL.md 系统
state/ # Session persistence / 会话持久化

License / 许可证

MIT

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MinAgent

A production-grade AI agent CLI built with Bun, React 19, and Ink 7. Universal model support, powerful tools, and a terminal-native UX that rivals proprietary solutions.

一个基于 BunReact 19Ink 7 构建的生产级 AI Agent CLI。支持任何大模型、拥有丰富的工具集、以及媲美商业产品的终端原生体验。


Features / 特性

  • Universal Model Support / 通用模型支持
    Works with any OpenAI-compatible API endpoint: OpenAI, Anthropic, Gemini, Azure, DeepSeek, Ollama, vLLM, and more. No hardcoded defaults — you control the provider.
    兼容 任何 OpenAI-compatible API 端点:OpenAI、Anthropic、Gemini、Azure、DeepSeek、Ollama、vLLM 等。无硬编码默认模型,完全由用户配置。

  • 26 Built-in Tools / 26 个内置工具 File read/write/edit, grep, glob, tree, bash execution, web fetch/search, sub-agents, code execution (Python/Node/Bash), todo tracking, skill management, and more. 文件读写编辑、代码搜索、文件查找、目录树、Shell 执行、网页抓取/搜索、子 Agent、代码执行(Python/Node/Bash)、待办追踪、Skill 管理等。

  • Smart Permission System / 智能权限系统
    5 modes: default, plan, acceptEdits, bypassPermissions, dontAsk. Destructive tools require confirmation by default.
    5 种模式:defaultplanacceptEditsbypassPermissionsdontAsk。默认情况下破坏性操作需要确认。

  • Terminal-First UX / 终端原生体验
    Built with React + Ink for a rich terminal UI: streaming responses, tool call visualization, reasoning display, command autocomplete, input history, and plan mode batch approval.
    基于 React + Ink 构建的丰富终端 UI:流式响应、工具调用可视化、推理过程显示、命令自动补全、输入历史、批量审批模式。

  • GitHub Integration / GitHub 集成
    Native commands for PRs, issues, branches, commits, and more via gh CLI.
    通过 gh CLI 原生支持 PR、Issue、分支、提交等操作。

  • Session Management / 会话管理
    Persistent sessions, auto-compaction, context file management, @mention auto-loading, and cost tracking.
    持久化会话、自动压缩、上下文文件管理、@mention 自动加载、成本追踪。

  • Skills System / Skill 系统 Built-in TypeScript skills plus Markdown SKILL.md skills with progressive disclosure, turn/session scopes, supporting files, pinning, and background curation. 支持内置 TypeScript Skill,也支持基于 Markdown SKILL.md 的渐进式 Skill:可按轮次或会话保持作用域,支持引用文件、固定与后台整理。

  • Production-Ready / 生产就绪
    Zero TypeScript errors (strict mode), LLM error classification with smart retry, workspace auto-detection, and test framework auto-discovery.
    TypeScript 严格模式零错误、LLM 错误分类与智能重试、工作区自动检测、测试框架自动发现。


Quick Start / 快速开始

1. Install Bun / 安装 Bun

curl -fsSL https://bun.sh/install | bash

2. Clone & Install / 克隆并安装

git clone https://github.com/BruceL017/minagent.git
cd minagent
bun install

3. Configure / 配置

Set your API key and model via environment variables:
通过环境变量配置 API Key 和模型:

export MINA_PROVIDER="generic"# openai | anthropic | genericexport MINA_API_KEY="..."# Your API key / 你的 API 密钥export MINA_MODEL="..."# Model name / 模型名称export MINA_BASE_URL="..."# Custom API endpoint / 自定义 API 端点

Or use persistent config (stored in ~/.minagent/config.json):
或使用持久化配置(存储在 ~/.minagent/config.json):

bun run src/main.tsx
/config MINA_PROVIDER generic
/config MINA_API_KEY ...
/config MINA_MODEL ...
/config MINA_BASE_URL ...

4. Run / 运行

bun run src/main.tsx
# or / 或
bun start

开发调试用热重载:

bun --hot run src/main.tsx

5. Permission Modes / 权限模式(可选)

export MINA_PERMISSION_MODE=default # 默认:破坏性工具需确认export MINA_PERMISSION_MODE=acceptEdits # 自动接受文件编辑,bash 仍需确认export MINA_PERMISSION_MODE=bypassPermissions # 跳过所有确认(危险)export MINA_PERMISSION_MODE=dontAsk # 从不询问(危险)

6. Common Commands / 常用命令速查

命令作用
/quit/exit退出并保存会话
/help查看所有命令
/plan进入批量审批模式
/act退出 plan 模式
/clear清空当前会话
/config KEY VALUE修改配置
/permissions查看当前权限模式
/skills查看可用 skills
/<skill-name>调用 v1/v2 skill
/default退出当前 skill 模式
/add <file>添加文件到上下文
/changes查看本次会话修改的文件

7. Exit / 退出

  • 正常退出:输入 /quit/exit
  • 强制退出:按 Ctrl + C
  • 进程卡死:另开终端执行 pkill -f "bun run src/main.tsx"

Configuration / 配置项

VariableDescriptionRequired
MINA_API_KEYAPI key for your LLM providerYes
MINA_MODELModel name (e.g., gpt-4o, claude-sonnet-4-6, llama3.1:8b)Yes
MINA_PROVIDERProvider type: generic (default), openai, anthropicNo
MINA_BASE_URLCustom API base URLNo
MINA_CONTEXT_WINDOWContext window size (default: 128000)No
MINA_PERMISSION_MODEPermission mode: default, plan, acceptEdits, bypassPermissions, dontAskNo
MINA_REASONINGEnable reasoning display (true/false)No
MINA_THEMEUI themeNo
MINA_TRUST_LOCAL_SKILLSTrust and load repo-local v1 TypeScript ./skills modules (true/false, default false). User-created v2 SKILL.md skills live under ~/.minagent/skills.No

Commands / 命令

Type / followed by a command name. Use Tab for autocomplete.

输入 / + 命令名。按 Tab 自动补全。

Git / 版本控制

/status, /diff, /log, /commit, /branch, /checkout, /push, /pull, /merge, /rebase, /cherry-pick, /blame, /stash, /stash-pop, /stash-list

GitHub

/pr, /pr-view, /pr-create, /issue, /issue-view, /repo

Session / 会话

/clear, /compact, /resume, /tokens, /cost, /sessions

Context / 上下文

/add <file>, /drop <file>, /context

System / 系统

/doctor, /config, /env, /model, /permissions, /plan, /act, /skills, /theme, /help, /quit

Skills / Skill

/skills lists v1 and v2 skills. Invoke a skill with /<skill-name>; v2 skills are loaded from ~/.minagent/skills and can include supporting files under references/, templates/, scripts/, or assets/. Use /default to exit active skill scopes.

Project / 项目

/test [pattern] — auto-detect and run tests / 自动检测并运行测试
/format — auto-format code / 自动格式化代码
/changes — show files changed this session / 显示本次会话修改的文件
/diff — show detailed diff of session changes / 显示会话变更的详细 diff


Architecture / 架构

src/
main.tsx # Entry point / 入口
config.ts # Configuration loader / 配置加载
types.ts # Shared types / 共享类型
agent/
index.ts # Core agent loop / 核心 Agent 循环
llm.ts # LLM client (OpenAI + Anthropic + Generic) / LLM 客户端
toolExecutor.ts # Smart concurrent tool execution / 智能并发工具执行
tools/ # 26 built-in tools / 26 个内置工具
commands/ # 40+ slash commands / 40+ 个斜杠命令
components/ # React + Ink UI / React + Ink UI 组件
utils/ # Context, compaction, cost tracking, permissions / 工具库
skills/ # v1 TypeScript skills / v1 TypeScript Skill
skills-v2/ # Markdown SKILL.md system / Markdown SKILL.md 系统
state/ # Session persistence / 会话持久化

License / 许可证

MIT

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

MinAgent

A production-grade AI agent CLI built with Bun, React 19, and Ink 7. Universal model support, powerful tools, and a terminal-native UX that rivals proprietary solutions.

一个基于 BunReact 19Ink 7 构建的生产级 AI Agent CLI。支持任何大模型、拥有丰富的工具集、以及媲美商业产品的终端原生体验。


Features / 特性

  • Universal Model Support / 通用模型支持
    Works with any OpenAI-compatible API endpoint: OpenAI, Anthropic, Gemini, Azure, DeepSeek, Ollama, vLLM, and more. No hardcoded defaults — you control the provider.
    兼容 任何 OpenAI-compatible API 端点:OpenAI、Anthropic、Gemini、Azure、DeepSeek、Ollama、vLLM 等。无硬编码默认模型,完全由用户配置。

  • 26 Built-in Tools / 26 个内置工具 File read/write/edit, grep, glob, tree, bash execution, web fetch/search, sub-agents, code execution (Python/Node/Bash), todo tracking, skill management, and more. 文件读写编辑、代码搜索、文件查找、目录树、Shell 执行、网页抓取/搜索、子 Agent、代码执行(Python/Node/Bash)、待办追踪、Skill 管理等。

  • Smart Permission System / 智能权限系统
    5 modes: default, plan, acceptEdits, bypassPermissions, dontAsk. Destructive tools require confirmation by default.
    5 种模式:defaultplanacceptEditsbypassPermissionsdontAsk。默认情况下破坏性操作需要确认。

  • Terminal-First UX / 终端原生体验
    Built with React + Ink for a rich terminal UI: streaming responses, tool call visualization, reasoning display, command autocomplete, input history, and plan mode batch approval.
    基于 React + Ink 构建的丰富终端 UI:流式响应、工具调用可视化、推理过程显示、命令自动补全、输入历史、批量审批模式。

  • GitHub Integration / GitHub 集成
    Native commands for PRs, issues, branches, commits, and more via gh CLI.
    通过 gh CLI 原生支持 PR、Issue、分支、提交等操作。

  • Session Management / 会话管理
    Persistent sessions, auto-compaction, context file management, @mention auto-loading, and cost tracking.
    持久化会话、自动压缩、上下文文件管理、@mention 自动加载、成本追踪。

  • Skills System / Skill 系统 Built-in TypeScript skills plus Markdown SKILL.md skills with progressive disclosure, turn/session scopes, supporting files, pinning, and background curation. 支持内置 TypeScript Skill,也支持基于 Markdown SKILL.md 的渐进式 Skill:可按轮次或会话保持作用域,支持引用文件、固定与后台整理。

  • Production-Ready / 生产就绪
    Zero TypeScript errors (strict mode), LLM error classification with smart retry, workspace auto-detection, and test framework auto-discovery.
    TypeScript 严格模式零错误、LLM 错误分类与智能重试、工作区自动检测、测试框架自动发现。


Quick Start / 快速开始

1. Install Bun / 安装 Bun

curl -fsSL https://bun.sh/install | bash

2. Clone & Install / 克隆并安装

git clone https://github.com/BruceL017/minagent.git
cd minagent
bun install

3. Configure / 配置

Set your API key and model via environment variables:
通过环境变量配置 API Key 和模型:

export MINA_PROVIDER="generic"# openai | anthropic | genericexport MINA_API_KEY="..."# Your API key / 你的 API 密钥export MINA_MODEL="..."# Model name / 模型名称export MINA_BASE_URL="..."# Custom API endpoint / 自定义 API 端点

Or use persistent config (stored in ~/.minagent/config.json):
或使用持久化配置(存储在 ~/.minagent/config.json):

bun run src/main.tsx
/config MINA_PROVIDER generic
/config MINA_API_KEY ...
/config MINA_MODEL ...
/config MINA_BASE_URL ...

4. Run / 运行

bun run src/main.tsx
# or / 或
bun start

开发调试用热重载:

bun --hot run src/main.tsx

5. Permission Modes / 权限模式(可选)

export MINA_PERMISSION_MODE=default # 默认:破坏性工具需确认export MINA_PERMISSION_MODE=acceptEdits # 自动接受文件编辑,bash 仍需确认export MINA_PERMISSION_MODE=bypassPermissions # 跳过所有确认(危险)export MINA_PERMISSION_MODE=dontAsk # 从不询问(危险)

6. Common Commands / 常用命令速查

命令作用
/quit/exit退出并保存会话
/help查看所有命令
/plan进入批量审批模式
/act退出 plan 模式
/clear清空当前会话
/config KEY VALUE修改配置
/permissions查看当前权限模式
/skills查看可用 skills
/<skill-name>调用 v1/v2 skill
/default退出当前 skill 模式
/add <file>添加文件到上下文
/changes查看本次会话修改的文件

7. Exit / 退出

  • 正常退出:输入 /quit/exit
  • 强制退出:按 Ctrl + C
  • 进程卡死:另开终端执行 pkill -f "bun run src/main.tsx"

Configuration / 配置项

VariableDescriptionRequired
MINA_API_KEYAPI key for your LLM providerYes
MINA_MODELModel name (e.g., gpt-4o, claude-sonnet-4-6, llama3.1:8b)Yes
MINA_PROVIDERProvider type: generic (default), openai, anthropicNo
MINA_BASE_URLCustom API base URLNo
MINA_CONTEXT_WINDOWContext window size (default: 128000)No
MINA_PERMISSION_MODEPermission mode: default, plan, acceptEdits, bypassPermissions, dontAskNo
MINA_REASONINGEnable reasoning display (true/false)No
MINA_THEMEUI themeNo
MINA_TRUST_LOCAL_SKILLSTrust and load repo-local v1 TypeScript ./skills modules (true/false, default false). User-created v2 SKILL.md skills live under ~/.minagent/skills.No

Commands / 命令

Type / followed by a command name. Use Tab for autocomplete.

输入 / + 命令名。按 Tab 自动补全。

Git / 版本控制

/status, /diff, /log, /commit, /branch, /checkout, /push, /pull, /merge, /rebase, /cherry-pick, /blame, /stash, /stash-pop, /stash-list

GitHub

/pr, /pr-view, /pr-create, /issue, /issue-view, /repo

Session / 会话

/clear, /compact, /resume, /tokens, /cost, /sessions

Context / 上下文

/add <file>, /drop <file>, /context

System / 系统

/doctor, /config, /env, /model, /permissions, /plan, /act, /skills, /theme, /help, /quit

Skills / Skill

/skills lists v1 and v2 skills. Invoke a skill with /<skill-name>; v2 skills are loaded from ~/.minagent/skills and can include supporting files under references/, templates/, scripts/, or assets/. Use /default to exit active skill scopes.

Project / 项目

/test [pattern] — auto-detect and run tests / 自动检测并运行测试
/format — auto-format code / 自动格式化代码
/changes — show files changed this session / 显示本次会话修改的文件
/diff — show detailed diff of session changes / 显示会话变更的详细 diff


Architecture / 架构

src/
main.tsx # Entry point / 入口
config.ts # Configuration loader / 配置加载
types.ts # Shared types / 共享类型
agent/
index.ts # Core agent loop / 核心 Agent 循环
llm.ts # LLM client (OpenAI + Anthropic + Generic) / LLM 客户端
toolExecutor.ts # Smart concurrent tool execution / 智能并发工具执行
tools/ # 26 built-in tools / 26 个内置工具
commands/ # 40+ slash commands / 40+ 个斜杠命令
components/ # React + Ink UI / React + Ink UI 组件
utils/ # Context, compaction, cost tracking, permissions / 工具库
skills/ # v1 TypeScript skills / v1 TypeScript Skill
skills-v2/ # Markdown SKILL.md system / Markdown SKILL.md 系统
state/ # Session persistence / 会话持久化

License / 许可证

MIT

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MinAgent

A production-grade AI agent CLI built with Bun, React 19, and Ink 7. Universal model support, powerful tools, and a terminal-native UX that rivals proprietary solutions.

一个基于 BunReact 19Ink 7 构建的生产级 AI Agent CLI。支持任何大模型、拥有丰富的工具集、以及媲美商业产品的终端原生体验。


Features / 特性

  • Universal Model Support / 通用模型支持
    Works with any OpenAI-compatible API endpoint: OpenAI, Anthropic, Gemini, Azure, DeepSeek, Ollama, vLLM, and more. No hardcoded defaults — you control the provider.
    兼容 任何 OpenAI-compatible API 端点:OpenAI、Anthropic、Gemini、Azure、DeepSeek、Ollama、vLLM 等。无硬编码默认模型,完全由用户配置。

  • 26 Built-in Tools / 26 个内置工具 File read/write/edit, grep, glob, tree, bash execution, web fetch/search, sub-agents, code execution (Python/Node/Bash), todo tracking, skill management, and more. 文件读写编辑、代码搜索、文件查找、目录树、Shell 执行、网页抓取/搜索、子 Agent、代码执行(Python/Node/Bash)、待办追踪、Skill 管理等。

  • Smart Permission System / 智能权限系统
    5 modes: default, plan, acceptEdits, bypassPermissions, dontAsk. Destructive tools require confirmation by default.
    5 种模式:defaultplanacceptEditsbypassPermissionsdontAsk。默认情况下破坏性操作需要确认。

  • Terminal-First UX / 终端原生体验
    Built with React + Ink for a rich terminal UI: streaming responses, tool call visualization, reasoning display, command autocomplete, input history, and plan mode batch approval.
    基于 React + Ink 构建的丰富终端 UI:流式响应、工具调用可视化、推理过程显示、命令自动补全、输入历史、批量审批模式。

  • GitHub Integration / GitHub 集成
    Native commands for PRs, issues, branches, commits, and more via gh CLI.
    通过 gh CLI 原生支持 PR、Issue、分支、提交等操作。

  • Session Management / 会话管理
    Persistent sessions, auto-compaction, context file management, @mention auto-loading, and cost tracking.
    持久化会话、自动压缩、上下文文件管理、@mention 自动加载、成本追踪。

  • Skills System / Skill 系统 Built-in TypeScript skills plus Markdown SKILL.md skills with progressive disclosure, turn/session scopes, supporting files, pinning, and background curation. 支持内置 TypeScript Skill,也支持基于 Markdown SKILL.md 的渐进式 Skill:可按轮次或会话保持作用域,支持引用文件、固定与后台整理。

  • Production-Ready / 生产就绪
    Zero TypeScript errors (strict mode), LLM error classification with smart retry, workspace auto-detection, and test framework auto-discovery.
    TypeScript 严格模式零错误、LLM 错误分类与智能重试、工作区自动检测、测试框架自动发现。


Quick Start / 快速开始

1. Install Bun / 安装 Bun

curl -fsSL https://bun.sh/install | bash

2. Clone & Install / 克隆并安装

git clone https://github.com/BruceL017/minagent.git
cd minagent
bun install

3. Configure / 配置

Set your API key and model via environment variables:
通过环境变量配置 API Key 和模型:

export MINA_PROVIDER="generic"# openai | anthropic | genericexport MINA_API_KEY="..."# Your API key / 你的 API 密钥export MINA_MODEL="..."# Model name / 模型名称export MINA_BASE_URL="..."# Custom API endpoint / 自定义 API 端点

Or use persistent config (stored in ~/.minagent/config.json):
或使用持久化配置(存储在 ~/.minagent/config.json):

bun run src/main.tsx
/config MINA_PROVIDER generic
/config MINA_API_KEY ...
/config MINA_MODEL ...
/config MINA_BASE_URL ...

4. Run / 运行

bun run src/main.tsx
# or / 或
bun start

开发调试用热重载:

bun --hot run src/main.tsx

5. Permission Modes / 权限模式(可选)

export MINA_PERMISSION_MODE=default # 默认:破坏性工具需确认export MINA_PERMISSION_MODE=acceptEdits # 自动接受文件编辑,bash 仍需确认export MINA_PERMISSION_MODE=bypassPermissions # 跳过所有确认(危险)export MINA_PERMISSION_MODE=dontAsk # 从不询问(危险)

6. Common Commands / 常用命令速查

命令作用
/quit/exit退出并保存会话
/help查看所有命令
/plan进入批量审批模式
/act退出 plan 模式
/clear清空当前会话
/config KEY VALUE修改配置
/permissions查看当前权限模式
/skills查看可用 skills
/<skill-name>调用 v1/v2 skill
/default退出当前 skill 模式
/add <file>添加文件到上下文
/changes查看本次会话修改的文件

7. Exit / 退出

  • 正常退出:输入 /quit/exit
  • 强制退出:按 Ctrl + C
  • 进程卡死:另开终端执行 pkill -f "bun run src/main.tsx"

Configuration / 配置项

VariableDescriptionRequired
MINA_API_KEYAPI key for your LLM providerYes
MINA_MODELModel name (e.g., gpt-4o, claude-sonnet-4-6, llama3.1:8b)Yes
MINA_PROVIDERProvider type: generic (default), openai, anthropicNo
MINA_BASE_URLCustom API base URLNo
MINA_CONTEXT_WINDOWContext window size (default: 128000)No
MINA_PERMISSION_MODEPermission mode: default, plan, acceptEdits, bypassPermissions, dontAskNo
MINA_REASONINGEnable reasoning display (true/false)No
MINA_THEMEUI themeNo
MINA_TRUST_LOCAL_SKILLSTrust and load repo-local v1 TypeScript ./skills modules (true/false, default false). User-created v2 SKILL.md skills live under ~/.minagent/skills.No

Commands / 命令

Type / followed by a command name. Use Tab for autocomplete.

输入 / + 命令名。按 Tab 自动补全。

Git / 版本控制

/status, /diff, /log, /commit, /branch, /checkout, /push, /pull, /merge, /rebase, /cherry-pick, /blame, /stash, /stash-pop, /stash-list

GitHub

/pr, /pr-view, /pr-create, /issue, /issue-view, /repo

Session / 会话

/clear, /compact, /resume, /tokens, /cost, /sessions

Context / 上下文

/add <file>, /drop <file>, /context

System / 系统

/doctor, /config, /env, /model, /permissions, /plan, /act, /skills, /theme, /help, /quit

Skills / Skill

/skills lists v1 and v2 skills. Invoke a skill with /<skill-name>; v2 skills are loaded from ~/.minagent/skills and can include supporting files under references/, templates/, scripts/, or assets/. Use /default to exit active skill scopes.

Project / 项目

/test [pattern] — auto-detect and run tests / 自动检测并运行测试
/format — auto-format code / 自动格式化代码
/changes — show files changed this session / 显示本次会话修改的文件
/diff — show detailed diff of session changes / 显示会话变更的详细 diff


Architecture / 架构

src/
main.tsx # Entry point / 入口
config.ts # Configuration loader / 配置加载
types.ts # Shared types / 共享类型
agent/
index.ts # Core agent loop / 核心 Agent 循环
llm.ts # LLM client (OpenAI + Anthropic + Generic) / LLM 客户端
toolExecutor.ts # Smart concurrent tool execution / 智能并发工具执行
tools/ # 26 built-in tools / 26 个内置工具
commands/ # 40+ slash commands / 40+ 个斜杠命令
components/ # React + Ink UI / React + Ink UI 组件
utils/ # Context, compaction, cost tracking, permissions / 工具库
skills/ # v1 TypeScript skills / v1 TypeScript Skill
skills-v2/ # Markdown SKILL.md system / Markdown SKILL.md 系统
state/ # Session persistence / 会话持久化

License / 许可证

MIT

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MinAgent

A production-grade AI agent CLI built with Bun, React 19, and Ink 7. Universal model support, powerful tools, and a terminal-native UX that rivals proprietary solutions.

一个基于 BunReact 19Ink 7 构建的生产级 AI Agent CLI。支持任何大模型、拥有丰富的工具集、以及媲美商业产品的终端原生体验。


Features / 特性

  • Universal Model Support / 通用模型支持
    Works with any OpenAI-compatible API endpoint: OpenAI, Anthropic, Gemini, Azure, DeepSeek, Ollama, vLLM, and more. No hardcoded defaults — you control the provider.
    兼容 任何 OpenAI-compatible API 端点:OpenAI、Anthropic、Gemini、Azure、DeepSeek、Ollama、vLLM 等。无硬编码默认模型,完全由用户配置。

  • 26 Built-in Tools / 26 个内置工具 File read/write/edit, grep, glob, tree, bash execution, web fetch/search, sub-agents, code execution (Python/Node/Bash), todo tracking, skill management, and more. 文件读写编辑、代码搜索、文件查找、目录树、Shell 执行、网页抓取/搜索、子 Agent、代码执行(Python/Node/Bash)、待办追踪、Skill 管理等。

  • Smart Permission System / 智能权限系统
    5 modes: default, plan, acceptEdits, bypassPermissions, dontAsk. Destructive tools require confirmation by default.
    5 种模式:defaultplanacceptEditsbypassPermissionsdontAsk。默认情况下破坏性操作需要确认。

  • Terminal-First UX / 终端原生体验
    Built with React + Ink for a rich terminal UI: streaming responses, tool call visualization, reasoning display, command autocomplete, input history, and plan mode batch approval.
    基于 React + Ink 构建的丰富终端 UI:流式响应、工具调用可视化、推理过程显示、命令自动补全、输入历史、批量审批模式。

  • GitHub Integration / GitHub 集成
    Native commands for PRs, issues, branches, commits, and more via gh CLI.
    通过 gh CLI 原生支持 PR、Issue、分支、提交等操作。

  • Session Management / 会话管理
    Persistent sessions, auto-compaction, context file management, @mention auto-loading, and cost tracking.
    持久化会话、自动压缩、上下文文件管理、@mention 自动加载、成本追踪。

  • Skills System / Skill 系统 Built-in TypeScript skills plus Markdown SKILL.md skills with progressive disclosure, turn/session scopes, supporting files, pinning, and background curation. 支持内置 TypeScript Skill,也支持基于 Markdown SKILL.md 的渐进式 Skill:可按轮次或会话保持作用域,支持引用文件、固定与后台整理。

  • Production-Ready / 生产就绪
    Zero TypeScript errors (strict mode), LLM error classification with smart retry, workspace auto-detection, and test framework auto-discovery.
    TypeScript 严格模式零错误、LLM 错误分类与智能重试、工作区自动检测、测试框架自动发现。


Quick Start / 快速开始

1. Install Bun / 安装 Bun

curl -fsSL https://bun.sh/install | bash

2. Clone & Install / 克隆并安装

git clone https://github.com/BruceL017/minagent.git
cd minagent
bun install

3. Configure / 配置

Set your API key and model via environment variables:
通过环境变量配置 API Key 和模型:

export MINA_PROVIDER="generic"# openai | anthropic | genericexport MINA_API_KEY="..."# Your API key / 你的 API 密钥export MINA_MODEL="..."# Model name / 模型名称export MINA_BASE_URL="..."# Custom API endpoint / 自定义 API 端点

Or use persistent config (stored in ~/.minagent/config.json):
或使用持久化配置(存储在 ~/.minagent/config.json):

bun run src/main.tsx
/config MINA_PROVIDER generic
/config MINA_API_KEY ...
/config MINA_MODEL ...
/config MINA_BASE_URL ...

4. Run / 运行

bun run src/main.tsx
# or / 或
bun start

开发调试用热重载:

bun --hot run src/main.tsx

5. Permission Modes / 权限模式(可选)

export MINA_PERMISSION_MODE=default # 默认:破坏性工具需确认export MINA_PERMISSION_MODE=acceptEdits # 自动接受文件编辑,bash 仍需确认export MINA_PERMISSION_MODE=bypassPermissions # 跳过所有确认(危险)export MINA_PERMISSION_MODE=dontAsk # 从不询问(危险)

6. Common Commands / 常用命令速查

命令作用
/quit/exit退出并保存会话
/help查看所有命令
/plan进入批量审批模式
/act退出 plan 模式
/clear清空当前会话
/config KEY VALUE修改配置
/permissions查看当前权限模式
/skills查看可用 skills
/<skill-name>调用 v1/v2 skill
/default退出当前 skill 模式
/add <file>添加文件到上下文
/changes查看本次会话修改的文件

7. Exit / 退出

  • 正常退出:输入 /quit/exit
  • 强制退出:按 Ctrl + C
  • 进程卡死:另开终端执行 pkill -f "bun run src/main.tsx"

Configuration / 配置项

VariableDescriptionRequired
MINA_API_KEYAPI key for your LLM providerYes
MINA_MODELModel name (e.g., gpt-4o, claude-sonnet-4-6, llama3.1:8b)Yes
MINA_PROVIDERProvider type: generic (default), openai, anthropicNo
MINA_BASE_URLCustom API base URLNo
MINA_CONTEXT_WINDOWContext window size (default: 128000)No
MINA_PERMISSION_MODEPermission mode: default, plan, acceptEdits, bypassPermissions, dontAskNo
MINA_REASONINGEnable reasoning display (true/false)No
MINA_THEMEUI themeNo
MINA_TRUST_LOCAL_SKILLSTrust and load repo-local v1 TypeScript ./skills modules (true/false, default false). User-created v2 SKILL.md skills live under ~/.minagent/skills.No

Commands / 命令

Type / followed by a command name. Use Tab for autocomplete.

输入 / + 命令名。按 Tab 自动补全。

Git / 版本控制

/status, /diff, /log, /commit, /branch, /checkout, /push, /pull, /merge, /rebase, /cherry-pick, /blame, /stash, /stash-pop, /stash-list

GitHub

/pr, /pr-view, /pr-create, /issue, /issue-view, /repo

Session / 会话

/clear, /compact, /resume, /tokens, /cost, /sessions

Context / 上下文

/add <file>, /drop <file>, /context

System / 系统

/doctor, /config, /env, /model, /permissions, /plan, /act, /skills, /theme, /help, /quit

Skills / Skill

/skills lists v1 and v2 skills. Invoke a skill with /<skill-name>; v2 skills are loaded from ~/.minagent/skills and can include supporting files under references/, templates/, scripts/, or assets/. Use /default to exit active skill scopes.

Project / 项目

/test [pattern] — auto-detect and run tests / 自动检测并运行测试
/format — auto-format code / 自动格式化代码
/changes — show files changed this session / 显示本次会话修改的文件
/diff — show detailed diff of session changes / 显示会话变更的详细 diff


Architecture / 架构

src/
main.tsx # Entry point / 入口
config.ts # Configuration loader / 配置加载
types.ts # Shared types / 共享类型
agent/
index.ts # Core agent loop / 核心 Agent 循环
llm.ts # LLM client (OpenAI + Anthropic + Generic) / LLM 客户端
toolExecutor.ts # Smart concurrent tool execution / 智能并发工具执行
tools/ # 26 built-in tools / 26 个内置工具
commands/ # 40+ slash commands / 40+ 个斜杠命令
components/ # React + Ink UI / React + Ink UI 组件
utils/ # Context, compaction, cost tracking, permissions / 工具库
skills/ # v1 TypeScript skills / v1 TypeScript Skill
skills-v2/ # Markdown SKILL.md system / Markdown SKILL.md 系统
state/ # Session persistence / 会话持久化

License / 许可证

MIT

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

MinAgent

A production-grade AI agent CLI built with Bun, React 19, and Ink 7. Universal model support, powerful tools, and a terminal-native UX that rivals proprietary solutions.

一个基于 BunReact 19Ink 7 构建的生产级 AI Agent CLI。支持任何大模型、拥有丰富的工具集、以及媲美商业产品的终端原生体验。


Features / 特性

  • Universal Model Support / 通用模型支持
    Works with any OpenAI-compatible API endpoint: OpenAI, Anthropic, Gemini, Azure, DeepSeek, Ollama, vLLM, and more. No hardcoded defaults — you control the provider.
    兼容 任何 OpenAI-compatible API 端点:OpenAI、Anthropic、Gemini、Azure、DeepSeek、Ollama、vLLM 等。无硬编码默认模型,完全由用户配置。

  • 26 Built-in Tools / 26 个内置工具 File read/write/edit, grep, glob, tree, bash execution, web fetch/search, sub-agents, code execution (Python/Node/Bash), todo tracking, skill management, and more. 文件读写编辑、代码搜索、文件查找、目录树、Shell 执行、网页抓取/搜索、子 Agent、代码执行(Python/Node/Bash)、待办追踪、Skill 管理等。

  • Smart Permission System / 智能权限系统
    5 modes: default, plan, acceptEdits, bypassPermissions, dontAsk. Destructive tools require confirmation by default.
    5 种模式:defaultplanacceptEditsbypassPermissionsdontAsk。默认情况下破坏性操作需要确认。

  • Terminal-First UX / 终端原生体验
    Built with React + Ink for a rich terminal UI: streaming responses, tool call visualization, reasoning display, command autocomplete, input history, and plan mode batch approval.
    基于 React + Ink 构建的丰富终端 UI:流式响应、工具调用可视化、推理过程显示、命令自动补全、输入历史、批量审批模式。

  • GitHub Integration / GitHub 集成
    Native commands for PRs, issues, branches, commits, and more via gh CLI.
    通过 gh CLI 原生支持 PR、Issue、分支、提交等操作。

  • Session Management / 会话管理
    Persistent sessions, auto-compaction, context file management, @mention auto-loading, and cost tracking.
    持久化会话、自动压缩、上下文文件管理、@mention 自动加载、成本追踪。

  • Skills System / Skill 系统 Built-in TypeScript skills plus Markdown SKILL.md skills with progressive disclosure, turn/session scopes, supporting files, pinning, and background curation. 支持内置 TypeScript Skill,也支持基于 Markdown SKILL.md 的渐进式 Skill:可按轮次或会话保持作用域,支持引用文件、固定与后台整理。

  • Production-Ready / 生产就绪
    Zero TypeScript errors (strict mode), LLM error classification with smart retry, workspace auto-detection, and test framework auto-discovery.
    TypeScript 严格模式零错误、LLM 错误分类与智能重试、工作区自动检测、测试框架自动发现。


Quick Start / 快速开始

1. Install Bun / 安装 Bun

curl -fsSL https://bun.sh/install | bash

2. Clone & Install / 克隆并安装

git clone https://github.com/BruceL017/minagent.git
cd minagent
bun install

3. Configure / 配置

Set your API key and model via environment variables:
通过环境变量配置 API Key 和模型:

export MINA_PROVIDER="generic"# openai | anthropic | genericexport MINA_API_KEY="..."# Your API key / 你的 API 密钥export MINA_MODEL="..."# Model name / 模型名称export MINA_BASE_URL="..."# Custom API endpoint / 自定义 API 端点

Or use persistent config (stored in ~/.minagent/config.json):
或使用持久化配置(存储在 ~/.minagent/config.json):

bun run src/main.tsx
/config MINA_PROVIDER generic
/config MINA_API_KEY ...
/config MINA_MODEL ...
/config MINA_BASE_URL ...

4. Run / 运行

bun run src/main.tsx
# or / 或
bun start

开发调试用热重载:

bun --hot run src/main.tsx

5. Permission Modes / 权限模式(可选)

export MINA_PERMISSION_MODE=default # 默认:破坏性工具需确认export MINA_PERMISSION_MODE=acceptEdits # 自动接受文件编辑,bash 仍需确认export MINA_PERMISSION_MODE=bypassPermissions # 跳过所有确认(危险)export MINA_PERMISSION_MODE=dontAsk # 从不询问(危险)

6. Common Commands / 常用命令速查

命令作用
/quit/exit退出并保存会话
/help查看所有命令
/plan进入批量审批模式
/act退出 plan 模式
/clear清空当前会话
/config KEY VALUE修改配置
/permissions查看当前权限模式
/skills查看可用 skills
/<skill-name>调用 v1/v2 skill
/default退出当前 skill 模式
/add <file>添加文件到上下文
/changes查看本次会话修改的文件

7. Exit / 退出

  • 正常退出:输入 /quit/exit
  • 强制退出:按 Ctrl + C
  • 进程卡死:另开终端执行 pkill -f "bun run src/main.tsx"

Configuration / 配置项

VariableDescriptionRequired
MINA_API_KEYAPI key for your LLM providerYes
MINA_MODELModel name (e.g., gpt-4o, claude-sonnet-4-6, llama3.1:8b)Yes
MINA_PROVIDERProvider type: generic (default), openai, anthropicNo
MINA_BASE_URLCustom API base URLNo
MINA_CONTEXT_WINDOWContext window size (default: 128000)No
MINA_PERMISSION_MODEPermission mode: default, plan, acceptEdits, bypassPermissions, dontAskNo
MINA_REASONINGEnable reasoning display (true/false)No
MINA_THEMEUI themeNo
MINA_TRUST_LOCAL_SKILLSTrust and load repo-local v1 TypeScript ./skills modules (true/false, default false). User-created v2 SKILL.md skills live under ~/.minagent/skills.No

Commands / 命令

Type / followed by a command name. Use Tab for autocomplete.

输入 / + 命令名。按 Tab 自动补全。

Git / 版本控制

/status, /diff, /log, /commit, /branch, /checkout, /push, /pull, /merge, /rebase, /cherry-pick, /blame, /stash, /stash-pop, /stash-list

GitHub

/pr, /pr-view, /pr-create, /issue, /issue-view, /repo

Session / 会话

/clear, /compact, /resume, /tokens, /cost, /sessions

Context / 上下文

/add <file>, /drop <file>, /context

System / 系统

/doctor, /config, /env, /model, /permissions, /plan, /act, /skills, /theme, /help, /quit

Skills / Skill

/skills lists v1 and v2 skills. Invoke a skill with /<skill-name>; v2 skills are loaded from ~/.minagent/skills and can include supporting files under references/, templates/, scripts/, or assets/. Use /default to exit active skill scopes.

Project / 项目

/test [pattern] — auto-detect and run tests / 自动检测并运行测试
/format — auto-format code / 自动格式化代码
/changes — show files changed this session / 显示本次会话修改的文件
/diff — show detailed diff of session changes / 显示会话变更的详细 diff


Architecture / 架构

src/
main.tsx # Entry point / 入口
config.ts # Configuration loader / 配置加载
types.ts # Shared types / 共享类型
agent/
index.ts # Core agent loop / 核心 Agent 循环
llm.ts # LLM client (OpenAI + Anthropic + Generic) / LLM 客户端
toolExecutor.ts # Smart concurrent tool execution / 智能并发工具执行
tools/ # 26 built-in tools / 26 个内置工具
commands/ # 40+ slash commands / 40+ 个斜杠命令
components/ # React + Ink UI / React + Ink UI 组件
utils/ # Context, compaction, cost tracking, permissions / 工具库
skills/ # v1 TypeScript skills / v1 TypeScript Skill
skills-v2/ # Markdown SKILL.md system / Markdown SKILL.md 系统
state/ # Session persistence / 会话持久化

License / 许可证

MIT

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages