Introduction¶
When using the Web interface of DeepSeek Harness (dsh web), developers usually need to intuitively check the Git status of the current working directory in the browser and perform commit operations. Existing native integrations often do not satisfy such fine-grained integration requirements. The dsh-git plugin solves the problem of managing Git repository status in the Web interface by adding an action area at the bottom of the sidebar.
Core Features¶
The plugin provides session-aware Git status monitoring and commit capabilities.
Session-Aware Status¶
The status display is bound to the project directory of the session currently open in the DeepSeek Harness Web interface, ensuring that the displayed content matches the current context.
Working Tree Details¶
The panel shows the current branch, upstream branch, ahead and behind counts, the list of changed files, and line count statistics for insertions and deletions.
Commit and Push¶
Three action buttons are provided:
* Commit: commits changes using the provided message.
* Commit & push: commits changes and pushes them to the remote.
* Push: only pushes existing local commits.
AI-Generated Commit Messages¶
If the commit message is left empty during the Commit action and confirmed, the plugin asks the agent in the current session to generate a concise commit message describing the changes in the current working tree.
Safe Refresh¶
When refreshing the page, the plugin keeps the last prepared snapshot visible and discards ongoing read operations when the active project changes, avoiding state confusion.
Installation and Enablement¶
Install it using the DeepSeek Harness plugin command.
dsh plugin --profile web add @necokeine/dsh-git
After installation, restart dsh web and refresh the page for changes to take effect. To remove it, run:
dsh plugin --profile web remove @necokeine/dsh-git
Additionally, you can install it via a local path or a Git reference:
dsh plugin --profile web add ./path/to/dsh-git
dsh plugin --profile web add github:necokeine/dsh-git#<sha>
Usage Example¶
- Open a session with a project directory in
dsh web. - A Git action area appears at the bottom of the sidebar, showing the current branch and changed files.
- To commit changes, leave the commit message field empty and click Commit. The system invokes the current session’s agent to generate a commit message and then performs the commit.
Notes¶
- Session dependency: Git status is displayed only when the current session has a project directory.
- Permission control: Commit and push operations are executed through the current session’s agent and follow that session’s permissions and authentication environment.
- Statistics scope: Binary files and untracked files are not included in line count statistics.
- Push restriction: If the branch does not have an upstream configured, the Push button remains disabled until an upstream is configured.
Conclusion¶
This plugin extends Git management capabilities through the Web interface and is suitable for developers accustomed to operating DSH in a browser. For more details and source code, visit the project homepage.