Introduction¶
When developing agents using DeepSeek Harness (DSH) and wishing to reuse models from the CodeBuddy platform, you typically have to handle OAuth authorization manually, maintain tokens, and manually enter the models available to the account into the configuration. When account models change, the configuration needs to be updated as well, and it is easy to make errors regarding where credentials are stored.
dsh-codebuddy solves this problem by turning CodeBuddy’s OAuth login, dynamic model directory, and reasoning level selection into a standard DSH plugin. Below is an introduction to its capabilities, installation method, and daily usage.
What is this¶
dsh-codebuddy is a DeepSeek Harness plugin maintained by Lbryany, designed to provide CodeBuddy OAuth, dynamic models, and reasoning level control for DSH. Current version 0.1.1, npm package name @lbryany/dsh-codebuddy, license is MIT.
The philosophy of DSH is “everything is a plugin,” meaning login methods and model sources can be extended through plugins. This plugin follows this path to integrate CodeBuddy: log in once, and the model selector will have the current account’s models and reasoning levels available.
Core Features¶
According to the README, the plugin provides the following capabilities:
/codebuddy-login [site]to log in to the domestic, international, or custom CodeBuddy site;- Displays a separate
CodeBuddycategory in the dsh model selector; - Dynamically loads the models available to the current account after logging in;
- Supports
Off / Minimal / Low / Medium / High / Xhigh / Maxreasoning levels; - OAuth credentials are persisted via the dsh Credential Store, and the model directory is automatically restored after restarting;
- Provides
/codebuddy-statusand/codebuddy-logout.
Regarding credentials, OAuth credentials are stored in the dsh credential reference CODEBUDDY_OAUTH, and the plugin does not write access tokens or refresh tokens to the logs.
Prerequisites¶
- DeepSeek Harness
0.1.0-rc.6 - Node.js
22.19+or24+(engines in package.json is^22.19.0 || >=24.0.0)
Installation and Usage¶
First, install the plugin to the same profile as the actual running Web application, then start the application:
dsh plugin --profile web add github:Lbryany/dsh-codebuddy
dsh web
The first command pulls from GitHub and registers the plugin to the web profile, the second starts the DSH Web application. If the Web application uses a custom profile, replace web with the corresponding name and start with dsh --profile <name>.
After the above steps, the plugin is active. Next, log in via the input box.
Login and Usage¶
Execute in the dsh input box:
/codebuddy-login cn
Rules for the site parameter are as follows:
cn/china: corresponds tohttps://copilot.tencent.com;global/intlor leave blank: corresponds tohttps://www.codebuddy.ai;- You can also pass in a complete
http(s)site URL.
After successful browser authorization, the model selector will appear with a CodeBuddy category, the current account’s model list, and selectable reasoning levels. Use /codebuddy-status to check login status daily, and /codebuddy-logout when switching accounts or logging out.
Update and Uninstall¶
Updating only requires running the installation command once to reinstall the latest GitHub version:
dsh plugin --profile web add github:Lbryany/dsh-codebuddy
When uninstalling, replace add with remove and use the npm package name:
dsh plugin --profile web remove @lbryany/dsh-codebuddy
Build and Install from Source¶
If you want to review or modify the code, you can first clone and build, then install from the local package:
git clone https://github.com/Lbryany/dsh-codebuddy.git
cd dsh-codebuddy
npm ci
npm run check
npm pack --ignore-scripts
dsh plugin --profile web add ./lbryany-dsh-codebuddy-0.1.1.tgz
dsh web
Here, npm run check executes type checking, testing, and building sequentially, and npm pack --ignore-scripts generates an installable tgz package.
One implementation detail: The repository commits lib/ along with the source, allowing dsh to install directly from GitHub; CI verifies that the committed bundle is consistent with the source build output.
Suitable Scenarios and Notes¶
The suitable scenarios are clear: if you are already using DSH, have a CodeBuddy account, and wish to reuse models under that account via OAuth without the need to manually maintain tokens and model lists.
Two points to note before installation:
- The plugin runs with the permissions of the current dsh process. Installing a third-party plugin extends the boundaries of DSH’s capabilities; it is recommended to read the source code before deciding whether to install;
- The plugin uses the MIT license (see the License section in README and the license field in package.json). Although credentials are stored in the dsh Credential Store and are not written to logs, it is still a necessary step to check the credential handling logic before installation.
Conclusion¶
Overall, dsh-codebuddy condenses CodeBuddy’s login, dynamic model directory, and reasoning level control into two commands: one for installation, one for login, after which model selection is completed in the dsh model selector. Project address and community directory page:
- GitHub: https://github.com/Lbryany/dsh-codebuddy
- Community directory page: https://www.skillhub.cn/plugins/Lbryany/dsh-codebuddy
It should be noted that this directory is a community site maintained independently and has no official affiliation with DeepSeek / Hyperbolic.