Skip to content
dsh.fish
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

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source