mocode-ai 1.5.0 → 1.5.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.
- package/docs/usage.md +344 -0
- package/package.json +4 -2
package/docs/usage.md
ADDED
|
@@ -0,0 +1,344 @@
|
|
|
1
|
+
# MoCode 使用指南
|
|
2
|
+
|
|
3
|
+
> 面向首次使用和日常开发的菜单式帮助。命令在全屏 TUI 中输入;输入 `/` 可打开并筛选命令菜单。
|
|
4
|
+
|
|
5
|
+
## 帮助菜单
|
|
6
|
+
|
|
7
|
+
| 入口 | 适用场景 |
|
|
8
|
+
| ---------------------------------- | -------------------------------------------- |
|
|
9
|
+
| [01 快速开始](#快速开始) | 安装、配置并启动第一个会话 |
|
|
10
|
+
| [02 日常对话](#日常对话) | 把需求交给 Agent,控制执行范围 |
|
|
11
|
+
| [03 命令行](#命令行) | 新建、恢复会话和设置沙箱根目录 |
|
|
12
|
+
| [04 TUI 命令菜单](#tui-命令菜单) | 在会话内管理配置、上下文、文件与界面 |
|
|
13
|
+
| [05 PLAN / AUTO](#plan--auto-模式) | 先调研规划,或直接执行 |
|
|
14
|
+
| [06 会话与回滚](#会话与回滚) | 恢复历史、中断任务、撤销文件变更 |
|
|
15
|
+
| [07 项目上下文](#项目上下文) | `AGENTS.md` 与 Skills |
|
|
16
|
+
| [08 配置参考](#配置参考) | 配置优先级和常用环境变量 |
|
|
17
|
+
| [09 常见问题](#常见问题) | 连不上模型、工具不调用、上下文过长等 |
|
|
18
|
+
| [10 输入框快捷键](#输入框快捷键) | 输入框内的所有键盘快捷键、命令菜单与鼠标操作 |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 快速开始
|
|
23
|
+
|
|
24
|
+
**1. 安装 Node.js 18 或更高版本,然后安装 MoCode:**
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npm install -g mocode-ai
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
不想全局安装时,直接运行 `npx mocode-ai`。
|
|
31
|
+
|
|
32
|
+
**2. 配置一个支持 OpenAI 风格 function calling 的模型:**
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
mocode config
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
向导会写入全局配置 `~/.mocode/config`。也可以先运行 `mocode`,再在 TUI 输入 `/model` 配置。
|
|
39
|
+
|
|
40
|
+
**3. 在目标项目目录启动:**
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
mocode
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
例如:`cd your-project` 后再运行 `mocode`。Agent 的默认文件操作范围就是启动目录。
|
|
47
|
+
|
|
48
|
+
**4. 用一个可验证的目标开始:**
|
|
49
|
+
|
|
50
|
+
```text
|
|
51
|
+
请先阅读 README 和 package.json,告诉我如何启动项目;不要修改文件。
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
确认连通后,再给出明确的开发目标,例如“为登录接口补充参数校验,并运行相关验证”。
|
|
55
|
+
|
|
56
|
+
[↑ 返回帮助菜单](#帮助菜单)
|
|
57
|
+
|
|
58
|
+
## 日常对话
|
|
59
|
+
|
|
60
|
+
MoCode 会在“思考 → 调用工具 → 观察结果 → 再思考”的循环中自主推进任务。把**目标、约束和验证要求**放在一条消息里,效果最好:
|
|
61
|
+
|
|
62
|
+
```text
|
|
63
|
+
检查支付模块的重试逻辑,找出可能重复扣款的路径;先给我一个只读分析和修复计划,未经确认不要改文件。
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
实用提示:
|
|
67
|
+
|
|
68
|
+
- 先说明是否允许修改、是否允许执行命令,以及希望运行的验证。
|
|
69
|
+
- 对陌生项目,可先用 `/plan`,或直接要求“只读分析,不修改文件”。
|
|
70
|
+
- 任务运行中可按 `Ctrl+C` 打断当前轮次;不会留下半完成的工具调用。
|
|
71
|
+
- 在复杂任务中,Agent 可能维护 `.mocode/sessions/<session-id>/notes.md` 记录计划、发现与未决问题。
|
|
72
|
+
|
|
73
|
+
[↑ 返回帮助菜单](#帮助菜单)
|
|
74
|
+
|
|
75
|
+
## 命令行
|
|
76
|
+
|
|
77
|
+
| 命令 | 说明 |
|
|
78
|
+
| ------------------------------ | ------------------------------------------- |
|
|
79
|
+
| `mocode` | 在当前目录开启新会话。 |
|
|
80
|
+
| `mocode config` | 运行模型配置向导,写入 `~/.mocode/config`。 |
|
|
81
|
+
| `mocode --resume` | 列出已保存会话。 |
|
|
82
|
+
| `mocode --resume <id>` | 恢复指定会话。 |
|
|
83
|
+
| `mocode --sandbox-root <path>` | 覆盖本次运行的文件操作沙箱根目录。 |
|
|
84
|
+
| `npx mocode-ai` | 无需全局安装,直接运行。 |
|
|
85
|
+
|
|
86
|
+
从源码开发时使用 `npm start`;它直接通过 `tsx` 运行源码,不会执行发布版的后台更新检查。修改 TypeScript 后请重启该命令。
|
|
87
|
+
|
|
88
|
+
> `--sandbox-root` 的优先级高于 `SANDBOX_ROOT`;没有设置时,沙箱根目录为当前工作目录。
|
|
89
|
+
|
|
90
|
+
[↑ 返回帮助菜单](#帮助菜单)
|
|
91
|
+
|
|
92
|
+
## TUI 命令菜单
|
|
93
|
+
|
|
94
|
+
输入 `/` 打开下拉菜单,继续输入可筛选,`Esc` 取消。以下命令均在 TUI 中执行。
|
|
95
|
+
|
|
96
|
+
### 会话、上下文与界面
|
|
97
|
+
|
|
98
|
+
| 命令 | 作用 |
|
|
99
|
+
| -------------------------- | ---------------------------------------------------- |
|
|
100
|
+
| `/exit`、`/quit` | 退出 MoCode。 |
|
|
101
|
+
| `/clear` | 清空会话历史并清屏,保留系统提示。 |
|
|
102
|
+
| `/context` | 查看 token 与消息数的上下文使用情况。 |
|
|
103
|
+
| `/compact [focus]` | 压缩旧历史;可附焦点,例如 `/compact 保留接口约定`。 |
|
|
104
|
+
| `/compact --force [focus]` | 即使可压缩内容很少也强制压缩早期对话。 |
|
|
105
|
+
| `/resume` | 在最近会话中选择并恢复。 |
|
|
106
|
+
| `/sessions` | 浏览全部已保存会话。 |
|
|
107
|
+
| `/rollback` | 选择一个轮次,按文件决定保留或撤销其快照中的改动。 |
|
|
108
|
+
| `/theme [name]` | 选择或直接切换颜色主题。 |
|
|
109
|
+
|
|
110
|
+
### 模型、输入与工具能力
|
|
111
|
+
|
|
112
|
+
| 命令 | 作用 |
|
|
113
|
+
| ------------------------- | ---------------------------------------------------------------- |
|
|
114
|
+
| `/model` | 交互设置 Base URL、API Key、模型和上下文窗口;立即生效并持久化。 |
|
|
115
|
+
| `/skills` | 列出已发现的 Skills。 |
|
|
116
|
+
| `/image <path>` | 将本地图片附加到下一条消息。 |
|
|
117
|
+
| `/image list` | 查看待发送图片。 |
|
|
118
|
+
| `/image clear` | 清除待发送图片。 |
|
|
119
|
+
| `/fe on/off/status` | 允许或硬禁用 `browser-debug` / `desktop-observe` 自动路由。 |
|
|
120
|
+
| `/cu on/off/status` | 允许或硬禁用高危 `computer-control` 自动路由。 |
|
|
121
|
+
| `/subagent on/off/status` | 允许或硬禁用 `orchestration` 自动路由。 |
|
|
122
|
+
| `/mcp on/off/status` | 管理 MCP 连接生命周期及其动态工具簇。 |
|
|
123
|
+
| `/pet` | 打开或断开可选桌宠窗口。 |
|
|
124
|
+
| `/pet skin` | 为已运行的桌宠选择皮肤。 |
|
|
125
|
+
| `/pet quit` | 完全关闭桌宠进程。 |
|
|
126
|
+
|
|
127
|
+
### 记忆与项目上下文
|
|
128
|
+
|
|
129
|
+
| 命令 | 作用 |
|
|
130
|
+
| ------------------------------ | ------------------------------------------------------------------- |
|
|
131
|
+
| `/init` | 让 Agent 扫描项目,生成或刷新 `AGENTS.md` 项目记忆。 |
|
|
132
|
+
| `/memory` | 查看跨会话长期记忆的索引。 |
|
|
133
|
+
| `/memory_switch on/off/status` | 同时管理 memory 自动路由 gate 与 Memory Index;下一真实用户轮生效。 |
|
|
134
|
+
| `/memory_status` | 分别查看 memory route gate 与 Memory Index / 反思状态。 |
|
|
135
|
+
| `/reflect` | 手动触发一次后台记忆反思。 |
|
|
136
|
+
|
|
137
|
+
[↑ 返回帮助菜单](#帮助菜单)
|
|
138
|
+
|
|
139
|
+
## PLAN / AUTO 模式
|
|
140
|
+
|
|
141
|
+
| 模式 | 适用情况 | 能力 |
|
|
142
|
+
| -------- | ------------------------------------ | ------------------------------------------------------------------------------ |
|
|
143
|
+
| **PLAN** | 先理解代码、评估风险、产出可审阅方案 | 只读调研与规划;不写文件、不执行命令、不派生子 Agent。 |
|
|
144
|
+
| **AUTO** | 需求明确,允许自主完成实现与验证 | 每轮由 LLM router 选择最小充分工具簇;能力不足时主模型可在下一 step 单向扩容。 |
|
|
145
|
+
|
|
146
|
+
- `/plan` 切换到 PLAN 模式。它适合“先分析、不要改动”的任务。
|
|
147
|
+
- `/auto` 切回 AUTO 模式,允许执行方案。
|
|
148
|
+
- 在支持的终端中,`Shift+Tab` 也可切换到 PLAN;若输入法或终端吞掉该按键,使用 `/plan` 即可。
|
|
149
|
+
|
|
150
|
+
[↑ 返回帮助菜单](#帮助菜单)
|
|
151
|
+
|
|
152
|
+
## 会话与回滚
|
|
153
|
+
|
|
154
|
+
每轮对话会自动保存。启动时可用 `mocode --resume` 查找会话,或在 TUI 用 `/resume` 选择最近会话;需要浏览更久以前的历史时使用 `/sessions`。
|
|
155
|
+
|
|
156
|
+
文件修改前会按轮次创建快照。使用 `/rollback` 选中目标轮次后,可逐文件决定**保留**或**撤销**。从旧会话恢复但没有相应快照的改动无法通过该功能撤销;重要改动仍建议放在 Git 版本控制下。
|
|
157
|
+
|
|
158
|
+
[↑ 返回帮助菜单](#帮助菜单)
|
|
159
|
+
|
|
160
|
+
## 项目上下文
|
|
161
|
+
|
|
162
|
+
MoCode 通过 `AGENTS.md` 与 Skills 理解项目:
|
|
163
|
+
|
|
164
|
+
| 功能 | 默认状态 | 内容与操作 |
|
|
165
|
+
| --------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------ |
|
|
166
|
+
| **`AGENTS.md`** | 按文件存在情况加载 | 每轮自动加载的 Markdown 项目记忆(同时覆盖静态文件结构、命令清单与项目约定/坑点)。用 `/init` 生成初稿,随后可手工维护。 |
|
|
167
|
+
| **Skills** | 按需加载 | 通过 `use_skill` 工具按需加载的额外能力。详见 `~/.mocode/skills/` 与 `.mocode/skills/`。 |
|
|
168
|
+
|
|
169
|
+
Skills 则是可复用的任务说明。MoCode 默认扫描:
|
|
170
|
+
|
|
171
|
+
- `~/.claude/skills/`
|
|
172
|
+
- `~/.mocode/skills/`
|
|
173
|
+
- `<项目目录>/.mocode/skills/`
|
|
174
|
+
|
|
175
|
+
每个 Skill 是带 frontmatter 的 `<名称>/SKILL.md`。系统先加载其 `description`,任务相关时再加载完整内容。用 `SKILLS_DIRS` 可覆盖默认扫描目录;Windows 用 `;` 分隔多个路径,macOS/Linux 用 `:`。
|
|
176
|
+
|
|
177
|
+
[↑ 返回帮助菜单](#帮助菜单)
|
|
178
|
+
|
|
179
|
+
## MCP 与浏览器能力
|
|
180
|
+
|
|
181
|
+
MCP 和浏览器相关能力是可选扩展,不影响基本的文件编辑与命令执行。使用前先确认:
|
|
182
|
+
|
|
183
|
+
- MCP:在配置文件中设置 MCP 服务后,使用 `/mcp status` 查看连接状态,使用 `/mcp on` 或 `/mcp off` 管理运行时连接;不同 MCP 服务的配置格式以对应服务文档为准。
|
|
184
|
+
- 浏览器:`browser` 默认只访问本机 `http/https` 地址;需要访问远程站点时显式设置 `MOCODE_BROWSER_ALLOW_REMOTE=true`。首次使用前安装 Chromium:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
npx playwright install chromium
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
- `dev_server` 会执行你提供的启动命令,风险等级与 `run_command` 相同;它需要确认,不要把不可信字符串直接作为启动命令传入。
|
|
191
|
+
- PLAN 模式禁用浏览器和 `dev_server`;切换到 AUTO 后才允许 Agent 使用这些能力。
|
|
192
|
+
- 退出 MoCode 时,已登记的开发服务器会被清理,浏览器会话也会关闭;如果进程是外部启动的,请自行检查并停止。
|
|
193
|
+
|
|
194
|
+
[↑ 返回帮助菜单](#帮助菜单)
|
|
195
|
+
|
|
196
|
+
## 安全边界与已知限制
|
|
197
|
+
|
|
198
|
+
MoCode 可以读写项目文件并执行命令,使用前请把它当作一个需要监督的自动化开发工具:
|
|
199
|
+
|
|
200
|
+
- 默认沙箱根目录是启动目录;可用 `--sandbox-root <path>` 或 `SANDBOX_ROOT` 缩小文件操作范围。沙箱限制不等于操作系统级隔离,仍应避免在包含敏感文件的目录中运行。
|
|
201
|
+
- `safe`、`confirm`、`dangerous` 是工具风险等级。看到确认提示时,请核对命令、路径和参数,而不是只按回车。
|
|
202
|
+
- API Key 只放在 `~/.mocode/config`、项目级配置或 shell 环境变量中,不要提交到 Git,也不要粘贴到对话内容里。
|
|
203
|
+
- 回滚依赖每轮快照;从没有对应快照的旧会话恢复时,不能保证通过 `/rollback` 撤销外部产生的改动。重要项目仍建议使用 Git 提交或工作树备份。
|
|
204
|
+
- Agent 不会因为任务结束而自动运行完整测试或构建,也不会强制追加一轮验证。需要验证时,在任务中明确要求它运行哪些命令,并自行检查结果。
|
|
205
|
+
- 当前模型需要支持 OpenAI 风格 function calling;只支持普通文本生成的模型无法可靠使用工具。
|
|
206
|
+
|
|
207
|
+
[↑ 返回帮助菜单](#帮助菜单)
|
|
208
|
+
|
|
209
|
+
## 常见问题
|
|
210
|
+
|
|
211
|
+
### 配置加载优先级
|
|
212
|
+
|
|
213
|
+
以下来源从低到高覆盖;已在 shell 中设置的环境变量始终最高优先级:
|
|
214
|
+
|
|
215
|
+
1. `<当前目录>/.env`(兼容旧用法)
|
|
216
|
+
2. `~/.mocode/config`(`mocode config` 与 `/model` 写入的位置)
|
|
217
|
+
3. `<当前目录>/.mocode/config`(项目级覆盖)
|
|
218
|
+
4. Shell 环境变量
|
|
219
|
+
|
|
220
|
+
最小配置:
|
|
221
|
+
|
|
222
|
+
```env
|
|
223
|
+
LLM_BASE_URL=https://api.example.com/v1
|
|
224
|
+
LLM_API_KEY=your-api-key
|
|
225
|
+
LLM_MODEL=your-model-name
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
模型必须支持 **OpenAI 风格的 function calling**,否则 MoCode 无法可靠调用工具。
|
|
229
|
+
|
|
230
|
+
### 常用环境变量
|
|
231
|
+
|
|
232
|
+
| 变量 | 用途 | 默认值 |
|
|
233
|
+
| ------------------------------- | --------------------------------------------------------------------------- | ------------------------ |
|
|
234
|
+
| `CONTEXT_WINDOW_TOKENS` | 模型实际上下文窗口大小。 | `256000` |
|
|
235
|
+
| `MAX_TOKENS` | 单次回复最大 token 数。 | 不限制 |
|
|
236
|
+
| `AUTO_COMPACT` | 上下文自动压缩开关;开启时统一在 80% 占用触发。 | `true` |
|
|
237
|
+
| `MAX_STEPS` | 每轮 Agent 工具循环的最大步数。 | `200` |
|
|
238
|
+
| `SUB_AGENT_MAX_STEPS` | 子 Agent 默认最大步数。 | `50` |
|
|
239
|
+
| `SANDBOX_ROOT` | 文件操作与命令工作目录的沙箱根。 | 当前工作目录 |
|
|
240
|
+
| `MOCODE_SUBAGENT_ENABLED` | 设 `false` 硬禁用 `orchestration`;unset/`true` 允许按需路由。 | 未设置 |
|
|
241
|
+
| `MOCODE_FRONTEND_TOOLS_ENABLED` | 设 `false` 硬禁用 browser/desktop 路由簇;unset/`true` 允许。 | 未设置 |
|
|
242
|
+
| `MOCODE_COMPUTER_USE_ENABLED` | 设 `false` 硬禁用高危 `computer-control`;unset/`true` 允许明确意图时路由。 | 未设置 |
|
|
243
|
+
| `MEMORY_ENABLED` | 设 `false` 硬禁用 memory 簇;`true` 还会启用 Memory Index。 | 未设置 |
|
|
244
|
+
| `MOCODE_THEME` | TUI 颜色主题。 | `default` |
|
|
245
|
+
| `ANYSEARCH_API_KEY` | 可选联网搜索 API Key。 | 未设置时使用匿名免费额度 |
|
|
246
|
+
|
|
247
|
+
完整注释示例见仓库根目录的 [`.env.example`](../.env.example)。
|
|
248
|
+
|
|
249
|
+
[↑ 返回帮助菜单](#帮助菜单)
|
|
250
|
+
|
|
251
|
+
## 输入框快捷键
|
|
252
|
+
|
|
253
|
+
在 TUI 底部的输入框内,几乎所有编辑都通过键盘完成。下表覆盖当前版本支持的全部快捷键;若与你的终端有冲突(例如某些终端把 `Ctrl+Backspace` 当作普通退格),以终端实际发送为准。
|
|
254
|
+
|
|
255
|
+
### 光标移动
|
|
256
|
+
|
|
257
|
+
| 按键 | 作用 |
|
|
258
|
+
| ---------------------------- | -------------------------------------------------------------------------------------------------------- |
|
|
259
|
+
| `←` / `→` | 左 / 右移动一个字符;已到行首或行尾时跨到上一行 / 下一行 |
|
|
260
|
+
| `↑` / `↓` | 多行输入时上下移动一行;已在首行 / 末行且未打开命令菜单时,改为**滚动内容区**(每格 3 行,等同鼠标滚轮) |
|
|
261
|
+
| `Home` / `Ctrl+A` / `Ctrl+Q` | 跳到当前行行首 |
|
|
262
|
+
| `End` / `Ctrl+E` | 跳到当前行行尾(`Ctrl+Q` 与 `Ctrl+E` 在键盘顶行相邻,构成左右对称的行首/行尾对) |
|
|
263
|
+
|
|
264
|
+
### 编辑与删除
|
|
265
|
+
|
|
266
|
+
| 按键 | 作用 |
|
|
267
|
+
| ----------- | ---------------------------------------------------------------------- |
|
|
268
|
+
| `Backspace` | 删除光标前一个字符;在行首时并入上一行;光标紧贴粘贴块时删除整个粘贴块 |
|
|
269
|
+
| `Delete` | 删除光标后一个字符;在行尾时并入下一行 |
|
|
270
|
+
| `Ctrl+U` | 删除从行首到光标处的所有内容 |
|
|
271
|
+
| `Ctrl+K` | 删除从光标到行尾的所有内容;在行尾时并入下一行 |
|
|
272
|
+
|
|
273
|
+
### 撤销清空
|
|
274
|
+
|
|
275
|
+
| 按键 | 作用 |
|
|
276
|
+
| -------- | ------------------------------------------------------------------------------ |
|
|
277
|
+
| `Ctrl+Z` | 撤销一次 `Ctrl+C` 造成的输入框清空(单次:仅还原清空前的内容,再次按下无效果) |
|
|
278
|
+
|
|
279
|
+
### 换行、发送与会话控制
|
|
280
|
+
|
|
281
|
+
| 按键 | 作用 |
|
|
282
|
+
| ----------------------------------------------------- | ------------------------------------------------------- |
|
|
283
|
+
| `Enter` | 发送消息,开始一轮 Agent 执行 |
|
|
284
|
+
| `Ctrl+J` / `Ctrl+Enter` / `Alt+Enter` / `Shift+Enter` | 在输入框内插入换行,用于编写多行消息(不直接发送) |
|
|
285
|
+
| `Ctrl+C` | 输入框**有内容**时清空输入框;**空**输入框时退出 MoCode |
|
|
286
|
+
| `Ctrl+D` | 输入框为空时退出 MoCode;有内容时忽略 |
|
|
287
|
+
|
|
288
|
+
> 提示:`Ctrl+C` 在 Agent **运行中**用于中断当前轮次(见[日常对话](#日常对话)),在输入框**空闲**时用于清空——两者行为不同。
|
|
289
|
+
|
|
290
|
+
### 滚动内容区(输入框聚焦时也可使用)
|
|
291
|
+
|
|
292
|
+
| 按键 | 作用 |
|
|
293
|
+
| -------- | ------------- |
|
|
294
|
+
| `PgUp` | 向上翻一页 |
|
|
295
|
+
| `PgDn` | 向下翻一页 |
|
|
296
|
+
| `Ctrl+↑` | 向上滚动 5 行 |
|
|
297
|
+
| `Ctrl+↓` | 向下滚动 5 行 |
|
|
298
|
+
|
|
299
|
+
### 命令菜单与补全
|
|
300
|
+
|
|
301
|
+
| 按键 | 作用 |
|
|
302
|
+
| --------- | ---------------------------------------------- |
|
|
303
|
+
| `/` | 进入命令菜单,继续输入可筛选命令 |
|
|
304
|
+
| `↑` / `↓` | 菜单打开时在候选间移动 |
|
|
305
|
+
| `Tab` | 选中当前高亮项并补全(例如 `/model` 的子命令) |
|
|
306
|
+
| `Esc` | 处于子菜单时回到上一级;否则关闭菜单 |
|
|
307
|
+
|
|
308
|
+
### 模式切换
|
|
309
|
+
|
|
310
|
+
| 按键 | 作用 |
|
|
311
|
+
| ----------- | -------------------------------------------------------------------- |
|
|
312
|
+
| `Shift+Tab` | 在 PLAN / AUTO 模式之间切换(若终端吞掉该键,改用 `/plan`、`/auto`) |
|
|
313
|
+
|
|
314
|
+
### 粘贴
|
|
315
|
+
|
|
316
|
+
- 直接 `Ctrl+V`(或中键 / 右键,取决于终端)粘贴大段文本或多行内容时,MoCode 会识别为粘贴:整段作为**不可编辑的粘贴块**一次性插入,提交时还原为原文。这避免逐字符触发编辑,也防止超长文本卡顿。
|
|
317
|
+
- **连续粘贴会生成多个独立的粘贴块**(如 `[📋 121 行 · 2.7K 字符][📋 121 行 · 2.7K 字符]` 紧邻),每个块互不影响,不会把新内容并入旧块。
|
|
318
|
+
- **两个粘贴块之间的文字是可编辑的**:在块之间敲的字、回退、插入都正常生效;在块前按 `Backspace` 删除该块、在块后按 `Delete` 删除下一块。
|
|
319
|
+
- 短小的单行粘贴(≤8 行且 ≤200 字符)会当作普通可编辑文本插入,不生成块。
|
|
320
|
+
|
|
321
|
+
[↑ 返回帮助菜单](#帮助菜单)
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## 常见问题
|
|
326
|
+
|
|
327
|
+
**启动后无法回复,或提示未配置模型**
|
|
328
|
+
运行 `mocode config` 或 TUI 中的 `/model`,检查 `LLM_BASE_URL`、`LLM_API_KEY`、`LLM_MODEL` 三项。若 shell 中设置了同名变量,它会覆盖配置文件值。
|
|
329
|
+
|
|
330
|
+
**Agent 不调用工具**
|
|
331
|
+
确认模型和后端支持 OpenAI 风格 function calling;纯文本聊天模型无法可靠执行工具调用。
|
|
332
|
+
|
|
333
|
+
**Agent 操作了错误目录,或文件被沙箱拒绝**
|
|
334
|
+
在正确项目目录启动 `mocode`,或明确设置 `--sandbox-root <path>` / `SANDBOX_ROOT`。沙箱会拒绝越界相对路径、沙箱外绝对路径和符号链接逃逸。
|
|
335
|
+
|
|
336
|
+
**上下文快满了**
|
|
337
|
+
使用 `/context` 查看用量,使用 `/compact` 压缩;也可以缩小任务、明确焦点,或将 `CONTEXT_WINDOW_TOKENS` 设置为模型真实窗口。
|
|
338
|
+
|
|
339
|
+
**联网搜索失败或限流**
|
|
340
|
+
可设置 `ANYSEARCH_API_KEY` 使用自己的额度;不设置时会使用匿名免费额度并受 IP 限流。
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
344
|
+
还需要定位具体能力时,可从 [帮助菜单](#帮助菜单) 返回,或在 TUI 输入 `/` 查看当前版本实际提供的命令。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mocode-ai",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.1",
|
|
4
4
|
"description": "终端编码 agent:LLM + tool-call 循环 + 流式输出(含思考)+ 25 个工具,接任意 OpenAI 兼容后端。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
"files": [
|
|
11
11
|
"dist",
|
|
12
12
|
"bin",
|
|
13
|
-
"README.md"
|
|
13
|
+
"README.md",
|
|
14
|
+
"README.zh-CN.md",
|
|
15
|
+
"docs/usage.md"
|
|
14
16
|
],
|
|
15
17
|
"workspaces": [
|
|
16
18
|
"packages/*"
|