Skip to content
dsh.fish
Bundle

dsh-aliyundrive-plugin

DeepSeek Harness plugin wrapping the Alibaba Cloud Drive CLI (aliyunpan), with a web UI tab.

Source
king-bcolor
stars
1 stars
License
MIT
Updated
Updated 14 days ago

Readme

# dsh-aliyundrive-plugin

> **中文文档**:[README.zh-CN.md](./README.zh-CN.md)

A [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) plugin that wraps the [aliyunpan](https://github.com/tickstep/aliyunpan) Alibaba Cloud Drive CLI as model-callable tools **and a built-in web UI tab**.

## What it is
`dsh-aliyundrive-plugin` exposes Alibaba Cloud Drive operations to DSH agents: account status, drive switching, directory browsing, file management, upload/download with progress, sharing, albums, and sync backup — through structured tools.

## Features
- Account: login guidance, current user, account list.
- Drive: switch backup/resource drive, quota.
- Files: ls/ll, cd, pwd, mkdir, mv, cp, rename, rm (confirm-gated).
- Transfer: upload/download with concurrency, retry, regex exclusions, progress.
- Share: create shares and rapid-transfer links (`share set`; list/cancel are not exposed by aliyunpan v0.3.x).
- Albums: list, show, batch download.
- Sync: upload/download modes with exclusive/increment policies.
- Long transfers run in background: poll with `aliyunpan_task_status`, list with `aliyunpan_task_list`, stop with `aliyunpan_task_stop`.
- Web UI: an `阿里云盘` conversation tab exposes every tool as a dynamic form with quick account/quota/pwd actions, JSON results, and a live task panel. A standalone page is also available at `/aliyundrive` after the web profile starts.
- Dangerous operations require explicit confirmation.

## Use cases
- Ask the agent to list files in a cloud directory.
- Upload a local folder to Alibaba Cloud Drive.
- Download files with progress and retry.
- Manage shares and albums.
- Set up incremental sync between local and cloud directories.

See [docs/用例目录/README.md](./docs/用例目录/README.md) for the full command/use-case/parameter catalog (Chinese).

## Installation
### Preconditions
- Node.js 22+, `dsh` CLI installed.
- `aliyunpan` CLI installed (see https://github.com/tickstep/aliyunpan).

### Install from GitHub
```bash
dsh plugin --profile default add github:king-bcolor/dsh-aliyundrive-plugin
# allowlist build in $DSH_HOME/profiles/default/pnpm-workspace.yaml if requested
```

### Install locally
```bash
git clone https://github.com/king-bcolor/dsh-aliyundrive-plugin.git
cd dsh-aliyundrive-plugin
dsh plugin --profile default add .
```

## Usage
```bash
dsh --profile default
# or the web profile
dsh web
```
Open a conversation and switch to the `阿里云盘` tab for the UI.
Example prompts:
- `List files in the root of my backup drive.`
- `Upload ~/Documents to /我的文档.`
- `Start sync from ~/Documents to /备份盘/我的文档 using increment policy.`

## Configuration
```yaml
- id: aliyundrive
  name: dsh-aliyundrive-plugin
  config:
    aliyunpanBin: /usr/local/bin/aliyunpan
    timeoutMs: 60000
    longRunningTimeoutMs: 3600000
    confirmDangerous: true
```

## Development
TDD is mandatory:
```bash
npm test
```

## License
MIT

Install

dsh plugin --profile web add github:king-bcolor/dsh-aliyundrive-plugin

Profile: web

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