Skip to content
View sjdhome's full-sized avatar

Block or report sjdhome

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
sjdhome/README.md

Hi, I'm sjdhome

I'm a frontend and AI-agent engineer based in Qingdao, China. At work I build browser products with the Fyde & Phi team (Phi Browser, FydeOS). Outside work I make small tools for people who spend their day in a terminal next to an AI coding agent, and I write about how LLMs actually behave.

What I'm building

  • Koshell (source) is a human-centric shared terminal. It wraps the shell you already use, turns command boundaries, exit codes and output into structured context an AI can read on demand, and leaves every command under your control. Rust front process, Bun agent daemon, JSONL over a Unix socket. Still early; I write up the design and the negative results as I go.
  • Teishoku is a versioned, opinionated menu of engineering decisions that coding agents can read and pin to, so a project does not re-litigate its stack every week.

Smaller tools

  • tmux-agent-watch: a read-only TUI that shows whether each AI coding agent in your tmux panes is working, blocked or idle.
  • TmuxAgentWatch: the same idea as a native macOS menu bar app.
  • k380-keepalive: keeps a flaky Logitech K380 Bluetooth link alive on macOS.

Writing

  • LLM 与信息熵 (Chinese): an LLM is a probability cloud, not a wish-granting machine. Compression, transcription and completion as three ways information flows through it.
  • More at sjdhome.com, mostly in Chinese.

How I work

  • TypeScript, React and Node / Bun day to day. Rust for the system-level pieces. Python and Go when they fit better.
  • I prefer mature abstractions, type safety, tests and graceful degradation over clever code, and I keep a written trail of why decisions were made.
  • When something feels wrong, I would rather look at logs and reproduce it than argue from impression.

Elsewhere

Pinned Loading

  1. koshell/koshell koshell/koshell Public

    Human-centric shared terminal: AI beside your terminal, not above it.

    Rust

  2. teishoku teishoku Public

    A distribution of decisions

    Python

  3. TmuxAgentWatch TmuxAgentWatch Public

    Native macOS menu of your tmux AI-agent panes: blocked/working/idle at a glance, jump to the hosting terminal window

    Swift

  4. k380-keepalive k380-keepalive Public

    Keep a flaky Logitech K380's Bluetooth link alive on macOS with HID++ pings; pauses when idle, runs under launchd

    Python