本文介绍 Qoder CN CLI 的各种运行模式和核心功能,包括 TUI 模式、Print 模式、MCP 服务、权限控制、Worktree、Memory、Subagent 和命令。
TUI 模式
在任意项目根目录运行 qoderclicn 即可进入默认的 TUI(交互式)模式。可以通过文本与 CLI 对话,或使用斜杠命令执行特定功能。
输入模式
TUI 提供多种输入模式:
命令 | 描述 |
| 对话模式(默认)。输入任意文本即可与 CLI 对话 |
| Bash 模式。在对话模式下输入 |
| 斜杠模式。在对话模式下输入 |
| 记忆模式。在对话模式下输入 |
| 输入回车,输入多行文本内容 |
内置工具
Qoder CN CLI 内置了 Grep、Read、Write 和 Bash 等工具,可用于文件/目录操作与执行 shell 命令。
斜杠命令
使用以下内置斜杠命令可快速访问功能和设置:
命令 | 描述 |
| 登录你的 Qoder CN账号 |
| 显示 TUI 的使用帮助信息 |
| 在项目中初始化或更新 |
| 编辑 |
| 基于 Spec 的任务委派 |
| 对本地代码改动进行评审 |
| 查看会话、恢复指定会话 |
| 清除当前会话的历史上下文 |
| 总结当前会话的历史上下文 |
| 显示当前账户状态、Credits 消耗等信息 |
| 查看 Qoder CN CLI 状态,包括版本、模型、账户、API 连通性、工具状态等 |
| 显示 Qoder CN CLI 的系统配置 |
| 子 Agent 命令:查看、创建、管理子 Agent |
| 查看当前正在运行的后台 Bash 任务(由 Bash 工具启动) |
| 显示 Qoder CN CLI 的更新日志 |
| 打开外部编辑器以编辑输入 |
| 反馈 Qoder CN CLI 相关问题 |
| 退出 TUI |
| 退出你的 Qoder CN账号 |
高级启动选项
启动 CLI 时,可使用以下选项来控制其行为:
命令 | 说明 | 示例 |
| 指定工作区目录 |
|
| 继续上次会话 |
|
| 恢复指定会话 |
|
| 允许使用的工具 |
|
| 禁止使用的工具 |
|
| 最大对话轮数 |
|
| 跳过权限检查 |
|
Print 模式
Print 模式为非交互式模式。运行 qoderclicn --print 进入该模式,输出将按 --output-format 参数指定格式打印输出,中间过程无需人工干预。
参数
Qoder CN CLI 安装完成后即可在系统中使用 qoderclicn 命令,命令参数及功能介绍如下:
参数 | 说明 | 示例 |
| 以非交互方式运行 Agent |
|
| 输出格式:text、json、stream-json |
|
| 指定工作区目录 |
|
| 继续上次会话 |
|
| 恢复指定会话 |
|
| 仅允许指定工具 |
|
| 禁止指定工具 |
|
| 最大对话轮数 |
|
| 跳过权限检查 |
|
MCP 服务
Qoder CN CLI 可与标准 MCP 工具集成,只需添加该工具的 MCP 服务即可开始使用。例如,要通过 Playwright 启用浏览器控制,请运行以下命令:
qoderclicn mcp add playwright -- npx -y @playwright/mcp@latest管理 MCP
使用
-t设置 MCP 服务类型:stdio、sse、streamable-http,Stdio 类型 Server 在 TUI 启动时会被自动拉起。使用
-s设置范围:用户级或项目级,必要时可按项目配置 MCP 服务。使用以下命令管理已添加的 MCP 服务:
# 列出 MCP 服务
qoderclicn mcp list
# 移除 MCP 服务
qoderclicn mcp remove playwrightMCP 服务文件
已添加的 MCP 服务会保存在项目中的以下文件中。
# 为当前用户或特定项目添加,不会被提交。
.qoder-cn.json
# 为当前项目添加,通常会被提交。
${project}/.mcp.json推荐工具
qoderclicn mcp add context7 -- npx -y @upstash/context7-mcp@latestqoderclicn mcp add deepwiki -- npx -y mcp-deepwiki@latestqoderclicn mcp add chrome-devtools -- npx chrome-devtools-mcp@latest
Permission
Qoder CN CLI 对工具的执行具有细粒度权限控制,具体可以在如下配置文件中进行配置,配置文件的优先级依次递增:
~/.qoder-cn/settings.json
${project}/.qoder/settings.json
${project}/.qoder/settings.local.json(通常添加到 .gitignore)配置
Qoder CN CLI 通过三种核心策略进行权限控制:Allow、Deny 和 Ask。它们可与特定工具的规则组合,用于针对项目或用户进行更精细的访问管理。默认情况下,CLI 对于所选项目目录之外的文件访问采用更安全的"Ask"策略,同时在启动时会在项目目录内自动创建标准的读/写规则。所有策略均可完全自定义,以适配你的工作流程。
{
"permissions": {
"ask": [
"Read(!/Users/qodercn_user/Documents/codes/go-micro/**)",
"Edit(!/Users/qodercn_user/Documents/codes/go-micro/**)"
],
"allow": [
"Read(/Users/qodercn_user/Documents/codes/go-micro/**)",
"Edit(/Users/qodercn_user/Documents/codes/go-micro/**)"
],
"deny": []
}
}不同类型的配置规则
读取与编辑(Read & Edit) 读取规则适用于所有读文件的工具,如 Grep、Glob 和 LS。模式遵循 gitignore 风格的匹配。支持的模式形式包括:
模式 | 描述 | 示例 | 匹配 |
| 从系统根目录起的绝对路径 |
|
|
| 从 Home 目录起的路径 |
|
|
| 相对于当前目录的路径 |
|
|
WebFetch 限制网络抓取工具可访问的域名。
WebFetch(domain:example.com)将抓取限制为 example.com
Bash 限制 shell 执行工具可运行的命令。
Bash(npm run build)匹配与 npm run build 完全相同的命令Bash(npm run test:*)匹配以 npm run test 开头的命令Bash(curl http://site.com/:*)匹配以 curl http://site.com/ 开头的 curl 命令
Worktree
Worktree 任务是一种并行任务(Concurrent Jobs),通过 CLI 内置的 --worktree 参数启动。你可以为单个 Git 仓库创建多个 Worktree 并行执行任务,避免多个 CLI 进程产生读写文件冲突。
要求:确保本地已安装并可使用 Git。
命令 | 描述 |
| 创建并启动新的 worktree 任务 |
| 查看当前所有已创建的任务 |
| 删除指定任务(删除容器) |
创建任务
切换到目标代码仓库根路径,执行如下命令启动任务,启动成功后默认进入容器内 CLI 的 TUI。
qoderclicn --worktree "Your job description"添加
-p参数任务以非交互模式在容器中运行,任务结束后停止容器。添加
--branch参数指定任务工作的代码分支。其他 Agent 相关参数(如
--max-turns),将会透传给容器内启动的 CLI 命令。
你可以打开多个终端启动多个任务,多个任务之间通过 Worktree 隔离。
查看任务
可以通过 Jobs 子命令查看当前代码仓库已经创建的并行任务,如下所示:
$ qoderclicn jobs --worktree
Qoder CN jobs for workspace: /Users/linus/qodercn/qoderclicn
Worktree Jobs:
ID INIT PROMPT PATH STATUS CREATED
11758283139787 [I] 你好 ~/.qoder-cn/worktrees/11758283139787 running 5 minutes ago
11758283382928 [N] 你好 ~/.qoder-cn/worktrees/11758283382928 exited 1 minute ago
11758283399820 [N] 你好 ~/.qoder-cn/worktrees/11758283399820 exited 1 minute ago
Total: 3 worktree job(s)字段说明:
ID:任务唯一标识(非容器 ID)
INIT PROMPT:初始的任务描述(未来会改成 AI 自动总结的标题)
PATH:git worktree 目录
STATUS:与容器状态一致
CREATED:任务创建时间
删除任务
使用 rm 子命令删除任务(本质上是删除任务所运行的 worktree):
qoderclicn rm <jobId>注意:删除操作不可恢复,请谨慎进行。
Memory
Qoder CN CLI 使用 AGENTS.md 作为记忆文件,记忆文件中定义的内容会自动被加载到 CLI 中,并作为 CLI 的上下文内容来指导开发过程。典型内容包括:
开发规范与说明
整体系统架构
...
存储位置 记忆文件支持存储在如下两个位置,具有不同的生效范围,Qoder CN CLI 在启动时会自动加载到上下文中。
# 用户级,适用于所有项目
~/.qoder-cn/AGENTS.md
# 项目级,适用于当前项目
${project}/AGENTS.md自动生成记忆
CLI 提供了自动生成记忆文件的功能,在目标项目中启动 TUI 并输入 /init 命令,CLI 会自动生成一个记忆文件,并保存在项目目录下,默认名称为 AGENTS.md。
手动编辑记忆
在项目中创建
AGENTS.md并编辑其内容。在 TUI 中输入
#进入记忆编辑模式,使用类似 Vim 的方式编辑项目记忆文件。在 TUI 中输入
/memory以选择并编辑用户级或项目级的记忆文件。
Subagent
Subagent 是 Qoder CN CLI 中专门用于处理特定任务的 AI Agent,每个 Subagent 有自己独立的上下文窗口和工具权限,可以配置自定义系统提示来指导其行为,通过合理使用可以显著改善复杂任务的处理能力。
手动创建
首先,在以下位置创建一个 Markdown 文件:
~/.qoder-cn/agents/<agentName>.md:用户级,适用于所有项目${project}/agents/<agentName>.md:项目级,适用于当前项目
接着定义你的 Subagent,Subagent 的 Markdown 文件必须包含一个 frontmatter 区块,其中定义 name、description 和 tools 字段,以及主系统提示词(system prompt)。例如:
---
name: code-review
description: 代码审查专家,检查代码质量和安全性
tools: Read, Grep, Glob, Bash
---
你是一位资深代码审查员,负责确保代码质量。
审查清单:
1. 代码可读性
2. 命名规范
3. 错误处理
4. 安全性检查
5. 测试覆盖
...自动创建
在 TUI 中输入 /agents。按 Tab 选择 User 或 Project,然后选择 Create new agent,并输入你希望自动创建的 Subagent 的描述。
使用 Subagent
在 TUI 模式下,使用命令 /agent 查看 Subagent。你可以显式或隐式地调用 Subagent 来完成任务。例如:
> 使用 code-review subagent 检查代码问题 # 显示调用
> 分析这段代码有没有潜在性能问题 # 隐式调用
> 审查这个接口的相关实现 # 隐式调用
> 先使用 design subagent 完成系统设计,再使用 code-review subagent 继续完成代码review # 串联调用命令
命令通过 .md 文件扩展斜杠指令功能。可将常用提示定义为命令,以在 TUI 中触发任务。
创建命令
将命令定义存放在:
~/.qoder-cn/commands/.md:用户级,适用于所有项目${project}/.qoder/commands/.md:项目级,仅适用于当前项目
示例
按以下方式定义一个命令,并将其保存到 ~/.qoder-cn/commands/quest.md 中。
---
description: "Intelligent workflow orchestrator that guides users through feature development using specialized subagents"
---
先使用 design subagent 完成系统设计,再使用 code-review subagent 继续完成代码review使用命令
在 TUI 模式下,输入 /quest 触发指令,命令执行过程中会按照提示词先后调用两个 Subagent 完成任务。