zai-org / zai-org/feedback

[建议 / Feature] Sticky latest prompt (Grok Build-style), inline image/video/audio previews in chat, git branch switcher

Open
#556 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

priority: P2
Dominant language
No language data
Stars
22
Forks
1
PR merge metrics
No merged PRs in 30d

Description

提交前确认 · Pre-submission checklist
  • I searched existing issues and confirmed this isn't a duplicate.
  • I've read CONTRIBUTING.md.
问题类别 · Category

UI / 界面体验 · UI / UX

涉及的 Agent 框架 · Agent framework

ZCode Agent(自研)

使用场景 · Use case

Three related UX gaps I hit daily in long agentic sessions (CLI on macOS):

1. The original prompt disappears during long runs. When an agent run spans 20+ tool calls, file edits and test output, the user prompt scrolls out of view almost immediately. To re-check what was actually asked — especially after context compaction in long sessions — I have to scroll all the way up or search the transcript.

2. Media files show up as bare paths. When images, videos or audio appear in a session — pasted attachments, screenshots from browser/device tools, or files the agent generates — the chat shows only a file path or filename. I have to leave the chat (Finder / open) to see what was attached or what the agent just produced.

3. Branch switching requires a terminal. A session is deeply tied to repo state, but switching branches means leaving ZCode for a terminal and typing git checkout. Doing that mid-run also silently changes the working tree the agent is editing, with no guard.

建议方案 · Proposal

1. Sticky "latest prompt" at the top of chat (like Grok Build). Pin the most recent user prompt as a compact sticky bar at the top of the chat panel: first line as summary, expand-on-click for the full text. It updates automatically on each new prompt and survives context compaction. Optional: "edit & resend" affordance on the pinned prompt.

2. Inline media previews in chat.

  • Image: inline thumbnail in the message bubble, click for full-size lightbox.
  • Video: first-frame thumbnail with play button, playback in an overlay (or inline player).
  • Audio: inline player with duration and a scrub/waveform bar — relevant for voice notes and TTS output.

3. Git branch switcher. A branch indicator + switcher in the status line / command palette: list local (and remote-tracking) branches, one-action checkout, and a confirmation when there are uncommitted changes or a running task, so the agent never gets its working tree swapped mid-edit.

预期价值 · Expected value
  1. Removes scroll-hunting in every long task — the goal stays visible while the agent works; also helps verify the agent is still on-task after compaction.
  2. Closes the loop between "agent produced media" and "user can verify it" without leaving chat — critical for UI/design work, screenshot verification and generated assets.
  3. Fewer context switches, plus a safety guard against the classic "checkout underneath a running agent" conflict.
你认为的优先级 · Your perceived priority

中 · Medium

你使用的 ZCode 版本 / 环境 · ZCode version / environment

ZCode CLI v0.16.5, macOS 15 (Apple Silicon)

补充材料 · Additional context
  • For #3: #132 (worktree switcher — same UX surface, different primitive; a branch switcher complements it) and #220 (native /worktree command).
  • Reference for #1: Grok Build keeps the last sent prompt pinned above the working output.
  • All three are small independently shippable features; #1 and #2 share the chat renderer surface.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Treat this as three separate proposals: sticky latest prompt and media previews in the chat panel, plus branch switching in the status line or command palette. Read related issues #132 and #220 first, then define separate acceptance checks for prompt persistence, image/video/audio previews, and guarded branch checkout. Done means each interaction works in ZCode and respects running-task or uncommitted-change warnings.

Written by the indexing model from the issue text.

Assessment

Tech stack
git
Domain
cli, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.