~ ❯ cat about.mdNanako (菜菜子), or Nyanako (喵菜子) if you know me from Discord. I'm an SRE. Keeping systems reliable is the day job — the projects here are the same instinct pointed somewhere else.
UX has frontend engineers. DX has SRE.
Every one of these started because I needed it. Syrtis (formerly TokenBar) exists because I wanted to know what a session actually cost without opening a dashboard. coralline exists because I've used Powerlevel10k in zsh for years and wanted the same thing in my Claude Code statusline — I only packaged it up because people kept asking how I'd done it.
I share it because sharing is the good part, and once it's public I maintain it properly. What comes next is genuinely unknown — whatever I hit while learning, whatever annoys me enough to open a new repo.
The full story of the TokenBar rewrite (now Syrtis) — Rust core, Swift shell, and the FFI seam between them — is written up here (zh-TW): Rust 的引擎,Swift 的外殼
~ ❯ ls -l ~/projects --sort=stars| Project | What it is | Stars | Latest | Downloads | Updated |
|---|---|---|---|---|---|
| sepia | De-AI writing skill for coding agents | ★ 3584 | v0.12.4 |
— | today |
| pilotfish | Multi-model orchestration for Claude Code | ★ 714 | v1.5.0 |
— | 24d ago |
| coralline | Powerlevel10k-inspired statusline for Claude Code | ★ 549 | v0.20.0 |
— | 12d ago |
| Syrtis | Native macOS menu-bar monitor for AI token usage | ★ 509 | v2.10.0 |
9.9k | today |
| SocksBypass | SOCKS5 proxy for iOS and Android, built to defeat tethering limits | ★ 83 | — |
— | today |
| shanjie | macOS Zhuyin input method that gets the homophone right (WIP) | ★ 43 | v0.6.1 |
360 | today |
| Syrtis-Windows | Syrtis for Windows: WinUI 3 tray app on the same Rust core | ★ 42 | v1.3.0 |
513 | today |
| remora-cc | Session-scoped GPT-5.6 agent routing | ★ 26 | v0.1.23 |
78 | 1mo ago |
| lorenzini | PR-reviewer gates that decide whether a verdict means pass | ★ 17 | v0.2.4 |
— | 27d ago |
| calico-claude | Display-patched Claude Code builds with a verified supply chain | ★ 14 | v2.1.316-win32-x64 |
451 | 2d ago |
| stingray | Stop hook that catches the turn that ends half-done | ★ 11 | v0.3.9 |
— | 24d ago |
| computer-use-fast | macOS GUI tasks for coding agents in one or two turns | ★ 10 | — |
— | 1mo ago |
| NyanCogs | Cogs for Red Discord Bot | ★ 6 | — |
— | 6d ago |
| nacre | LuCI theme for OpenWrt in coralline's palette | ★ 6 | v0.2.1 |
15 | 1mo ago |
| postmortem-prose | zh-TW tech longform in a postmortem voice | ★ 4 | — |
— | 3mo ago |
| tokscale-core | Rust session-parsing engine behind Syrtis | ★ 3 | — |
— | today |
| syrtis-film | Syrtis intro film, every frame generated in code | ★ 3 | — |
— | 1mo ago |
| limpet | Menu-bar realtime one-way mirror, built on rclone | ★ 2 | v1.0.3 |
14 | 2d ago |
| pilotfish-grok | pilotfish, native to Grok Build | ★ 1 | v1.0.6 |
— | 1mo ago |
~ ❯ tokscale models --week --group-by modelReal usage, pushed here every six hours by a cron job on my Mac. The numbers come from tokscale — junhoyeo's Rust engine for reading agent session data, and the engine Syrtis runs on. I send fixes upstream when I trip over them; the Swift shell around it is my part. Grouped by model rather than by client, because the client would lie: I drive GPT models through Claude Code.
last 7 days · 7.5B tokens · 25,161 messages
claude-opus-5-5 █████████████████░░░░░ 79.3% 5923M
claude-sonnet-5-5 ████░░░░░░░░░░░░░░░░░░ 18.6% 1390M
gemini-4-argon ░░░░░░░░░░░░░░░░░░░░░░ 0.7% 49M
muse-spark-1.3-con ░░░░░░░░░░░░░░░░░░░░░░ 0.5% 40M
claude-fable-5-1 ░░░░░░░░░░░░░░░░░░░░░░ 0.4% 30M
claude-haiku-5-5 ░░░░░░░░░░░░░░░░░░░░░░ 0.2% 15M~ ❯ git log --oneline --author=nanako -52026-11-02 sepia fix(research): record Clark et al. 2026 as a short Consult
2026-11-02 sepia fix(research): file CLARK-2026 under syntax sources and bo
2026-11-02 sepia docs(research): record Clark et al. 2026 as recorded, not
2026-11-02 tokscale-core docs(roocode): record the CI-measured Linux golden and for
2026-11-02 tokscale-core docs(provider): correct which prefixes reach delimited inf~ ❯ tree ~/projects --lineage~ ❯ ssh homelab -- uptimeThe same discipline, off the clock — everything below runs at home:
Proxmox VE 61d uptime · every service in Compose, every service healthchecked
Zero trust Cloudflare Tunnel + Access · 6 tunnels · 20 ZTNA apps · 0 inbound ports
Home Assistant 140 integrations · 418 entities · 56 devices · one Lovelace panel
Self-hosted Immich · Nextcloud AIO · LiteLLM · Open-WebUI · n8n · TrueNAS~ ❯ ssh nyanko.home我一直想要一個地方:能認真聊技術,也能放心做自己。找不到,那就自己開一個。
- 💻 技術控 — agentic coding、熱門 AI 應用、開源工具、軟體開發、DevOps/SRE。想深聊、想求救、想炫專案都可以。
- 💬 只想交朋友、放鬆閒聊 — 完全歡迎,不用很懂技術。
- 🏳️⚧️ 秘密專區 — 我自己是跨女,所以特別開了一區給跨性別、偽娘/男娘:安心做自己、和姐妹聊女裝、交朋友、談談心事。
不管你是哪一種(或同時是好幾種),這裡都有你的位置。
~ ❯ cat .offlineCoffee Sunbeam Barista Max + Option-O Lagom Casa
nutty / chocolate base, with the occasional fruit bomb
Hamsters once shared my life with two hamsters — 877 and 907 days, respectively.
Headphones Sony IER-M9 · MDR-MV1 · MDR-M1 · iFi xDSD Gryphon~ ❯ patreon --thanksIf any of this saved you time or money, a membership keeps the cron jobs running.
~ ❯ contactSomething broken, or an idea for a feature → open an issue on that repo. That's what issues are for, and the answer helps the next person too. If a tool just made your day easier and you want to say so there, that's welcome as well — I read every one.
Anything formal → email me at nanakotsai@nyanako.com.
Anything casual → the Discord above, DM me there, or find me on Threads and X.
A note on language: I'm a native Traditional Chinese speaker and my English isn't fluent — some of my replies go through a translator. Chinese is very welcome, and please bear with me in English.
~ ❯ exitThis page rebuilds itself every six hours · last sync: 2026-11-02 · how




