feat: add Reasonix agent and edit diff previews#37
Open
yes999zc wants to merge 5 commits into
Open
Conversation
Reasonix (https://github.com/esengine/DeepSeek-Reasonix) is a DeepSeek-native coding agent with a cache-first loop architecture. It exposes `reasonix acp` as a stdio ACP entry point, matching the same pattern as Kiro CLI and Hermes Agent (direct binary invocation, not an npx package). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Before overwriting, read the old file content. After writing, open a vscode.diff editor comparing old (temp file) vs new content so users can review changes inline instead of just seeing the final state. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Many ACP agents (including Reasonix) write files directly via Node.js fs rather than calling the client's writeTextFile. This adds a DiffPreviewHandler that listens for session/update notifications, caches old file content when an edit-kind tool call starts, and opens a vscode.diff view when it completes. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds Reasonix as a pre-configured ACP agent and improves file-edit visibility for agents that edit files through their own tools.
Reasonix is a DeepSeek-native coding agent. It exposes
reasonix acpover stdio NDJSON JSON-RPC, matching the same direct-binary integration pattern as Kiro CLI and Hermes Agent.command = "reasonix"args = ["acp"]Why
Reasonix users currently have to configure the agent manually in
settings.json. A pre-configured entry makes it discoverable and reduces setup friction.While testing Reasonix through ACP, I also found that some agents write files directly through their own tooling instead of calling the client's
writeTextFilemethod. The client therefore needs to follow ACPtool_call/tool_call_updatenotifications to show the user which files are being edited and to open a final diff.Changes
Reasonixtoacp.agentsdefaults inpackage.jsonREADME.mdCHANGELOG.mdentry under UnreleasedDiffPreviewHandlerfor edit-kind tool callsparams.updatetoolCallIdstate across incrementaltool_call_updatepayloadslocations, diff content, raw tool input, and title fallbackValidation
reasonix acpspawns successfully via vscode-acptool_call/tool_call_updatenotifications from Reasonixnpm run compile-tests -- --pretty falsenpm run lintnpm run compileCompatibility
reasonixto be on PATH (brew install reasonixor install from GitHub Releases).🤖 Generated with Claude Code