跳到主要内容

SlashCommand

介绍

Tuanjie AI 交互模式命令通过特定前缀触发,分为三类:

前缀类型功能描述典型用例
斜杠命令 (/)对 Tuanjie AI 本身的元级控制管理会话、修改设置、获取帮助
@ 命令 (@)快速将本地文件内容注入对话让 AI 分析指定文件或目录下的代码
感叹号命令 (!)直接与系统 Shell 交互执行系统命令如 git status、ls 等

斜杠命令 /

斜杠命令用于管理 Tuanjie AI 会话、界面和基本行为。

内置命令

会话和项目管理

这些命令帮助您保存、恢复和总结工作进度。

命令描述用法示例
/chat管理对话历史,用于交互式分支对话状态/chat list、/chat save
→ list列出已保存的对话检查点/chat list
→ save保存当前对话历史。您必须添加标签来标识对话状态。

检查点位置:
• Linux/macOS: ~/.config/google-generative-ai/checkpoints/
• Windows: C:\Users\<YourUsername>\AppData\Roaming\google-generative-ai\checkpoints/

注意: 这些检查点用于手动保存和恢复对话状态。有关在文件修改之前创建的自动检查点,请参阅检查点文档
/chat save <tag>
→ resume(或 load)从之前的保存中恢复对话/chat resume <tag>
→ delete删除已保存的对话检查点/chat delete <tag>
→ export导出对话历史为文件/chat export [--enhanced]
→ loop控制当前聊天会话的循环检测。循环检测可以防止无限工具/内容循环/chat loop off|on
/resume自动恢复最近会话中的最后一次对话。
此命令查找最近更新的对话文件并恢复对话历史和上下文。不需要标签 — 它只是恢复上次活动的对话。

注意: 这与 /chat resume <tag> 不同,后者需要具有特定标签的手动保存检查点
/resume
/compress(或 /summarize)通过用摘要替换上下文来压缩上下文。这可以节省用于未来任务的令牌,同时保留已发生事件的高级摘要/compress
/restore恢复工具调用。这将重置对话和文件历史到工具调用被建议时的状态。
这对于撤销工具所做的文件编辑特别有用。如果在没有工具调用 ID 的情况下运行,它将列出可用的检查点以从中恢复。

注意: 仅在 CLI 使用 --checkpointing 选项调用或通过设置配置时可用
/restore(列表)或 /restore <id>
/init分析项目并创建定制的 CODELY.md 文件(或由 contextFileName 指定的文件名)。
如果已存在非空文件,则不会进行任何更改。该命令会创建一个空文件并提示模型用项目特定的指令填充它
/init
→ general初始化通用项目分析(默认行为)/init general
→ unity初始化 Unity 特定项目分析/init unity
界面和工作区控制

用于调整界面外观和工作环境的命令。

命令描述用法示例
/clear清除屏幕和对话历史。此命令会重置聊天并清除终端显示/clear(快捷键:Ctrl+L)
/theme更改 Tuanjie AI 视觉主题/theme
/vim开启/关闭 vim 模式。启用 vim 模式后,输入区域支持 vim 样式的导航和编辑命令。

功能:
NORMAL 模式: h、j、k、l 导航;w、b、e 按单词跳转;0、$、^ 转到行首/行尾;G 转到特定行
INSERT 模式: 标准文本输入,使用 escape 返回 NORMAL 模式
编辑命令: x 删除,c 更改,i、a、o、O 插入;复杂操作如 dd、cc、dw、cw
计数支持: 使用数字作为命令前缀(如 3h、5w)
重复命令: 使用 . 重复上一个编辑操作
持久设置: Vim 模式首选项保存到 ~/.codely-cli/settings.json 并在会话之间恢复

状态指示器: 启用时,在页脚显示 [NORMAL] 或 [INSERT]
/vim(再次运行可退出 vim 模式)
/directory管理多目录支持的工作区/dir add ./src,./tests
→ add将目录添加到工作区。使用逗号分隔多个路径。
路径类型: 可以是绝对路径或相对于当前工作目录的路径。还支持从主目录引用(使用 ~)。
自动刷新: 添加目录后会自动刷新内存以包含新目录中的 GEMINI.md 文件。
注意: 在限制性沙箱配置文件中禁用。如果您使用该功能,请在启动会话时使用 --include-directories
/directory add <path1>,<path2>
→ show显示所有已添加的目录/directory show
/editor设置外部编辑器偏好。打开对话框以选择支持的编辑器/editor
/copy将最后的结果或代码片段复制到剪贴板。复制 AI 的最后输出内容/copy
工具和模型管理

用于管理 AI 工具和模型的命令。

命令描述用法示例
/mcp列出已配置的模型上下文协议(MCP)服务器、它们的连接状态、服务器详情和可用工具/mcp、/mcp desc(快捷键:Ctrl+T)
→ desc显示 MCP 服务器和工具的详细描述/mcp desc
→ nodesc隐藏工具描述,仅显示工具名称/mcp nodesc
→ schema显示工具配置参数的完整 JSON 架构/mcp schema
/tools显示当前可用的工具列表/tools、/tools desc
→ desc显示每个工具的详细描述/tools desc
→ nodesc隐藏工具描述,仅显示工具名称/tools nodesc
/model管理和切换可用的 AI 模型/model list、/model use
→ list列出所有可用的模型(内置模型和用户添加的模型)/model list
→ use切换到指定的模型/model use <model>
→ add添加自定义模型到可用模型列表/model add [--provider <provider>]
→ remove从可用模型列表中移除用户添加的模型/model remove <model>
→ list-provider列出指定提供商的可用模型/model list-provider <provider>
/agents管理和使用专门的 AI 代理进行代码分析/agents list、/agents create
→ list列出所有可用的代理(内置代理和自定义代理)/agents list
→ info显示指定代理的详细信息/agents info <name>
→ create创建新的自定义代理(带引导设置)/agents create ["description"] [--global]
→ manage管理代理(编辑、删除等)/agents manage
→ reload重新加载所有代理配置/agents reload
→ help显示代理命令的帮助信息/agents help
/memory管理 AI 的指令上下文
(默认从 CODELY.md 文件加载的分层内存;可通过 contextFileName 配置)
/memory show、/memory add-global <文本>
→ show显示当前内存内容。显示从所有上下文文件(例如,CODELY.md)加载的当前分层内存的完整、连接内容/memory show
→ add-global将内容添加到全局内存(在所有项目中共享)/memory add-global <要记住的文本>
→ add-project将内容添加到项目内存(仅限当前项目)/memory add-project <要记住的文本>
→ refresh从源文件刷新内存。
从配置位置(全局、项目/祖先和子目录)中找到的所有上下文文件(默认:CODELY.md)重新加载分层指令内存。这使用最新的上下文内容更新模型
/memory refresh
/extensions列出活动的扩展。显示当前 Tuanjie AI 会话中所有活动的扩展及其版本。请参阅 Tuanjie AI 扩展文档/extensions
Unity 集成

用于管理 Unity Editor 集成的命令。

命令描述用法示例
/upmUnity TCP 连接状态和自动重连管理。用于管理 Tuanjie AI 与 Unity Editor 之间的连接/upm status、/upm refresh
→ status显示 Unity TCP 连接状态并测试连接性。显示服务器信息、客户端连接状态、可用工具等/upm status
→ refresh通过重新读取 .com-unity-codely.json 并重新连接来刷新 Unity TCP 连接/upm refresh
→ install通过更新 Packages/manifest.json 将 cn.tuanjie.codely.bridge 包安装到 Unity 项目/upm install
信息和设置

用于获取信息和进行系统设置的命令。

命令描述用法示例
/help显示可用命令的帮助信息/help 或 /?
/about显示版本信息。
显示 CLI 版本、操作系统版本、沙箱环境、模型版本、认证类型等信息。
提交问题时请分享此信息
/about
/stats(或 /usage)检查会话统计信息。显示当前 Tuanjie AI 会话的持续时间等统计信息/stats [model|tools]
→ model显示模型特定的使用统计信息/stats model
→ tools显示工具特定的使用统计信息/stats tools
/settings查看和编辑 Tuanjie AI 设置。此命令提供了一个用户友好的界面,用于更改控制 Tuanjie AI 行为和外观的设置/settings
/auth更改认证方法/auth
/bug提交关于 Tuanjie AI 的问题。
默认情况下,问题会提交到 Tuanjie AI 的 GitLab 仓库。您在 /bug 后输入的字符串将成为所提交错误的标题。
可以使用 .codely-cli/settings.json 文件中的 bugCommand 设置来自定义 bug 报告的 URL 模板
/bug Button click unresponsive
/docs在浏览器中打开完整的 Tuanjie AI 文档/docs
/setup-github设置 GitHub 集成/setup-github
/terminal-setup配置终端键绑定以支持多行输入(VS Code、Cursor、Windsurf)。
自动检测并配置终端以支持 Shift+Enter 和 Ctrl+Enter 进行多行输入
/terminal-setup
/ide管理 IDE 集成设置/ide
/privacy显示隐私声明。
打开对话框显示隐私声明,并允许用户选择是否同意收集其数据以用于服务改进目的
/privacy
/quit(或 /exit)退出 CLI。退出 Tuanjie AI 并显示会话持续时间/quit 或 /exit
/corgi切换 Corgi 模式。切换特殊功能模式/corgi
/example-prompt管理和运行示例提示。
此命令允许您运行预定义的示例提示。如果不提供 prompt-name,将列出所有可用的示例提示
/example-prompt [prompt-name]
常用快捷键
快捷键功能说明
Ctrl/cmd+L清除屏幕等同于 /clear
Ctrl/cmd+T切换工具描述MCP 工具管理
Ctrl/cmd+C×2退出确认安全退出机制
Ctrl/cmd+Z撤销输入文本编辑
Ctrl/cmd+Shift+Z重做输入文本编辑
Ctrl/Alt/cmd + v粘贴

自定义命令

自定义命令可以让用户把常用的提示保存成快捷命令,就像创建自己的"宏"一样。比如,您经常需要 AI 帮您写提交信息,就可以创建一个 /commit 命令,以后直接输入 /commit 就能自动生成。

详细的创建和管理方式请参阅 Commands(命令) 文档。

什么是自定义命令?

简单理解:把一段常用的提示词保存成文件,然后通过 /命令名 来快速调用。

举个例子:

  • 您经常需要 AI 帮您审查代码,每次都写"请审查这段代码,关注性能和安全问题"很麻烦
  • 创建一个自定义命令 /review,把这句话保存进去
  • 以后只需要输入 /review,AI 就知道要做什么了
命令存放位置:全局 vs 项目

自定义命令可以放在两个地方,用途不同:

存放位置路径谁可以用适合场景优先级
全局命令~/.codely-cli/commands/所有项目都能用个人常用命令,比如代码审查、重构等
项目命令<项目根目录>/.codely-cli/commands/只在当前项目有效项目特定命令,比如项目规范、团队约定等

重要规则:如果同一个命令名在全局和项目中都存在,项目命令优先。这样项目可以覆盖全局设置。

示例:

  • 全局有 /review 命令:通用的代码审查
  • 项目也有 /review 命令:项目特定的审查标准
  • 在项目中使用 /review 时,会使用项目版本
如何命名命令?

命令名由文件路径决定,非常简单:

文件位置生成的命令使用示例
~/.codely-cli/commands/test.toml/test/test 参数
~/.codely-cli/commands/git/commit.toml/git:commit/git:commit 消息
项目/.codely-cli/commands/utils/format.toml/utils:format/utils:format 代码

命名规则:

  • 文件名(不含 .toml)就是命令名
  • 子目录用冒号(:)连接,形成命名空间
  • 例如:git/commit.toml/git:commit

为什么要用命名空间?

  • 避免命令名冲突:/git:commit/svn:commit 不会冲突
  • 更好的组织:相关命令放在同一目录下
创建命令:最简单的开始

每个自定义命令就是一个 .toml 文件,包含两个部分:

字段是否必需说明示例
prompt必需告诉 AI 要做什么的提示词prompt = "请分析代码:{{args}}"
description可选命令的简短说明(会在 /help 中显示)description = "代码分析工具"

最简单的例子:

创建一个文件 ~/.codely-cli/commands/hello.toml

description = "友好的问候"
prompt = "请用友好的方式问候用户:{{args}}"

然后就可以使用:/hello 世界 → AI 会说:"你好,世界!"

如何传递参数给命令?

当您使用自定义命令时,可能需要传递一些信息。Tuanjie AI 提供了三种灵活的方式:

方式 1:精确控制参数位置(推荐)— 使用 {{args}}

什么时候用:当您需要把用户输入放在提示词的特定位置时。

怎么用:在 prompt 中使用 {{args}},它会被替换成用户输入的内容。

示例 1:简单的参数替换

# 文件:~/.codely-cli/commands/fix.toml
description = "修复代码问题"
prompt = "请修复以下问题:{{args}}"

使用:/fix "按钮点击无响应" AI 收到:请修复以下问题:按钮点击无响应

示例 2:在 Shell 命令中使用

# 文件:~/.codely-cli/commands/search.toml
description = "在代码中搜索"
prompt = "请搜索以下内容:!{grep {{args}} .}"

使用:/search "hello" 实际执行:grep "hello" .,然后把结果发给 AI

方式 2:自动追加参数(简单场景)

什么时候用:当您不需要精确控制参数位置,或者参数是补充说明时。

怎么用:不在 prompt 中使用 {{args}},参数会自动追加到提示词末尾。

示例:

# 文件:~/.codely-cli/commands/explain.toml
description = "解释代码"
prompt = "请详细解释这段代码的功能和实现原理。"

使用情况对比:

您输入AI 收到的完整提示
/explain请详细解释这段代码的功能和实现原理。
/explain 这段代码请详细解释这段代码的功能和实现原理。

/explain 这段代码

注意:这种方式下,AI 需要自己从追加的命令中提取信息,所以更适合让 AI 自己解析的场景。

方式 3:执行 Shell 命令获取动态内容 — 使用 !{...}

什么时候用:当您需要从系统获取实时信息时,比如 Git 状态、文件内容等。

怎么用:在 prompt 中使用 !{命令},命令执行后的输出会替换这个位置。

安全提示:使用 !{...} 时,系统会先弹出确认对话框,让您确认是否执行该命令。

示例:自动生成 Git 提交信息

# 文件:项目/.codely-cli/commands/git/commit.toml
description = "基于暂存更改生成提交消息"
prompt = """
请基于以下 Git diff 生成符合 Conventional Commit 规范的提交消息:

```diff
!{git diff --staged}

"""


使用流程:

1. 您输入:`/git:commit`
2. 系统提示:`即将执行命令:git diff --staged`,询问是否继续
3. 您确认后,系统执行命令,获取 diff 内容
4. AI 收到包含 diff 的完整提示,生成提交信息

示例:代码审查时引用项目规范

```toml
# 文件:项目/.codely-cli/commands/review.toml
description = "基于项目规范审查代码"
prompt = """
请审查以下代码:{{args}}

参考项目规范:
@{docs/code-standards.md}
"""

说明:

  • @{文件路径} 会读取文件内容并注入到提示中
  • 支持文本文件、图片、PDF 等
  • 目录会递归读取所有文件(遵循 .gitignore)
参数处理的执行顺序

当您的命令同时使用多种方式时,处理顺序如下:

  1. 首先:处理 @{文件路径} — 读取文件内容
  2. 然后:处理 !{命令} — 执行命令并获取输出
  3. 最后:处理 {{args}} — 替换用户输入的参数

这样设计的好处是:您可以在命令中引用文件,执行命令获取动态内容,最后再插入用户参数。

完整示例:创建一个"代码重构"命令

让我们一步步创建一个实用的命令:将代码重构为纯函数。

步骤 1:创建命令文件

# 创建目录(如果不存在)
mkdir -p ~/.codely-cli/commands/refactor

# 创建命令文件
touch ~/.codely-cli/commands/refactor/pure.toml

步骤 2:编写命令内容

用编辑器打开 ~/.codely-cli/commands/refactor/pure.toml,写入:

description = "将代码重构为纯函数"
prompt = """
请分析当前上下文中的代码,将其重构为纯函数。

要求:
1. 提供重构后的代码
2. 解释关键更改和纯函数特性实现
3. 保持功能不变
"""

步骤 3:使用命令

  1. 先把要重构的代码加入上下文:
@my-function.js
  1. 然后调用命令:
/refactor:pure
  1. AI 会分析代码并给出重构建议!

命令名解释:

  • 文件路径:~/.codely-cli/commands/refactor/pure.toml
  • 生成的命令:/refactor:pure
  • refactor 是目录名(命名空间)
  • pure 是文件名(命令名)

@ 命令(引入文件)

@ 命令用于快速将本地文件或目录内容添加到对话中。

命令格式描述示例
@<文件路径>注入指定文件的内容@src/main.py 请解释这段代码
@<目录路径>递归读取目录中的所有文本文件@docs/ 总结这个文档的内容
单独的 @如果您键入一个单独的 @ 符号而没有路径,查询将按原样传递给模型。如果您在提示中专门讨论 @ 符号,这可能很有用@ 这个符号在编程中用于什么?

注意:路径中的空格需要使用反斜杠转义(例如,@My\ Documents/file.txt

详情:

  • 如果提供了单个文件的路径,则读取该文件的内容
  • 如果提供了目录的路径,命令会尝试读取该目录和任何子目录中文件的内容
  • 命令在内部使用 read_many_files 工具。内容被获取,然后在发送给模型之前插入到您的查询中
  • Git 感知过滤:默认情况下,git 忽略的文件(如 node_modules/dist/.env.git/)会被排除。可通过 fileFiltering 设置更改此行为
  • 文件类型:该命令适用于基于文本的文件。虽然它可能尝试读取任何文件,但二进制文件或非常大的文件可能会被底层的 read_many_files 工具跳过或截断,以确保性能和相关性。工具会指示是否跳过了文件
  • 输出:CLI 将显示一个工具调用消息,指示使用了 read_many_files,以及详细说明状态和已处理路径的消息

错误处理:

  • 如果 @ 后指定的路径未找到或无效,将显示错误消息,查询可能不会发送给模型,或者会在没有文件内容的情况下发送
  • 如果 read_many_files 工具遇到错误(例如,权限问题),也会报告

感叹号命令 ! — Shell 命令执行

感叹号命令允许您在 Tuanjie AI 内直接执行系统命令。

命令格式描述示例
!<shell 命令>在子 Shell 中执行命令!ls -la!git status
单独的 !切换 Shell 模式,任何输入都直接作为 Shell 命令执行
进入:输入 ! 进入 Shell 模式
退出:再次输入 ! 退出 Shell 模式
!(进入)→ 输入命令 → !(退出)

详情:

  • 在 Linux/macOS 上使用 bash 或在 Windows 上使用最佳可用 shell(PowerShell Core、Windows PowerShell 或命令提示符)执行给定的命令
  • 命令的任何输出或错误都会显示在终端中
  • 切换 shell 模式:单独键入 ! 会切换 shell 模式
    • 进入 shell 模式:激活时,shell 模式使用不同的颜色和"Shell 模式指示器"。在 shell 模式中,您键入的文本被直接解释为 shell 命令
    • 退出 shell 模式:退出时,UI 恢复为标准外观,正常的 Tuanjie AI 行为恢复
  • 所有 ! 使用的注意事项:您在 shell 模式中执行的命令具有与直接在终端中运行它们相同的权限和影响
  • 环境变量:当通过 ! 或在 shell 模式中执行命令时,子进程环境中会设置 QWEN_CODE=1 环境变量。这允许脚本或工具检测它们是否从 CLI 内运行

最佳实践

命令设计建议

实践要点推荐做法避免
命令命名使用命名空间组织(如 git:commit、utils:format使用过于通用的名称(如 do、run)
参数处理明确使用 {{args}} 指定参数位置依赖默认追加(容易让 AI 混淆)
文件组织按功能分类到不同目录所有命令都放在根目录
描述字段始终写清晰的 description依赖自动生成的描述
错误处理在 prompt 中说明如何处理错误忽略可能的执行失败

安全提示

Tuanjie AI 已经内置了安全保护:

安全机制作用您需要做什么
Shell 转义防止恶意命令注入无需操作,自动处理
执行确认执行 !{...} 前会询问确认仔细查看要执行的命令,确认无误后再允许
错误报告命令执行失败时会显示错误信息查看错误信息,检查命令是否正确

常见问题

如何查看所有可用的斜杠命令?

输入 / 即可查看所有可用的斜杠命令列表,或输入 /help 获取帮助信息。

项目命令可以覆盖全局命令吗?

可以。如果项目目录中的命令与用户目录中的命令同名,项目命令将优先使用。

@ 命令支持哪些文件类型?

@ 命令适用于基于文本的文件。二进制文件或非常大的文件可能会被跳过或截断。支持文本文件、图片、PDF 等。

Shell 模式和感叹号命令有什么区别?

单独输入 ! 会切换 Shell 模式,在 Shell 模式下所有输入都直接作为 Shell 命令执行。而 !命令 格式则是执行单条命令后自动返回正常模式。

相关资源