AIOps Vault 配套技能
本技能是一个流程层。它不包含用户当前的资产。当前事实存储在本地 AIOps Vault 中,通常位于 $AIOPS_ROOT 或 ~/ai-ops。
源数据契约
请按以下拆分使用:
README.md:稳定的本地规则、文件角色、安全边界以及项目特定的约定。resources.md:当前应被信任的状态。maintenance-log.jsonl:仅追加记录决策、维护、检查、事件和更正的历史。secrets-location.md:仅包含密钥名称、存储位置、访问/轮换说明;绝不包含密钥值。services/<service>/service-card.md:当中央资源文件过大时,用于存放各服务的运行手册和详细信息。scripts/aiops.py:对 Vault 的低 Token 命令接口。
请勿从本技能推断当前基础设施。请直接读取 Vault 并在安全的情况下检查实时状态。
默认读取顺序
- 解析 Vault 路径:
$AIOPS_ROOT(如果已设置),否则为~/ai-ops。 - 如果任务可能涉及文件、服务、暴露面、凭据或备份的变更,则首先读取本地 Vault 的
README.md。 - 在完整读取之前,先运行命令层:
python3 "$AIOPS_ROOT/scripts/aiops.py" indexpython3 "$AIOPS_ROOT/scripts/aiops.py" resources --section "<section>"python3 "$AIOPS_ROOT/scripts/aiops.py" service "<name>"python3 "$AIOPS_ROOT/scripts/aiops.py" host "<name>"python3 "$AIOPS_ROOT/scripts/aiops.py" log --tail 20 --summary
- 仅当切片输出不足以回答问题时,再读取完整的
resources.md、服务卡片或日志行。 - 仅当实时状态和 Vault 文档均无法回答问题时才使用会话历史。
安全边界
- 请勿读取、打印、复制或存储密钥值。
secrets-location.md是元数据,并非密钥转储。 - 请勿将密钥写入
resources.md、日志、服务卡片、提示词、问题评论、提交记录或聊天摘要。 - 对于不可逆或高暴露操作,必须确认:删除、覆盖、轮换、恢复、打开公共端口、更改 DNS、迁移数据、禁用备份,以及触及第三方/朋友拥有的资源。
- 资源池必须明确。除非用户明确授权,否则不得对第三方或朋友拥有的基础设施进行操作。
- 优先选用最小暴露原则:管理路径应通过 localhost 配合反向代理或私有网络访问;公共 HTTPS 仅在预期且经过认证时使用。
维护工作流
- 对目标进行分类:主机、服务、域名/DNS、反向代理、数据/备份、密钥位置、自动化,或 Vault 本身。
- 确定资源池和权限边界。
- 通过
aiops.py和服务卡片加载最少的当前上下文。 - 在必要时使用安全命令检查实时状态。
- 规划最小可逆操作,并标出高风险步骤。
- 以最小权限原则执行。
- 通过消费端的真实输出来验证:健康检查、日志、HTTP 请求、
systemctl、docker ps、备份列表或等效方法。 - 更新对应的层:
- 当前事实 ->
resources.md或服务卡片; - 重要历史记录 -> 追加一个
maintenance-log.jsonl对象; - 密钥位置 ->
secrets-location.md(不含值); - 服务本地详情 -> 服务的 README/卡片。
- 当前事实 ->
- 如果变更改进了可复用的 AIOps 工作流/工具,而不仅仅是私有本地事实,则将通用部分同步到模板仓库
~/projects/aiops-vault-template,运行其测试/检查,然后提交并推送,以便下游 AIOS Kit 使用者受益。请勿将私有资源、日志或密钥复制到公共模板中。 - Vault 变更后运行
python3 "$AIOPS_ROOT/scripts/aiops.py" check。 - 报告变更的文件、命令、验证结果、已跳过/已阻止的项目以及后续事项。
回写规则
- 当前状态应放在
resources.md或服务卡片中,而不仅仅记录在历史日志中。 - 历史记录应放在
maintenance-log.jsonl中,每行一个合法的 JSON 对象。 - 更正应使用新的
correction或supersede条目;除非用户要求迁移,否则不要重写历史。 - 避免将同一事实重复写入 README、resources、服务卡片和日志中。选择归属层。
- 大量原始证据应放在
evidence/下或 Vault 外部,并以路径引用。
验证清单
在最终确定之前:
python3 "$AIOPS_ROOT/scripts/aiops.py" check必须通过,或已说明失败原因。- JSONL 文件必须可解析。
- 未添加明显的密钥值。
- 当前状态的变更不仅仅体现在维护日志中。
- 回复中的声明必须有 Vault 文件或实时命令输出作为支持。
- 任何高风险操作均已确认,或明确作为建议步骤保留。
如果 Vault 不存在
如果没有 AIOps Vault 且用户需要,则安装模板仓库或创建最小目录结构:
ai-ops/
README.md
resources.md
maintenance-log.jsonl
maintenance-log.schema.md
secrets-location.md # 私有,被 Git 忽略
secrets-location.example.md
scripts/aiops.py
然后运行 python3 scripts/aiops.py check。