Bundle
dsh-chaingate-wallet-plugin
DeepSeek Harness wallet plugin powered by the ChainGate TypeScript SDK.
- Source
- king-bcolor
- License
- MIT
- Updated
- Updated yesterday
Readme
# dsh-chaingate-wallet-plugin
> **中文文档**:[README.zh-CN.md](./README.zh-CN.md)
A [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) wallet plugin built with the [ChainGate TypeScript SDK](https://github.com/drakensoftware/chaingate).
## What it is
`dsh-chaingate-wallet-plugin` exposes multi-chain wallet capabilities to DSH agents: HD wallet creation/import, address derivation, balances (native, ERC-20, NFT), transaction history, UTXO, fee estimation, gas tracking, signing, and broadcasting — via structured tools.
## Features
- HD wallet create/import from mnemonic, private key, WIF, xpriv, xpub, keystore.
- Multi-chain networks: BTC, LTC, DOGE, BCH, ETH, AVAX (full API); Polygon, Arbitrum, Base, BNB Chain, Sonic (RPC-only); any EVM chain via custom RPC.
- Balances with confirmed/unconfirmed split and fiat conversion.
- Native, ERC-20, NFT transfer and contract calls with fee estimation.
- Message signing/verification; AES-256-GCM wallet encryption; view-only wallets.
- Broadcast operations require explicit confirmation.
- Built-in DSH web UI: a sidebar **ChainGate 钱包** panel that replaces only the conversation pane. Home shows wallet switching plus BTC/ETH balances in USD/CNY; transfers are AI-assisted — paste the recipient's text or screenshot and AI validates the address/network/amount, prepares fees, and asks for one final confirmation before broadcasting. Advanced tools are collapsed under 高级.
## Use cases
- Create or import a wallet and derive addresses.
- Check native/token balances and fiat value.
- Review transaction history and UTXOs.
- Send crypto with recommended fee and explicit confirmation.
- Connect any EVM chain through a custom RPC URL.
See [docs/用例目录/README.md](./docs/用例目录/README.md) for the full SDK use-case catalog (Chinese).
## Installation
### Preconditions
- Node.js 22+, `dsh` CLI installed.
- `npm install chaingate` is bundled as a dependency.
### Install from GitHub
```bash
dsh plugin --profile default add github:king-bcolor/dsh-chaingate-wallet-plugin
# allowlist build in $DSH_HOME/profiles/default/pnpm-workspace.yaml if requested
```
### Install locally
```bash
git clone https://github.com/king-bcolor/dsh-chaingate-wallet-plugin.git
cd dsh-chaingate-wallet-plugin
dsh plugin --profile default add .
```
## Usage
Start the web profile and open the printed URL (default `http://127.0.0.1:3080`):
```bash
dsh web
```
In the web UI sidebar, click **ChainGate 钱包** to open the wallet console. For a CLI-only profile:
```bash
dsh --profile default
```
Example prompts:
- `Create a new Bitcoin wallet and show the first address.`
- `Check the ETH balance of address 0x...`
- `Estimate fees and send 0.01 ETH to 0x...` (you will be asked to confirm)
## Configuration
```yaml
- id: chaingate-wallet
name: dsh-chaingate-wallet-plugin
config:
apiKey: ""
defaultNetwork: ethereum
confirmBroadcast: true
```
## Security
Never share your mnemonic or private key. The plugin encrypts wallets with AES-256-GCM and never logs secrets.
## Development
TDD is mandatory:
```bash
npm install
npm test
npm pack --dry-run
```
## License
MIT
Install
dsh plugin --profile web add github:king-bcolor/dsh-chaingate-wallet-plugin
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-chaingate-wallet-plugin from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.