JohnXu22786/statusline

JohnXu22786★ 0PythonLast synced: 2026-08-16

Open on GitHub

实时终端状态栏插件(Real-time terminal statusline for agent harnesses):模型/上下文占用/子 agent 计数/限流/会话时长一行呈现,零第三方依赖,支持终端行/JSON/JSONL 三形态输出

README excerpt

statusline 面向插件化 agent harness 的实时终端状态栏。模型名、上下文占用条、子 agent 计数、 限流状态、会话时长、当前时间等关键信息,压缩成一行持续刷新;同时提供结构化 JSON 输出,供脚本、监控面板或其他插件直接消费。 - 零第三方依赖 :纯 Python 标准库(≥ 3.8),无任何外部包; - 零网络请求 :渲染路径不发起任何网络 IO,数据只来自宿主喂入的状态; - 三形态输出 :终端行(含 ANSI 着色)/ 单条 JSON / JSONL 流; - 三刷新策略 : once (渲染一次即退)、 watch (轮询状态文件)、 stream (事件驱动); - 可配置 :显示项与顺序(layout)、进度条宽度与样式、阈值、主题、分隔符, 配置文件 / 环境变量 / 命令行三层覆盖; - 宽容而严谨 :快照未知字段一律忽略(向前兼容),已知字段类型错误立即报错, 任何字段缺失都不会让渲染崩溃; - 自包含 :根目录 manifest.json 自描述插件契约,任意插件化 harness 可按约定加载,见「接入插件化 harness」一节。 目录结构 安装 无需安装即可运行;仓库目录可直接使用: 快速开始 命令行 选项 说明 --config FILE 配置文件路径;省略时自动读取当前目录的 statusline.json (若存在) --emit {terminal,json,jsonl} 输出格式。 json 与 jsonl 序列化一致,均为一帧一行 --theme {default,mono,vivid} 颜色主题 --no-color 禁用 ANSI 颜色 --state-file FILE 状态快照文件(单个 JSON 对象,或 JSONL 取最后一行) --layout A,B,C 显示项及顺序,逗号分隔 --interval SECONDS watch 模式刷新间隔 --width N 上下文条宽度(0..200,0 表示只显示数值) --version 打印版本 三种模式: - once (默认):渲染一次后退出。状态来源按 --state-file → 管道 stdin → 空快照(仅提示)依次回退; - watch :周期性重渲染同一行。状态文件暂不可用(不存在 / 解析失败)时保持 空快照并在 stderr 提示一次,出现后自动恢复。需要 --state-file 或 STATUSLINE STATE FILE ; - stream :从 stdin 逐行读取 JSONL 快照,每行渲染一次。stdin 为终端时直接 报错退出(防止误挂起);无法解析的行跳过并提示,不中断。 退出码: 0 正常(含 Ctrl-C 主动退出); 1 未预期错误; 2 用法错误; 3 配置或状态数据错误。 TTY 行…

View full README on GitHub →
Terminal / TUIdeepseek-harnessdshdsh-pluginterminalagent

Category