Skip to content

feat: add /diff slash command to view session and git changes#1573

Open
jekhy wants to merge 2 commits into
MoonshotAI:mainfrom
jekhy:feat/add-diff-slash-command
Open

feat: add /diff slash command to view session and git changes#1573
jekhy wants to merge 2 commits into
MoonshotAI:mainfrom
jekhy:feat/add-diff-slash-command

Conversation

@jekhy

@jekhy jekhy commented Jul 12, 2026

Copy link
Copy Markdown

Related Issue

No prior issue. This PR addresses the need to review both AI tool edits and git working-tree changes without leaving the Kimi Code TUI.

Problem

When working with Kimi Code, users currently have no in-app way to see what files the AI changed via Edit/Write tool calls, nor how those changes relate to existing uncommitted git modifications. Switching back to the shell to run git diff breaks flow, and the session transcript alone does not present file changes in a consolidated, browsable form.

What changed

Added the /diff slash command to the TUI. It opens a file selector that combines two sources of changes:

  • Current — files changed in the git working tree (via git status / git diff HEAD), including untracked files.
  • T* — per-turn AI edits collected from the session transcript (Edit, Write, and diff-style tool displays).

Users can switch sources with ←/→, select a file with ↑/↓ and Enter, and view the diff in a full-screen viewer. The viewer supports expanding/collapsing context with Ctrl+O, and large edits fall back to line-count approximations to avoid expensive LCS on huge files.

Key implementation points:

  • apps/kimi-code/src/utils/git/git-diff.ts — git helpers for status, diff, and numstat with shell-argument validation and empty-repo / missing-workdir fallbacks.
  • apps/kimi-code/src/tui/utils/session-edits.ts — collects AI edits from transcript entries or rendered ToolCallComponents, grouped by turn.
  • apps/kimi-code/src/tui/commands/diff.ts — command orchestration that builds the two source lists and drives the UI.
  • apps/kimi-code/src/tui/components/dialogs/diff-file-selector.ts / diff-viewer.ts — tabbed file selector and full-screen diff viewer.
  • apps/kimi-code/src/tui/components/messages/diff-panel.ts — themed diff rendering.
  • Tests added for git helpers, session-edit collection, the three UI components, and end-to-end behavior in a real git repository fixture.
  • User docs updated in docs/en/reference/slash-commands.md and docs/zh/reference/slash-commands.md.
  • A changeset was generated for @moonshot-ai/kimi-code.

Checklist

  • I have read the CONTRIBUTING document.
  • I have explained the problem above (no prior issue).
  • I have added tests that prove my feature works.
  • Ran gen-changesets skill.
  • Ran gen-docs skill.

Add /diff command that opens a file selector combining AI tool edits with git

working-tree changes. Selecting a file renders a themed diff panel. Includes

turn-based tabs, expandable diff viewer, and right-aligned change statistics.
@changeset-bot

changeset-bot Bot commented Jul 12, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: ed77ed2

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@moonshot-ai/kimi-code Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c0dca45719

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread apps/kimi-code/src/tui/commands/diff.ts
Comment thread apps/kimi-code/src/tui/components/dialogs/diff-viewer.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant