Summary
Add native support for the jcode coding agent so Herdr recognizes and tracks it as a first-class agent, mirroring the existing pi / claude / codex integrations. Today jcode is entirely absent: herdr integration status and herdr integration install <TARGET> have no jcode entry, and herdr agent list never shows a jcode agent.
Problem
jcode (github.com/1jehuang/jcode) is a Rust-based coding agent with a TUI. Because Herdr has no integration for it, Herdr falls back to screen-scraping jcode's TUI (spinner frames, status labels) to infer identity and state. That is fragile and version-dependent:
- Spinner frames and status text change between jcode releases.
- Generic words in conversation text cause false positives.
- jcode sessions are not linked (no
agent_session), so Herdr cannot resume or inspect them.
Every other well-supported agent (pi, claude, codex, omp, opencode, kilo, ...) has a native integration file that reports over the Herdr unix socket via pane.report_agent_session. jcode needs the same.
Requested scope
- Add jcode as a valid target for
herdr integration install (currently [possible values: pi, omp, claude, codex, copilot, devin, droid, kimi, opencode, kilo, hermes, qodercli, cursor, mastracode]).
- Install/manage a
herdr-agent-state hook or extension for jcode that implements the pane.report_agent_session protocol, mirroring claude/codex (shell hook) or pi (.ts/plugin extension).
- Ensure jcode agents appear in
herdr agent list with correct agent_status and linked agent_session.
- Match the existing fail-closed behavior: the hook exits 0 on missing env/socket so it never breaks jcode when Herdr is absent.
Notes on jcode's side
jcode itself needs to invoke the hook at session start and on status transitions (working -> idle/done/blocked). A complementary feature request was filed on the jcode repo (#750 on 1jehuang/jcode) for that side. This issue is the Herdr-side half: recognizing and installing the integration once jcode can emit it.
Related
Summary
Add native support for the jcode coding agent so Herdr recognizes and tracks it as a first-class agent, mirroring the existing pi / claude / codex integrations. Today jcode is entirely absent:
herdr integration statusandherdr integration install <TARGET>have no jcode entry, andherdr agent listnever shows a jcode agent.Problem
jcode (github.com/1jehuang/jcode) is a Rust-based coding agent with a TUI. Because Herdr has no integration for it, Herdr falls back to screen-scraping jcode's TUI (spinner frames, status labels) to infer identity and state. That is fragile and version-dependent:
agent_session), so Herdr cannot resume or inspect them.Every other well-supported agent (pi, claude, codex, omp, opencode, kilo, ...) has a native integration file that reports over the Herdr unix socket via
pane.report_agent_session. jcode needs the same.Requested scope
herdr integration install(currently[possible values: pi, omp, claude, codex, copilot, devin, droid, kimi, opencode, kilo, hermes, qodercli, cursor, mastracode]).herdr-agent-statehook or extension for jcode that implements thepane.report_agent_sessionprotocol, mirroring claude/codex (shell hook) or pi (.ts/plugin extension).herdr agent listwith correctagent_statusand linkedagent_session.Notes on jcode's side
jcode itself needs to invoke the hook at session start and on status transitions (working -> idle/done/blocked). A complementary feature request was filed on the jcode repo (#750 on 1jehuang/jcode) for that side. This issue is the Herdr-side half: recognizing and installing the integration once jcode can emit it.
Related