一个轻量级的132行bash状态行,适用于Claude Code,附带一个反映会话状态的ASCII宠物。

Stars

4

7 天增长

暂无数据

Fork 数

0

开放 Issue

0

开源协议

MIT

最近更新

2026-07-30

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

它用纯shell脚本取代了基于Node的状态行,利用墙钟时间实现无状态动画,宠物的情绪作为上下文使用率、待审批和努力程度的视觉测量仪。

适合谁使用

  • 想要轻量级状态行的Claude Code用户
  • 偏好最小依赖(bash、git、jq)的开发者
  • 担心Node.js资源开销的用户
  • 对无状态动画创意感兴趣的bash脚本爱好者

典型使用场景

  • 一目了然地监控Claude Code会话上下文、速率限制和git状态
  • 通过宠物情绪变化获得视觉警报(例如,接近压缩时挥舞)
  • 通过SL_BADGE_CMD显示自定义项目徽章
  • 使用demo.sh无需安装即可验证行为

项目优势

  • 仅132行bash,无需npm/node或构建步骤
  • 两个外部依赖(git、jq)用户很可能已安装
  • 宠物的情绪源自真实会话状态,而非装饰性
  • 利用墙钟时间的无状态动画避免了进程管理

使用前须知

  • 仅适用于Claude Code,不是通用状态行
  • 需要`jq`,某些系统可能需要单独安装
  • ASCII图形和动画受限于单个shell脚本的能力

README 快速开始

avenoxstatusline

A two-line status line for Claude Code with an ASCII pet.

132 lines of bash. No npm, no node, no build step.

ʕ•ᴥ•ʔ☕  Opus 5 · high · think   5h 41% · 7d 63%
▓▓▓▓░░░░ 62%  ⎇ main*  ● serai:vegrun

Why another one

There are plenty of good Claude Code status lines. Two things make this one different.

1. It's a shell script, not a package

Your status line re-runs every few seconds, forever. Every render is a fresh process. Spawning a Node runtime on that loop is a strange thing to do to your laptop.

This is one bash file with two dependencies you already have (git, jq). Install is a curl and one line of JSON. There is nothing to update, nothing to audit, and nothing in node_modules.

2. The pet is a gauge, not an ornament

The bear's mood is derived from session state, so you can read how the session is doing without reading any numbers:

StatePetMeaning
context ≥ 90%ʕ⊙ᴥ⊙ʔ‼ red, flailingyou are about to compact
context ≥ 75%ʕ•﹏•ʔ💦 yellow, sweatingstart wrapping up
pending approvalsʕ•ᴥ•ʔ❗ yellow, alertsomething is waiting on you
effort xhigh / maxʕ◣_◢ʔ⚡ locked inthe expensive gear is engaged
context ≥ 50%ʕ◔ᴥ◔ʔ focusedworking
otherwiseʕ•ᴥ•ʔ idleblinks, glances, leans

Peripheral vision does the monitoring. You only look directly at the line when the bear changes.

And when nothing is wrong, it does things. Roughly every 10 seconds it pulls a ~4-second stunt — nap, dance, wave, table flip (and sets the table back), flower, coffee, sparkle, hug, wander.


The trick: animating a stateless script

Claude Code runs the status line command fresh on every render. There is no process to hold a frame counter in, so conventional animation is impossible.

So the frames are indexed by wall-clock time instead of by state:

T=${SL_TICK:-$(date +%s)}
frame() { local -a a=("${@:2}"); PET="${a[$(( $1 % ${#a[@]} ))]}"; }

frame "$T" "ʕ•ᴥ•ʔ" "ʕ•ᴥ•ʔ" "ʕ-ᴥ-ʔ" "ʕ◕ᴥ◕ʔ"   # idle: blinks

Each render independently computes which frame it is right now. The script stays completely stateless and the pet still walks through its frames as time passes. Stunts use the same idea at two scales: T % 10 picks the position within a stunt, (T / 10) % 9 picks which stunt

项目描述

Two-line Claude Code status line with a state-driven ASCII pet. 132 lines of bash, no npm.

相关仓库与替代方案

根据分类、Topic 和编程语言匹配的相似项目。

bjan
精选
bjan GitHub avatar

claudemux

Claudemux is a lightweight, dependency-minimal message bus that lets multiple Claude Code sessions communicate in real-time over tmux, enabling one session to ask another a question and receive the answer without manual intervention.

AI 与机器学习AI 智能体
9
0xwilliamortiz
精选
0xwilliamortiz GitHub avatar

openclaude-improved

OpenClaude is an open-source CLI coding agent that runs on any platform and supports a wide range of LLM providers, offering the same tools and workflows as Claude Code.

AI 与机器学习大语言模型
577
l0ng-ai
精选
l0ng-ai GitHub avatar

tty7

tty7 is a fast, GPU-accelerated terminal workbench with persistent sessions, built-in input tools, SSH support, and coding agent awareness.

开发者工具CLI 与终端
359