Files
web-official/public/docs/commands.zh.md
T

787 lines
21 KiB
Markdown
Raw Normal View History

# 魔法命令
魔法命令是一组以 `/` 开头的特殊指令,让你可以**直接控制对话状态**,而不需要等 AI 理解你的意图。
---
## 对话管理命令
控制对话上下文的命令。
| 命令 | 需要等待 | Continuation State | 长期记忆 | 返回内容 |
| ---------- | -------- | ------------------ | ----------- | ----------------- |
| `/compact` | ⏳ 是 | 📦 按需更新 | ✅ 后台保存 | ✅ 本次压缩结果 |
| `/new` | ⚡ 否 | 🗑️ 清空 | ✅ 后台保存 | ✅ 新对话开始提示 |
| `/clear` | ⚡ 否 | 🗑️ 清空 | ❌ 不保存 | ✅ 历史清空提示 |
---
### /compact - 压缩当前对话
手动触发上下文压缩(**需要等待**)。在 Scroll 下,符合条件的较早轮次会被归档,同时近期尾部和活动轮次仍保留在 live context 中。发生归档时会更新 continuation summary;启用长期记忆后,还可以在后台执行相应的保存任务。
```
/compact
```
也可以补充一条仅对本次压缩有效的说明,指导 continuation summary 优先保留哪些有证据支持的信息:
```
/compact 保留需求、决策和待办,去掉调试日志和工具调用细节
```
**返回示例:**
```
**Compact Complete!**
- Messages archived: 12
- Continuation summary: available via `/compact_str`
- Older turns remain recoverable through Scroll history
```
> 💡 `/compact` 会立即请求压缩,但仍会保护配置指定的近期尾部和活动轮次。
> 💡 额外说明只作用于这一次手动 `/compact`,不会改变自动压缩行为。
---
### /new - 清空上下文并保存记忆
**立即清空当前上下文**,开始全新对话。后台同时保存历史到长期记忆。
```
/new
```
**返回示例:**
```
**New Conversation Started!**
- Summary task started in background
- Ready for new conversation
```
---
### /clear - 清空上下文(不保存记忆)
**立即清空当前上下文**,包括消息历史和压缩摘要。**不会**保存到长期记忆。
```
/clear
```
**返回示例:**
```
**History Cleared!**
- Compressed summary reset
- Memory is now empty
```
> ⚠️ **警告**:`/clear` 是**不可逆**的!与 `/new` 不同,清除的内容不会被保存。
---
## 对话调试命令
查看和管理对话历史的命令。
| 命令 | 返回内容 |
| ------------------- | ------------------------ |
| `/history` | 📋 消息列表 + Token 统计 |
| `/message` | 📄 指定消息详情 |
| `/compact_str` | 📝 压缩摘要内容 |
| `/summarize_status` | 📊 摘要任务状态 |
| `/dump_history` | 📁 历史导出文件路径 |
| `/load_history` | ✅ 历史加载结果 |
---
### /history - 查看当前对话历史
显示当前对话中所有未压缩的消息列表,以及详细的**上下文占用情况**。
```
/history
```
**返回示例:**
```
**Conversation History**
- Total messages: 3
- Estimated tokens: 1256
- Max input length: 128000
- Context usage: 0.98%
- Compressed summary tokens: 128
[1] **user** (text_tokens=42)
content: [text(tokens=42)]
preview: 帮我写一个 Python 函数...
[2] **assistant** (text_tokens=256)
content: [text(tokens=256)]
preview: 好的,我来帮你写一个函数...
[3] **user** (text_tokens=28)
content: [text(tokens=28)]
preview: 能不能加上错误处理?
---
- Use /message <index> to view full message content
- Use /compact_str to view full compact summary
```
> 💡 **提示**:建议多使用 `/history` 命令了解当前上下文占用情况。
>
> 当 `Context usage` 接近 75% 时,对话即将触发自动 `compact`。
>
> 如果出现上下文超过最大上限的情况,请向社区反馈对应的模型和 `/history` 日志,然后主动使用 `/compact` 或 `/new` 来管理上下文。
>
> Token计算逻辑详见 [ReMeInMemoryMemory 实现](https://github.com/agentscope-ai/ReMe/blob/v0.3.0.6b2/reme/memory/file_based/reme_in_memory_memory.py#L122)。
---
### /message - 查看单条消息
查看当前对话中指定索引的消息详细内容。
```
/message <index>
```
**参数:**
- `index` - 消息索引号(从 1 开始)
**示例:**
```
/message 1
```
**输出:**
```
**Message 1/3**
- **Timestamp:** 2024-01-15 10:30:00
- **Name:** user
- **Role:** user
- **Content:**
帮我写一个 Python 函数,实现快速排序算法
```
---
### /compact_str - 查看压缩摘要
在 Scroll 下显示当前 continuation summary。它是用于延续任务的紧凑状态,不是完整归档原文或内部检索索引。Native 兼容模式仍显示其 compressed summary。
```
/compact_str
```
**返回示例(有摘要时):**
```
**Continuation Summary**
## Active Task
构建用户认证系统。
Status: in_progress
## Current State
- 登录接口已经完成。
```
**返回示例(无摘要时):**
```
**No Continuation Summary**
- Scroll has not generated a continuation summary yet
- Use `/compact` or wait for auto-compaction
- Archived turns remain recoverable through Scroll history
```
---
### /summarize_status - 查看摘要任务状态
显示所有后台摘要任务的运行状态,包括任务 ID、开始时间和执行结果。
```
/summarize_status
```
**返回示例:**
```
**Summary Task Status**
- **task-001**
- Start: 2024-01-15 10:30:00
- Status: completed
- Result: 用户请求帮助构建用户认证系统...
- **task-002**
- Start: 2024-01-15 10:35:00
- Status: failed
- Error: Summary generation timeout
```
> 💡 使用 `/compact` 或 `/new` 时会自动在后台启动摘要任务,可通过此命令查看其执行情况。
---
### /dump_history - 导出对话历史
将当前对话历史(包括压缩摘要)保存到 JSONL 文件,便于调试和备份。
```
/dump_history
```
**返回示例:**
```
**History Dumped!**
- Messages saved: 15
- Has summary: True
- File: `/path/to/workspace/debug_history.jsonl`
```
> 💡 **提示**:导出的文件可用于 `/load_history` 恢复对话历史,也可用于调试分析。
---
### /load_history - 加载对话历史
从 JSONL 文件加载对话历史到当前内存,**会先清空现有内存**。
```
/load_history
```
**返回示例:**
```
**History Loaded!**
- Messages loaded: 15
- Has summary: True
- File: `/path/to/workspace/debug_history.jsonl`
- Memory cleared before loading
```
**注意事项:**
- 文件来源:从工作目录下的 `debug_history.jsonl` 加载
- 最大加载:10000 条消息
- 如果文件第一条消息包含压缩摘要标记,会自动恢复压缩摘要
- 加载前会**清空当前内存**,请确保已备份重要内容
> ⚠️ **警告**:`/load_history` 会清空当前内存后再加载,现有对话将丢失!
---
## Skill 聊天命令
提供以下命令,在聊天中可以访问 skill 状态,并强制 Agent 使用某个
skill。
- `/skills` 会以精简格式列出当前频道可用的 skill。
- `/<skill_name>` 会显示该 skill 的详细信息,包括 description 和本地
path。
- `/<skill_name> <input>` 会使 Agent 强制调用 `skill_name`,解决 input
(通常是个任务)。
- `/[skill_name]` 也支持以上操作,可作为另一种写法。
说明:
- `skill_name` 以 `/skills` 里显示的技能命令名为准。
- 这些斜杠命令只对当前频道中已启用且路由到该频道的 skill 生效。
---
## 模型管理命令
管理和切换 AI 模型的命令,无需通过 Agent 理解意图,直接执行。
| 命令 | 说明 | 对话 |
| -------------------------------- | ---------------------- | ---- |
| `/model` | 显示当前使用的模型 | ✅ |
| `/model -h` 或 `/model help` | 显示帮助信息 | ✅ |
| `/model list` | 列出所有可用模型 | ✅ |
| `/model <provider>:<model>` | 切换到指定模型 | ✅ |
| `/model reset` | 重置为全局默认模型 | ✅ |
| `/model info <provider>:<model>` | 显示指定模型的详细信息 | ✅ |
---
### `/model` - 显示当前模型
显示当前 Agent 正在使用的模型。
**用法:**
```
/model
```
**返回示例:**
```
**Current Model**
Provider: `openai`
Model: `gpt-4o` ✓
Use `/model list` to see all available models.
```
---
### `/model -h` 或 `/model help` - 显示帮助
显示所有 `/model` 命令的帮助信息。
**用法:**
```
/model -h
/model --help
/model help
```
**返回示例:**
```
**Model Management Commands**
Manage and switch AI models for the current agent.
**Available Commands:**
`/model` - Show current active model
`/model list` - List all available models
`/model <provider>:<model>` - Switch to specified model
`/model reset` - Reset to global default model
`/model info <provider>:<model>` - Show model information
`/model help` or `/model -h` - Show this help message
**Examples:**
`/model` - Show current model
`/model list` - List all models
`/model openai:gpt-4o` - Switch to GPT-4o
`/model reset` - Reset to global default
`/model info openai:gpt-4o` - Show GPT-4o information
**Capability Indicators:**
🖼️ - Supports image input
🎥 - Supports video input
```
---
### `/model list` - 列出所有模型
显示所有已配置的 Provider 及其可用模型。当前激活的模型会标记为 **[ACTIVE]**。
**用法:**
```
/model list
```
**返回示例:**
```
**Available Models**
**OpenAI** (`openai`)
- `gpt-4o` 🖼️ **[ACTIVE]**
- `gpt-4o-mini` 🖼️
- `gpt-3.5-turbo`
- `my-custom-model` *(user-added)*
**Anthropic** (`anthropic`)
- `claude-3-5-sonnet-20241022`
- `claude-3-opus-20240229`
**Google** (`gemini`)
- `gemini-2.0-flash-exp` 🖼️🎥
---
Total: 3 provider(s), 8 model(s)
Use `/model <provider>:<model>` to switch models.
Example: `/model openai:gpt-4o`
```
**标识说明:**
- 🖼️ - 支持图片输入
- 🎥 - 支持视频输入
- _(user-added)_ - 用户手动添加的模型(通过 `qwenpaw models add-model` 命令)
---
### `/model <provider>:<model>` - 切换模型
将当前 Agent 切换到使用不同的模型。
**用法:**
```
/model <provider>:<model>
```
**示例:**
```
/model openai:gpt-4o
/model anthropic:claude-3-5-sonnet-20241022
/model gemini:gemini-2.0-flash-exp
```
**返回示例:**
```
**Model Switched**
Provider: `anthropic`
Model: `claude-3-5-sonnet-20241022`
The new model will be used for subsequent messages.
```
> 💡 **提示**:模型切换只影响当前 Agent,其他 Agent 继续使用各自配置的模型。
---
### `/model reset` - 重置为全局默认模型
将当前 Agent 的模型重置为在 Web UI 中配置的全局默认模型。
**用法:**
```
/model reset
```
**返回示例:**
```
**Model Reset**
Agent model has been reset to global default:
Provider: `openai`
Model: `gpt-4o`
The global default model will be used for subsequent messages.
```
> 💡 **提示**:使用此命令可以撤销 Agent 级别的模型覆盖设置。
---
### `/model info` - 显示模型信息
显示指定模型的详细信息,包括能力和当前状态。
**用法:**
```
/model info <provider>:<model>
```
**示例:**
```
/model info openai:gpt-4o
/model info anthropic:claude-3-5-sonnet-20241022
```
**返回示例:**
```
**Model Information**
**Provider:** `openai` (OpenAI)
**Model ID:** `gpt-4o`
**Model Name:** GPT-4o
**Capabilities:** 🖼️ Image, 🎨 Multimodal
**Probe Source:** documentation
**Status:** ✓ Currently active
---
Use `/model openai:gpt-4o` to switch to this model.
```
---
## 系统控制命令
控制和监控 QwenPaw 运行状态的命令,无需通过 Agent 理解意图,直接执行。
可在对话中发送 `/daemon <子命令>` 或短名(如 `/status`),也可在终端执行 `qwenpaw daemon <子命令>`。
| 命令 | 说明 | 对话 | 终端 |
| ----------------------------------- | ---------------------------------------------------------------------------- | ---- | ---- |
| `/stop` | 立即终止当前会话的运行中任务 | ✅ | ❌ |
| `/stop session=<session_id>` | 终止指定会话的任务 | ✅ | ❌ |
| `/daemon status` 或 `/status` | 查看运行状态(配置、工作目录、记忆服务) | ✅ | ✅ |
| `/daemon restart` 或 `/restart` | 零停机重载(对话中);终端中打印说明 | ✅ | ✅ |
| `/daemon reload-config` | 重新读取并校验配置文件 | ✅ | ✅ |
| `/daemon version` | 版本号、工作目录与日志路径 | ✅ | ✅ |
| `/daemon logs` 或 `/daemon logs 50` | 查看最近 N 行日志(默认 100 行,最大 2000 行,来自工作目录下 `qwenpaw.log`) | ✅ | ✅ |
| `/approval approve [request_id]` | 批准待审的工具调用(无 ID 则批准队首) | ✅ | ❌ |
| `/approval deny [request_id]` | 拒绝待审的工具调用,可附理由 | ✅ | ❌ |
| `/approval list` | 列出所有待审批请求 | ✅ | ❌ |
| `/approval cancel <request_id>` | 取消指定审批请求 | ✅ | ❌ |
| `/approve` | `/approval approve` 的快捷方式 | ✅ | ❌ |
| `/deny` | `/approval deny` 的快捷方式 | ✅ | ❌ |
---
### `/stop` - 停止任务
立即终止当前会话中正在执行的任务。优先级最高,即使有任务正在执行也能并发处理。
**用法:**
```
/stop # 停止当前会话的任务
/stop session=<session_id> # 停止指定会话的任务
```
> ⚠️ **警告**:`/stop` 会立即终止任务,可能导致部分结果丢失。
---
### `/daemon status` 或 `/status` - 查看运行状态
显示当前运行状态,包括配置加载情况、工作目录、记忆服务状态等。
**用法:**
```
/status # 在对话中
qwenpaw daemon status # 在终端
```
---
### `/daemon restart` 或 `/restart` - 零停机重载
在对话中使用时,执行零停机重载:重新加载 channels、cron、MCP 配置,但不中断进程。适用于修改频道、MCP 配置后使其生效。
**用法:**
```
/restart # 在对话中
qwenpaw daemon restart # 在终端(仅打印说明)
```
> 💡 **提示**:修改频道或 MCP 配置后,先用 `/daemon reload-config` 验证配置正确性,再用 `/daemon restart` 使其生效。
---
### `/daemon reload-config` - 重载配置文件
重新读取配置文件并校验语法,但不重载运行时组件(channels、cron、MCP)。适用于验证配置文件修改是否正确。
**用法:**
```
/daemon reload-config # 在对话中
qwenpaw daemon reload-config # 在终端
```
---
### `/daemon version` - 版本信息
显示 QwenPaw 版本号、工作目录路径、日志文件路径。
**用法:**
```
/daemon version # 在对话中
qwenpaw daemon version # 在终端
```
---
### `/daemon logs` - 查看日志
查看工作目录下 `qwenpaw.log` 的最近 N 行日志。默认 100 行,最大 2000 行。
**用法:**
```
/daemon logs # 默认 100 行
/daemon logs 50 # 指定 50 行
qwenpaw daemon logs -n 200 # 在终端指定 200 行
```
> 💡 **提示**:日志文件较大时,此命令只读取文件末尾最多 512KB 内容,确保响应速度。
---
### `/approval` - 工具执行审批命令
管理工具审批请求。当 `approval_level` 设为 `STRICT` 或 `SMART` 时,存在 CRITICAL 或 HIGH 级别发现的工具调用会进入待审批队列,使用这些命令进行批准、拒绝、列表查看或取消操作。
**用法:**
```
/approval approve [request_id] # 批准指定请求或队首请求
/approval deny [request_id] [reason] # 拒绝并附理由
/approval list # 列出当前会话的待审批项
/approval list --all # 列出所有会话的待审批项
/approval cancel <request_id> # 取消指定请求
```
**快捷方式:**
```
/approve # 等同于 /approval approve
/approve <request_id> # 等同于 /approval approve <request_id>
/deny # 等同于 /approval deny
/deny <request_id> <reason> # 等同于 /approval deny <request_id> <reason>
```
> `/approval list` 显示当前会话(含子会话)的待审批项。使用 `--all` 或 `-a` 查看该 Agent 所有会话的待审批项。
---
### 终端使用
所有 daemon 命令都支持在终端中使用(除 `/stop` 和 `/approval` 仅在对话中有效):
```bash
qwenpaw daemon status
qwenpaw daemon restart
qwenpaw daemon reload-config
qwenpaw daemon version
qwenpaw daemon logs -n 50
```
**多智能体支持:** 所有终端命令都支持 `--agent-id` 参数(默认为 `default`)。
```bash
qwenpaw daemon status --agent-id abc123
qwenpaw daemon version --agent-id abc123
```
---
## Goal 模式 — 持续目标循环
设定一个目标,Agent 自主工作多个回合直到完成。适用于任何目标明确的持续任务。
```
/goal <任务描述>
```
完整指南请参阅 [循环工程](./loop-engineering)。
---
## Mission 模式 — 多 Agent 自主执行
将大型任务拆解为多个用户故事,通过 **master → worker → verifier** 流水线自动完成,上下文隔离防止信息腐烂。
```
/mission <任务描述>
/mission <任务> --max-iterations 30 --verify "pytest tests/"
/mission status # 查看进度
/mission list # 列出所有 mission
```
完整指南请参阅 [循环工程](./loop-engineering)。
---
## Proactive Mode - 主动提醒模式
Proactive Mode(主动提醒模式)是一个智能化的功能,允许 AI 代理在检测到用户长时间未活动后,主动分析用户当前的会话上下文和屏幕活动,并提供相关的帮助和信息。
### 核心特性
- 🤖 **智能检测**:监控用户会话活动状态,当检测到设定时间内的无活动时触发
- 🧠 **上下文分析**:分析用户的对话历史和当前屏幕内容,识别潜在需求
- 🔍 **目标提取**:从对话历史中提取用户可能关注的高频或近期主题
- 💬 **主动响应**:基于分析结果,自动生成友好且相关的主动帮助信息
### 重要提示
**启用此模式前请务必知悉以下风险:**
- **工具防护绕过**:在此模式下,Agent会绕过标准的工具防护机制,Agent 拥有更高的系统权限和执行自由度
- **隐私与环境访问**:Agent会读取历史会话记忆以理解上下文,并可能进行截屏以获取当前的运行环境信息。请确保在可信环境中使用,并注意敏感信息的保护
- 本模式默认不启用,仅在用户主动开启时才生效,且可在开启后关闭
### 基本用法
#### 启用主动提醒模式
```bash
/proactive
/proactive on
/proactive <分钟数>
```
**示例:**
```bash
/proactive # 默认30分钟后如果没有活动则触发主动提醒
/proactive on # 同上,默认30分钟
/proactive 60 # 60分钟后触发主动提醒
```
#### 停用主动提醒模式
```bash
/proactive off
```
### 工作原理
1. **监控阶段**:持续监控用户活动,记录最后活动时间戳
2. **分析阶段**:当检测到超过设定的空闲时间后,分析最近的对话历史
3. **任务提取**:识别用户可能关心的主题和目标
4. **查询执行**:使用浏览器、文件读取、命令执行等工具获取相关信息
5. **响应生成**:生成友好且相关的主动帮助信息
#### 上下文感知
- 仅关注用户发起的消息,忽略系统消息
- 避免重复发送相同主题的主动提醒
- 优先处理高频和近期提到的主题
### 注意事项
1. **资源消耗**:启用后会定期分析上下文,可能增加计算资源使用
2. **干扰控制**:如果用户在收到主动消息后未回应,则不会连续发送新的主动消息
3. **模型依赖**:功能效果取决于所使用的AI模型能力,支持多媒体的模型能更好利用屏幕分析功能
### 典型应用场景
- 研究过程中的新信息获取
- 学习过程中的补充知识提供
---