min-agent 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/README.md +154 -216
  2. package/dist/agent.js +1119 -256
  3. package/dist/cli/commands/chat.js +10 -0
  4. package/dist/cli/commands/exec.js +32 -0
  5. package/dist/cli/commands/history.js +58 -0
  6. package/dist/cli/commands/index.js +224 -0
  7. package/dist/cli/commands/init.js +18 -0
  8. package/dist/cli/commands/mcp.js +173 -0
  9. package/dist/cli/commands/memory.js +69 -0
  10. package/dist/cli/commands/models.js +21 -0
  11. package/dist/cli/commands/permission.js +12 -0
  12. package/dist/cli/commands/rules.js +33 -0
  13. package/dist/cli/commands/sandbox.js +13 -0
  14. package/dist/cli/commands/serve.js +9 -0
  15. package/dist/cli/commands/setup.js +4 -0
  16. package/dist/cli/commands/shared.js +16 -0
  17. package/dist/cli/commands/skills.js +119 -0
  18. package/dist/cli/commands/update.js +7 -0
  19. package/dist/cli/commands/write-config.js +30 -0
  20. package/dist/cli/errors.js +36 -0
  21. package/dist/cli/exec-prompt.js +26 -0
  22. package/dist/cli/option-helpers.js +53 -0
  23. package/dist/cli/program.js +180 -0
  24. package/dist/cli.js +5 -888
  25. package/dist/code-mode.js +32 -14
  26. package/dist/compaction.js +347 -160
  27. package/dist/config.js +119 -10
  28. package/dist/confirm.js +56 -9
  29. package/dist/context-window.js +107 -39
  30. package/dist/doom-loop.js +264 -29
  31. package/dist/fetch-timeout.js +152 -0
  32. package/dist/http-approvals.js +60 -0
  33. package/dist/instructions.js +21 -0
  34. package/dist/logger.js +33 -4
  35. package/dist/markdown.js +37 -11
  36. package/dist/mcp.js +328 -30
  37. package/dist/memory.js +97 -56
  38. package/dist/output.js +7 -5
  39. package/dist/permission-cli.js +43 -0
  40. package/dist/plugins.js +46 -8
  41. package/dist/pricing.js +4 -4
  42. package/dist/provider.js +23 -6
  43. package/dist/question-format.js +60 -0
  44. package/dist/sandbox-cli.js +82 -0
  45. package/dist/sandbox.js +403 -0
  46. package/dist/save-throttle.js +45 -0
  47. package/dist/serve/common.js +404 -0
  48. package/dist/serve/routes-chat.js +347 -0
  49. package/dist/serve/routes-mcp.js +212 -0
  50. package/dist/serve/routes-memory.js +66 -0
  51. package/dist/serve/routes-meta.js +205 -0
  52. package/dist/serve/routes-sessions.js +61 -0
  53. package/dist/serve/routes-skills.js +70 -0
  54. package/dist/serve.js +33 -883
  55. package/dist/sessions.js +53 -9
  56. package/dist/skills.js +82 -18
  57. package/dist/title-gen.js +8 -2
  58. package/dist/token-display.js +36 -0
  59. package/dist/tool-display.js +5 -0
  60. package/dist/tool-output.js +1 -3
  61. package/dist/tools/apply_patch.js +85 -11
  62. package/dist/tools/atomic-file.js +35 -0
  63. package/dist/tools/backend.js +2 -2
  64. package/dist/tools/bash.js +57 -19
  65. package/dist/tools/code_search.js +7 -1
  66. package/dist/tools/edit.js +11 -10
  67. package/dist/tools/explore.js +74 -14
  68. package/dist/tools/glob.js +4 -0
  69. package/dist/tools/grep.js +17 -10
  70. package/dist/tools/index.js +6 -21
  71. package/dist/tools/question.js +28 -9
  72. package/dist/tools/read.js +6 -4
  73. package/dist/tools/search-searxng.js +223 -0
  74. package/dist/tools/search-serper.js +189 -0
  75. package/dist/tools/task.js +84 -30
  76. package/dist/tools/todo.js +120 -19
  77. package/dist/tools/web_fetch.js +11 -3
  78. package/dist/tools/web_search.js +66 -556
  79. package/dist/tools/write.js +23 -6
  80. package/dist/tui/App.js +63 -14
  81. package/dist/tui/ConfirmBar.js +45 -13
  82. package/dist/tui/InputBar.js +150 -35
  83. package/dist/tui/MessageList.js +266 -125
  84. package/dist/tui/ModelPicker.js +8 -3
  85. package/dist/tui/QuestionBar.js +51 -19
  86. package/dist/tui/SessionPicker.js +79 -0
  87. package/dist/tui/StatusBar.js +8 -14
  88. package/dist/tui/agent-runner.js +142 -22
  89. package/dist/tui/caret-pos.js +48 -5
  90. package/dist/tui/caret.js +1 -1
  91. package/dist/tui/click-count.js +13 -0
  92. package/dist/tui/drag-state.js +8 -3
  93. package/dist/tui/hydrate.js +129 -0
  94. package/dist/tui/index.js +42 -13
  95. package/dist/tui/input-history.js +92 -11
  96. package/dist/tui/layout.js +75 -4
  97. package/dist/tui/prompt-queue.js +24 -0
  98. package/dist/tui/selection.js +113 -21
  99. package/dist/tui/session-switch.js +28 -0
  100. package/dist/tui/slash-commands.js +22 -6
  101. package/dist/tui/slash-handler.js +233 -58
  102. package/dist/tui/text-width.js +38 -16
  103. package/dist/tui/token-info.js +7 -0
  104. package/dist/tui/tool-children.js +19 -0
  105. package/dist/tui/undo-stack.js +1 -1
  106. package/dist/tui/use-sgr-mouse.js +3 -1
  107. package/dist/tui-chat.js +276 -40
  108. package/dist/updater.js +88 -29
  109. package/dist/xml-search.js +194 -0
  110. package/docs/API.md +257 -25
  111. package/docs/superpowers/plans/2026-08-20-tui-completeness.md +873 -0
  112. package/docs/superpowers/plans/2026-08-20-unified-tui-default.md +631 -0
  113. package/docs/superpowers/specs/2026-08-20-config-http-alignment-design.md +47 -0
  114. package/docs/superpowers/specs/2026-08-20-mcp-plugins-alignment-design.md +37 -0
  115. package/docs/superpowers/specs/2026-08-20-sandbox-permissions-design.md +68 -0
  116. package/docs/superpowers/specs/2026-08-20-tui-completeness-design.md +273 -0
  117. package/docs/superpowers/specs/2026-08-20-unified-tui-default-design.md +165 -0
  118. package/package.json +6 -1
  119. package/skills/self-config/SKILL.md +90 -0
  120. package/skills/self-config/reference.md +149 -0
package/README.md CHANGED
@@ -1,283 +1,221 @@
1
+ <div align="center">
2
+
1
3
  # min-agent
2
4
 
3
- Minimal AI coding agent for the terminal. Works with any OpenAI-compatible API.
5
+ 一款在终端里运行的 AI 编程助手 · An AI coding agent that lives in your terminal
6
+
7
+ [![English](https://img.shields.io/badge/lang-English-blue.svg)](#english)
8
+ [![简体中文](https://img.shields.io/badge/lang-简体中文-red.svg)](#简体中文)
9
+
10
+ </div>
11
+
12
+ <br>
13
+
14
+ <div align="center">
15
+
16
+ ⬇️ 请选择你的语言 / Please choose your language ⬇️
17
+
18
+ **➡️ [English](#english)  ➡️ [简体中文](#简体中文)**
19
+
20
+ </div>
21
+
22
+ <br><br>
23
+
24
+ <a id="english"></a>
25
+
26
+ # 🇬🇧 English
27
+
28
+ > A minimal AI coding agent for your terminal. Works with OpenAI, Ollama, and any OpenAI-compatible provider.
4
29
 
5
- ## Install
30
+ <sub>[🔝 Back to language selector](#min-agent) · [🇨🇳 Switch to 简体中文](#简体中文)</sub>
31
+
32
+ ## Get Started
6
33
 
7
34
  ```bash
8
35
  npm install -g min-agent
36
+ min-agent setup # Configure your AI provider
37
+ min-agent # Start chatting
9
38
  ```
10
39
 
11
- ## Quick Start
40
+ ## Basic Usage
12
41
 
13
42
  ```bash
14
- min-agent setup # Configure provider
15
- min-agent chat "hello" # Single message
16
- min-agent chat # Interactive session
17
- min-agent code # Project-aware coding mode
43
+ min-agent # Start an interactive session
44
+ min-agent "your message" # Start a session and send a message immediately
45
+ min-agent exec "your message" # Ask a single question, then exit
46
+ min-agent --resume <id> # Resume a previous session
47
+ min-agent history # List saved sessions
48
+ min-agent models # List available models
49
+ min-agent update # Upgrade to the latest version
18
50
  ```
19
51
 
20
- ---
21
-
22
- ## Commands
52
+ Attach an image or pick a specific model/provider for one message:
23
53
 
24
54
  ```bash
25
- min-agent chat [message] # Chat (interactive if no message)
26
- min-agent chat -m <model> "msg" # Override model
27
- min-agent chat --provider <name> "msg" # Use a specific provider
28
- min-agent chat -i img.png "msg" # Attach image
29
- min-agent chat --resume <id> # Resume session
30
- min-agent code # AI coding mode (project scan)
31
- min-agent setup # Configure API provider
32
- min-agent models # List available models
33
- min-agent history # List saved sessions
34
- min-agent history delete <id> # Delete a session
35
- min-agent history rename <id> <t> # Rename a session
36
- min-agent history export <id> [-o file] # Export a session as JSON
37
- min-agent update # Check for updates and upgrade
38
- min-agent rules # Show loaded rules
39
- min-agent rules edit # Edit global rules
40
- min-agent memory # List memories
41
- min-agent memory add "text" # Save memory
42
- min-agent mcp -h # MCP server management
43
- min-agent skills -h # Skills management
44
- min-agent serve # Start HTTP API server
55
+ min-agent -i photo.png "what's in this image?"
56
+ min-agent -m gpt-5.5 "your message"
57
+ min-agent --provider anthropic "your message"
45
58
  ```
46
59
 
47
- ## Interactive Commands
60
+ ## While Chatting
48
61
 
49
- Type `/` in the interactive session to pop up a command menu (↑↓ navigate, Enter select, Esc close). All commands also work by typing them directly:
62
+ Type `/` to open a command menu. Use **↑ / ↓** to recall previous messages.
50
63
 
51
64
  | Command | Description |
52
- |---------|-------------|
53
- | `/clear` | Clear history |
54
- | `/compact` | Force compaction |
55
- | `/model [name]` | Interactive model picker (↑↓ navigate, Enter confirm) |
56
- | `/provider [name]` | List/switch provider |
57
- | `/plan` | Toggle read-only plan mode |
58
- | `/memory [text]` | List/save memory |
59
- | `/tokens` | Context usage & cost |
60
- | `/budget [n]` | Show/set cost budget (USD) |
61
- | `/undo` | Undo last turn |
62
- | `/redo` | Resend last message |
63
- | `/diff` | Show working tree diff |
64
- | `/sessions` | List saved sessions |
65
- | `/rename <title>` | Rename current session |
65
+ |---|---|
66
+ | `/new` | Start a new session |
67
+ | `/model` | Switch model |
68
+ | `/provider` | Switch provider |
69
+ | `/plan` | Toggle plan mode (look, don't touch) |
70
+ | `/undo` | Undo the last turn |
71
+ | `/diff` | Show file changes made so far |
72
+ | `/sessions` | List or switch sessions |
66
73
  | `/attach <path>` | Attach a local image |
67
- | `/paste [text]` | Clipboard image |
68
- | `/mcp` | MCP server status |
69
- | `/skills` | List skills; `/skills info <name>` to view; `/skills enable\|disable <name>` to toggle |
70
- | `/models` | List available models |
71
- | `/path` | Working directory |
72
- | `/help` | All commands |
74
+ | `/mcp` | Show connected MCP servers |
75
+ | `/skills` | Manage skills |
76
+ | `/tokens` | Usage and estimated cost |
77
+ | `/help` | Show all commands |
73
78
  | `/exit` | Exit |
74
79
 
75
- **Ctrl+C** interrupts current generation.
80
+ Shortcuts: **Ctrl+C** clears the input (press twice to exit) · **Ctrl+B** selects text to copy · mouse drag-select also copies on release.
76
81
 
77
- **鼠标拖拽** 在消息区拖拽选择文本,松开自动复制到剪贴板(状态栏会短暂提示"已复制")。
82
+ ## Staying in Control
78
83
 
79
- ---
80
-
81
- ## Configuration
84
+ min-agent asks for confirmation before risky actions by default.
82
85
 
83
- All config in `~/.min-agent/`:
84
-
85
- ```json
86
- // ~/.min-agent/config.json
87
- {
88
- "providers": [
89
- {
90
- "name": "default",
91
- "type": "openai-compatible",
92
- "baseURL": "https://api.openai.com/v1",
93
- "apiKey": "sk-...",
94
- "defaultModel": "gpt-5.5",
95
- "contextWindow": 128000
96
- }
97
- ],
98
- "activeProvider": "default",
99
- "webSearchURL": "https://your-searxng.example.com",
100
- "serperApiKey": "your-serper-key",
101
- "instructions": ["./docs/rules.md"],
102
- "disabledSkills": [],
103
- "pricing": { "gpt-5.5": { "inputPerMillion": 1.25, "outputPerMillion": 10 } },
104
- "sampling": { "temperature": 0.7, "maxTokens": 4096 },
105
- "budget": { "maxCostUSD": 5 }
106
- }
86
+ ```bash
87
+ min-agent permission # Show current setting
88
+ min-agent --permission ask # Confirm before risky actions (default)
89
+ min-agent --permission accept-edits # Auto-approve file edits only
90
+ min-agent --permission allow-all # Auto-approve everything — use with care
107
91
  ```
108
92
 
109
- Project-level config lives in `.min-agent/config.json` and currently holds skill state only:
93
+ You can also limit what it's allowed to touch on your machine:
110
94
 
111
- ```json
112
- // .min-agent/config.json
113
- {
114
- "disabledSkills": ["noisy-skill"],
115
- "enabledSkills": ["skill-disabled-globally"]
116
- }
95
+ ```bash
96
+ min-agent sandbox # Show current restriction level
97
+ min-agent sandbox off # No restriction (default)
98
+ min-agent sandbox workspace # Only allow changes inside the current folder
117
99
  ```
118
100
 
119
- `pricing` 覆盖模型价格(USD / 1M tokens),用于成本估算;未配置时自动从 models.dev 获取。
101
+ ## Configuration
102
+
103
+ Run `min-agent setup` for a guided setup — this is the easiest way to add or switch AI providers.
104
+
105
+ Settings live in `~/.min-agent/config.json` (global). A project can have its own `.min-agent/config.json` that only applies there.
120
106
 
121
- Multiple providers are supported: add entries to `providers` and set `activeProvider` (or use `min-agent setup`). Old single-provider configs are migrated automatically on first run.
107
+ ## Extending It
122
108
 
123
- `sampling` sets defaults for temperature/maxTokens/topP (overridable per request). `budget.maxCostUSD` aborts the current run as soon as cumulative cost exceeds the limit (checked after each model step).
109
+ - **MCP servers** connect external tools and data sources: `min-agent mcp -h`
110
+ - **Skills** — reusable instructions the agent loads automatically: `min-agent skills -h`
111
+ - **Project rules** — add an `AGENTS.md` or `RULES.md` file to your project for custom instructions; use `~/.min-agent/rules.md` for global ones.
124
112
 
125
- Provider types: `openai-compatible` | `openai` | `ollama`
113
+ ## API Access
126
114
 
127
- Logs: `~/.min-agent/logs/min-agent.YYYY-MM-DD.log` (rotated daily, kept 7 days)
115
+ `min-agent serve` starts a local HTTP API server so other apps can talk to min-agent. Reference: [docs/API.md](docs/API.md)
116
+
117
+ ## License
118
+
119
+ MIT
120
+
121
+ <br>
128
122
 
129
123
  ---
130
124
 
131
- ## MCP
125
+ <br>
132
126
 
133
- ```bash
134
- min-agent mcp add <name> <cmd...> # Local stdio
135
- min-agent mcp add <name> <cmd...> --env K=V # Local stdio with env vars
136
- min-agent mcp add <name> --url <url> --token T # Remote HTTP
137
- min-agent mcp add <name> --url <url> --sse # Legacy SSE transport
138
- min-agent mcp add <name> --url <url> --streamable-http # Force streamable HTTP
139
- min-agent mcp add <name> ... --project # Save to .min-agent/mcp.json (this repo only)
140
- min-agent mcp add <name> ... --timeout 10000 # Connection/call timeout in ms
141
- min-agent mcp list # List (name + status + scope)
142
- min-agent mcp info <name> # Details
143
- min-agent mcp enable/disable <name...> [--project] # Toggle
144
- min-agent mcp remove <name> [--project] # Remove
145
- min-agent mcp check # Test connectivity
146
- ```
127
+ <a id="简体中文"></a>
147
128
 
148
- 配置合并规则:`~/.min-agent/mcp.json`(全局)与 `.min-agent/mcp.json`(项目)按名称合并,项目条目覆盖同名全局条目;`mcp list` 会标注 `[project]`。
149
-
150
- 远程服务器如需 OAuth 登录(部分云端 MCP),在 mcp.json 里加 `"oauth": {}`(或用 `"clientId"`/`"clientSecret"`/`"scope"` 显式指定),连接时自动打开浏览器完成授权,令牌缓存在 `~/.min-agent/mcp-oauth/`。`"oauth": false` 关闭。
151
-
152
- mcp.json 完整字段(`min-agent mcp add` 只生成子集,其余手写):
153
-
154
- ```json
155
- {
156
- "mcpServers": {
157
- "filesystem": {
158
- "command": ["npx", "-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
159
- "environment": { "KEY": "VALUE" },
160
- "enabled": true,
161
- "connectTimeout": 10000,
162
- "callTimeout": 30000
163
- },
164
- "remote": {
165
- "url": "https://mcp.example.com/mcp",
166
- "remoteTransport": "auto",
167
- "token": "bearer-token",
168
- "headers": { "X-API-Key": "..." },
169
- "oauth": {},
170
- "connectTimeout": 15000,
171
- "callTimeout": 30000
172
- }
173
- }
174
- }
175
- ```
129
+ # 🇨🇳 简体中文
130
+
131
+ > 一款可在终端里运行的极简 AI 编程助手,支持 OpenAI、Ollama 以及任何兼容 OpenAI 接口的服务商。
176
132
 
177
- - `remoteTransport`:`auto`(默认,先 streamable-http sse)、`streamable-http`、`sse`
178
- - `timeout`:连接与调用共用的旧字段;`connectTimeout` / `callTimeout` 可分别覆盖
179
- - 连接失败时错误信息会带上服务器 stderr 的最后几行,便于排查
133
+ <sub>[🔝 返回语言选择](#min-agent) · [🇬🇧 Switch to English](#english)</sub>
180
134
 
181
- ## Skills
135
+ ## 快速上手
182
136
 
183
137
  ```bash
184
- min-agent skills list # List (status + scope + description + path)
185
- min-agent skills list --json # Machine-readable output
186
- min-agent skills info <name> # Details + content
187
- min-agent skills info <name> --json # Details as JSON
188
- min-agent skills new <name> # Create a skill scaffold (.min-agent/skills/<name>/)
189
- min-agent skills new <name> --global # Create in ~/.agents/skills/<name>/
190
- min-agent skills disable <name...> # Disable everywhere (global)
191
- min-agent skills disable <name...> --project # Disable in this repo only
192
- min-agent skills enable <name...> --project # Re-enable here even if disabled globally
138
+ npm install -g min-agent
139
+ min-agent setup # 配置你的 AI 服务商
140
+ min-agent # 开始对话
193
141
  ```
194
142
 
195
- Scope: project state lives in `.min-agent/config.json`, global state in `~/.min-agent/config.json`.
196
- Project wins over global, so disabling a repo-local skill never affects other repos.
143
+ ## 基本用法
197
144
 
198
- In the interactive session: `/skills`, `/skills info <name>`, `/skills disable <name> [--project]`, `/skills enable <name> [--project]`.
199
- Type `/skills ` and press Tab to complete subcommands and skill names.
145
+ ```bash
146
+ min-agent # 进入交互会话
147
+ min-agent "你的消息" # 进入交互会话并立即发送消息
148
+ min-agent exec "你的消息" # 单次提问后自动退出
149
+ min-agent --resume <id> # 恢复之前的会话
150
+ min-agent history # 查看已保存的会话
151
+ min-agent models # 查看可用模型
152
+ min-agent update # 升级到最新版本
153
+ ```
200
154
 
201
- Create: `min-agent skills new <name>` scaffolds a `SKILL.md` template into `.min-agent/skills/<name>/` (add `--global` for `~/.agents/skills/`), or write it by hand:
155
+ 为单条消息附带图片,或指定模型/服务商:
202
156
 
203
- ```markdown
204
- ---
205
- name: my-skill
206
- description: What it does
207
- # optional
208
- version: 1.0.0
209
- allowed-tools: [read, grep]
210
- metadata:
211
- requires:
212
- bins: ["some-cli"]
213
- ---
214
- # Instructions...
157
+ ```bash
158
+ min-agent -i photo.png "这张图片是什么?"
159
+ min-agent -m gpt-5.5 "你的消息"
160
+ min-agent --provider anthropic "你的消息"
215
161
  ```
216
162
 
217
- - `description` may use a YAML block scalar (`|` / `>`) for multi-line text.
218
- - Discovery paths, in override order: `~/.agents/skills/` → `.min-agent/skills/` → `.agents/skills/` → `.opencode/skills/` → `.claude/skills/`. Symlinked skill directories are followed, so one shared skill library can be linked into several of these.
219
- - A same-named skill in a later path overrides the earlier one; within one path the top-level `SKILL.md` wins over a nested copy.
220
- - `MIN_AGENT_SKILLS_DIRS` (path-delimiter separated) replaces the discovery list entirely.
221
- - Files next to `SKILL.md` (including subdirectories such as `scripts/`) are listed for the agent when the skill loads; `metadata.requires.bins` entries missing from `PATH` are reported.
163
+ ## 对话中的操作
222
164
 
223
- ## Rules
165
+ 输入 `/` 弹出命令菜单。使用 **↑ / ↓** 翻看之前的消息。
224
166
 
225
- | Source | Scope |
226
- |--------|-------|
227
- | `~/.min-agent/rules.md` | Global |
228
- | `./AGENTS.md` or `./RULES.md` | Project |
229
- | `config.instructions[]` | Custom paths/URLs |
167
+ | 命令 | 说明 |
168
+ |---|---|
169
+ | `/new` | 开始新会话 |
170
+ | `/model` | 切换模型 |
171
+ | `/provider` | 切换服务商 |
172
+ | `/plan` | 切换"计划模式"(只看不改) |
173
+ | `/undo` | 撤销上一轮操作 |
174
+ | `/diff` | 查看当前已产生的文件改动 |
175
+ | `/sessions` | 查看或切换会话 |
176
+ | `/attach <路径>` | 附加本地图片 |
177
+ | `/mcp` | 查看已连接的 MCP 服务 |
178
+ | `/skills` | 管理技能 |
179
+ | `/tokens` | 查看用量与预估费用 |
180
+ | `/help` | 查看全部命令 |
181
+ | `/exit` | 退出 |
230
182
 
231
- ## Plugins
183
+ 快捷键:**Ctrl+C** 清空输入框(连按两次退出)· **Ctrl+B** 选中文本以复制 · 也支持鼠标拖拽选中并自动复制。
232
184
 
233
- Custom tools: `.min-agent/tools/*.ts` or `~/.min-agent/tools/*.ts`
185
+ ## 掌控风险
234
186
 
235
- ```typescript
236
- export const myTool = {
237
- description: "...",
238
- parameters: { arg: { type: "string", description: "..." } },
239
- execute: async ({ arg }) => "result"
240
- }
241
- ```
187
+ min-agent 默认会在执行有风险的操作前先询问你。
242
188
 
243
- ```typescript
244
- export const dockerPs = {
245
- description: "List running docker containers",
246
- parameters: { limit: { type: "number", description: "Max containers to show" } },
247
- execute: async ({ limit }) => {
248
- const { execSync } = await import("child_process")
249
- return execSync(`docker ps --format "table {{.Names}}\t{{.Status}}" --limit ${limit ?? 10}`, {
250
- encoding: "utf-8",
251
- })
252
- }
253
- }
189
+ ```bash
190
+ min-agent permission # 查看当前设置
191
+ min-agent --permission ask # 有风险操作前先询问(默认)
192
+ min-agent --permission accept-edits # 仅自动批准文件修改
193
+ min-agent --permission allow-all # 自动批准所有操作 —— 请谨慎使用
254
194
  ```
255
195
 
256
- ---
257
-
258
- ## HTTP API
196
+ 也可以限制它能在你电脑上访问的范围:
259
197
 
260
198
  ```bash
261
- min-agent serve [--port 8787]
199
+ min-agent sandbox # 查看当前限制级别
200
+ min-agent sandbox off # 不限制(默认)
201
+ min-agent sandbox workspace # 仅允许修改当前项目文件夹内的内容
262
202
  ```
263
203
 
264
- Full reference: [docs/API.md](docs/API.md)
204
+ ## 配置
265
205
 
266
- ---
206
+ 运行 `min-agent setup` 即可通过引导式流程完成配置,这是添加或切换 AI 服务商最简单的方式。
207
+
208
+ 配置保存在 `~/.min-agent/config.json`(全局生效)。也可以在某个项目下单独创建 `.min-agent/config.json`,仅对该项目生效。
209
+
210
+ ## 扩展能力
211
+
212
+ - **MCP 服务**:连接外部工具与数据源,运行 `min-agent mcp -h` 了解详情
213
+ - **技能(Skills)**:可自动加载的可复用指令集,运行 `min-agent skills -h` 了解详情
214
+ - **项目规则**:在项目根目录添加 `AGENTS.md` 或 `RULES.md` 编写自定义指令;全局规则写入 `~/.min-agent/rules.md`
215
+
216
+ ## API 接入
267
217
 
268
- ## Environment Variables
269
-
270
- | Variable | Description |
271
- |----------|-------------|
272
- | `EXA_API_KEY` | Enable Exa code search |
273
- | `MIN_AGENT_SERPER_API_KEY` | Serper key for `search_web` (default backend; takes precedence over `serperApiKey` in config) |
274
- | `MIN_AGENT_SEARXNG_URL` | Use SearXNG instead of Serper for `search_web` (takes precedence over `webSearchURL` in config) |
275
- | `MIN_AGENT_SEARXNG_FALLBACK_ENGINES` | Engines retried when the SearXNG instance's default engines return nothing (default `google,bing`; empty string disables the retry) |
276
- | `MIN_AGENT_FIRECRAWL_URL` | Firecrawl instance for `web_fetch` (takes precedence over `webFetchURL` in config) |
277
- | `MIN_AGENT_SKILLS_DIRS` | `:`-separated dirs that replace the default skill discovery list |
278
- | `MIN_AGENT_SHOW_THINKING` | `0` to hide thinking |
279
- | `MIN_AGENT_SERVE_TOKEN` | API auth token |
280
- | `MIN_AGENT_SERVE_CORS` | `1` to enable CORS (without a token, only localhost origins are allowed) |
218
+ `min-agent serve` 可启动本地 HTTP API 服务,供其他应用调用。完整说明见 [docs/API.md](docs/API.md)
281
219
 
282
220
  ## License
283
221