JumpServer 查询型 skill:允许环境初始化写入( .env.local 与 JMS_ORG_ID),但不执行业务对象或权限的创建、更新、删除、追加或移除。
类型常见输入返回环境初始化JMS_API_URL、鉴权信息、可选 org-id配置完整性、 .env.local 写入结果、连通性、组织写入结果对象查询resource、 id、 name、 filters列表、详情、解析结果权限与审计filters、 audit-type、时间范围、 command_storage_id权限详情、审计详情、最近活动访问分析username、可选 asset-name用户可访问资产/节点、单资产访问视图
text
config-status --json
-> complete=false ? collect env info -> config-write --confirm
-> ping
-> org missing/inaccessible ? select-org [--org-id] -> select-org --confirm
-> read-only query
{0002} 或 {0002,0004} 时,才允许自动写入 0002。IntentMust UsePrecheckOutputStop If初始化环境jms_diagnose.py config-status/config-write/ping/select-org无配置状态、 .env.local 写入结果、连通性、组织持久化结果地址或鉴权缺失、地址不可达、组织不可访问查资产与对象jms_assets.py list/get、 jms_diagnose.py resolve/resolve-platform``config-status --json -> 必要时 config-write --confirm -> ping -> 必要时 select-org --confirm资产类列表、详情、对象解析结果名称不唯一、对象不清楚、组织未准备好查权限规则jms_permissions.py list/get``config-status --json -> 必要时 config-write --confirm -> ping -> 必要时 select-org --confirm权限列表、权限详情组织未准备好查审计记录jms_audit.py list/get``config-status --json -> 必要时 config-write --confirm -> ping -> 必要时 select-org --confirm登录、操作、会话、命令审计audit-type=command 缺 command_storage_id做访问分析jms_diagnose.py user-assets/user-nodes/user-asset-access/recent-audit``config-status --json -> 必要时 config-write --confirm -> ping -> 必要时 select-org --confirm用户可访问资产/节点、单资产访问、最近审计用户不存在、候选过多、组织未准备好
RuleRequired Behavior预检顺序config-status --json -> config-write --confirm(如需) -> ping -> select-org --confirm(如需) -> read-only query环境写入允许通过 config-write --confirm 生成或更新 .env.local组织写入允许通过 select-org --confirm 持久化 JMS_ORG_ID保留组织特判可访问组织集合仅在 {0002} 或 {0002,0004} 时才自动写入 0002范围边界把这个 skill 当作查询型 skill,而不是通用运维执行器审计默认窗口date_from/date_to 省略时默认最近 7 天命令审计audit-type=command 时必须提供 command_storage_id非支持动作遇到 create/update/delete/append/remove/unblock 时直接说明“业务动作只保留查询”
配置检查与写入:
bash
python3 scripts/jms_diagnose.py config-status --json
python3 scripts/jms_diagnose.py config-write --payload '{"JMS_API_URL":"https://jump.example.com","JMS_ACCESS_KEY_ID":"<ak>","JMS_ACCESS_KEY_SECRET":"<sk>","JMS_VERSION":"4"}' --confirm
python3 scripts/jms_diagnose.py ping
组织选择:
bash
python3 scripts/jms_diagnose.py select-org
python3 scripts/jms_diagnose.py select-org --org-id <org-id>
python3 scripts/jms_diagnose.py select-org --org-id <org-id> --confirm
对象查询:
bash
python3 scripts/jms_assets.py list --resource user --filters '{"username":"openclaw"}'
python3 scripts/jms_assets.py get --resource asset --id <asset-id>
python3 scripts/jms_diagnose.py resolve --resource node --name demo-node
python3 scripts/jms_diagnose.py resolve-platform --value Linux
权限与审计查询:
bash
python3 scripts/jms_permissions.py list --filters '{"limit":20}'
python3 scripts/jms_permissions.py get --id <permission-id>
python3 scripts/jms_audit.py list --audit-type operate --filters '{"limit":30}'
python3 scripts/jms_audit.py get --audit-type command --id <command-id> --filters '{"command_storage_id":"<command-storage-id>"}'
config-status -> ping -> select-org 预检链路上,不跳步。config-write --confirm。select-org --confirm。jms_*.py 入口,返回结果或明确说明阻塞原因。