In the development workflow of DeepSeek Harness (DSH), debugging HTTP interfaces directly in the sidebar can significantly improve efficiency. dsh-getman-panel (hereinafter Getman) is a companion plugin for dsh-better-sidebar. It integrates a lightweight API testing tool into the DSH Web interface.
As an API testing sidebar panel, Getman’s core value lies in zero-navigation debugging and CORS bypass. It does not rely on external applications and directly reuses the permissions of the DSH process to forward network requests, making it suitable for developers to quickly verify API responses.
Core Features¶
Getman provides complete request building, response viewing, and history management capabilities:
- Request Editing: Supports standard HTTP methods such as GET/POST/PUT/PATCH/DELETE/HEAD/OPTIONS. The interface provides editing access for the URL, Params, Headers, and Body sections.
- Response Viewing: Displays the status code, duration, and response size. The response body supports automatic JSON formatting and provides one-click copy and response header viewing.
- History Records: The most recent 100 request records are shared globally across all workspaces. Supports clicking a history entry to restore it, deleting individual entries, and clearing all at once.
- CORS Bypass: Uses the Host-side semi-proxy mechanism of the DSH process to test arbitrary HTTP(S) interfaces without additional proxy server configuration.
Installation and Prerequisites¶
Getman is installed as a plugin and requires the following prerequisites:
- DeepSeek Harness web is running normally.
- The dsh-better-sidebar plugin is installed with version >= 0.12.0.
- The local development environment has Node.js >= 20 and pnpm >= 10 installed.
Installation Command¶
For the release version, use the following command:
dsh plugin --profile web add dsh-getman-panel
After installation is complete, restart dsh web and click the + menu in the browser sidebar to see the Getman option.
Local Development (Link Mode)¶
If you want to participate in development or modify the source code, link mode mounting is required:
- Edit
~/.dsh/profiles/web/package.json, add"dsh-getman-panel": "file:/path/to/dsh-getman-panel"todependencies, and add"dsh-getman-panel"todsh.profile.bundles. - Run
pnpm installin the profile directory. - Restart
dsh web(adding a bundle or modifying host routes requires a restart). - Perform a hard reload in the browser (Cmd/Ctrl + Shift + R) to load client-side changes.
Usage¶
The Getman workflow is straightforward:
- Open the panel: Click
+in the sidebar and select Getman. - Build the request: Select the request method and enter the target URL. Expand the Params, Headers, or Body sections to edit them. Pasting a URL containing
?automatically parses the query parameters. - Send the request: Click Send. During sending, you can click Cancel at any time to abort the request.
- View the response: The response result is displayed below, including the status code, duration, and size. The response body supports JSON formatting; hovering over it reveals the
⧉icon in the top-right corner, which can be clicked to copy. - Manage history: Every sent request is recorded automatically. Click a history entry to restore the request to the editor; you can delete a single entry or clear all at once.
Technical Details and Notes¶
- Proxy routing: The plugin forwards requests via the
/dsh-getman/api/proxypath, which is registered by the Host-side code. - Data storage: History records and drafts are persisted in the browser’s
localStorageunder the keydsh-getman-panel:global, shared across all workspaces. - Development debugging:
- After modifying client-side code, a hard browser reload is required for changes to take effect.
- After modifying Host code or adding a bundle,
dsh webmust be restarted.
Getman is licensed under the MIT license. The source code and repository are available on GitHub.