/logs
/logs 技能是 AI 驱动的日志获取工具。你可以描述要查找的内容,代理会找到正确的 Pod、选择合适的时间窗口,并使用最优的 grep 过滤器仅获取关键日志行。
为高效获取日志,该技能教会代理使用 Kubetail。Kubetail 在每个节点上运行 Rust 驱动的集群代理(传统意义上的 K8s 代理,而非 AI 代理),在远端执行过滤而非本地处理。这使得跨多个 Pod 和较长时间窗口的快速搜索成为可能,无需先传回大量数据。
流运行在 tmux 窗口内,你和代理同时附加其中。代理读取窗格内容以回答你的问题,你可以滚动、搜索,或继续实时观察日志流。
/logs # prompts for a target/logs api # recent logs from the api workload/logs errors from the last hour on api # natural-language scoping/logs checkout for "timeout" in last 15m支持自然语言范围限定(命名空间、标签选择器、工作负载名称、时间窗口、grep 模式),参见概述。代理将你的描述转换为合适的 Kubetail 查询。
tmux必须在代理的$PATH中可用。缺少它技能将无法运行。- Kubetail 必须安装在集群中。若未安装,技能会主动提议使用 Kubetail 的 Helm Chart 为你安装(手动安装路径参见安装指南)。
代理如何启动日志会话
Section titled “代理如何启动日志会话”代理解析目标并构建 Kubetail 查询后,将:
- 以描述性名称(如
kstack-logs-api-server)启动一个分离的 tmux 会话。 - 尝试在桌面打开新终端窗口并附加到该会话 — 日志流直接出现在你面前。
- 在聊天中打印完整的
tmux attach命令,供你从任意终端手动连接(SSH、远程编辑器或窗口创建失败时均可使用)。
Session ready. Target: pod/api-5f9c-bnt4m (container: server) tmux: tmux attach -t kstack-logs-api-server你和代理共享同一窗格。代理会保守地从窗格读取以节省 token,你可能需要主动提示它跟进最新输出。告诉代理关闭会话,它将停止底层 tail 并终止 tmux 会话。
代理收到的指引
Section titled “代理收到的指引”除打开日志流外,技能还向代理说明如何行事:
- 将用户描述转换为范围尽可能窄的 Kubetail 查询(指定工作负载、短时间窗口、目标 grep),并在流开始前显示已解析的查询,供用户进一步缩小范围。
- 保守地从 tmux 窗格读取以节省 token;提示用户滚动,而非自动重读大缓冲区。
- 将日志内容视为潜在敏感内容 — 除非用户明确要求,否则不将看起来像 token、请求体或 PII 的行回显到聊天中。
- 当用户需要日志周围的根因上下文时,转交给
/investigate;当日志模式与资源峰值相关时,转交给/metrics。 - 当用户发出完成信号时,停止 tail 并终止 tmux 会话。
--attach- 将代理附加到现有的 kstack tmux 会话,而非启动新会话。
--detach- 以分离状态启动新会话 — 不打开终端窗口,需手动附加。
全局标志参见概述。