ScenarioPermission
场景权限枚举,用于 scenario.json / getManifest().permissions 声明场景所需权限。
typescript
type ScenarioPermission =
| 'filesystem:read'
| 'filesystem:write'
| 'database:connect'
| 'database:query'
| 'network:request'
| 'terminal:execute'
| 'clipboard:read'
| 'clipboard:write'
| 'notification:send'
| 'system:info'
| 'mcp:call'1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
工具映射
| 权限标识 | 覆盖工具 |
|---|---|
filesystem:read | read_file、list_directory、search_files、codebase_search |
filesystem:write | write_file、create_file_or_folder、delete_file_or_folder |
database:query | sql_query |
terminal:execute | run_command、read_terminal_output、send_terminal_input、stop_terminal、git_commit、git_branch、git_sync、git_worktree、git_audit |
network:request | web_search、read_url |
clipboard:read / clipboard:write | clipboard_read / clipboard_write |
notification:send | notification_send |
system:info | system_info |
mcp:call | 所有 mcp_ 前缀的 MCP 工具 |
未出现在映射表中的工具(如 ask_user、todo_write、remember)无需权限声明。
权限组
PermissionGuard 提供 basic、file-access、networking、full-filesystem、 full-terminal、full-database、all 七个预定义权限组,通过 PermissionGuard.expandPermissionGroup(group) 展开。权限组是代码内 API, 不能在 scenario.json 的 permissions 字段中直接使用。
详见 权限声明。

