Skip to content
dsh.fish
Bundle

dsh-tui-market

In-TUI plugin market for dsh-TUI: browse, search, install and remove dsh plugins via the /market command.

Source
FUSU123fusu
License
MIT
Updated
Updated 7 days ago

Readme

# dsh-tui-market

[English below](#english)

[dsh-TUI](https://github.com/ccch1mneyyy/dsh-TUI) 的插件市场插件:在 TUI 里用 `/market` 浏览、搜索、安装、移除 dsh 插件,不用离开终端。

## 功能

- `/market` — 浏览[生态精选列表](https://raw.githubusercontent.com/dsh-tui-ecosystem/dsh-tui-ecosystem/main/plugins.json)(分页,多选安装,可直接进搜索)
- `/market search <关键词>` — 按 GitHub `topic:dsh-plugin` 搜索全网插件
- `/market all`(或 `/market search` 不带关键词)— 浏览全网插件总榜(纯 topic 按 star 排序)
- `/market install <名称>` — 直接安装(有 npm 包名的走 npm,否则走 `github:owner/repo`)
- `/market list` — 查看当前 profile 已装的第三方插件
- `/market remove <名称>` — 移除插件

浏览与选择走 dsh-TUI 的问答浮层(`/provider` 向导同款通道);安装/移除通过子进程执行 `dsh plugin --profile <当前 profile> add/remove`,完成后重启 TUI 生效。

## 安装

暂未发布到 npm,从源码打包安装:

```sh
git clone https://github.com/FUSU123fusu/dsh-tui-market.git
cd dsh-tui-market
npm pack
dsh plugin --profile <你的 profile> add file:dsh-tui-market-0.2.0.tgz
```

要求:`dsh --profile <名称>` 方式启动的 dsh-TUI(命令需要知道往哪个 profile 装)。

## 开发

纯 ESM JavaScript(`lib/` 即源码),零运行时依赖,Node ≥ 22.19。

```sh
npm test   # node --test
```

---

## English

A plugin market for [dsh-TUI](https://github.com/ccch1mneyyy/dsh-TUI): browse, search, install and remove dsh plugins from inside the TUI with `/market` — no need to leave the terminal.

### Features

- `/market` — browse the [curated ecosystem list](https://raw.githubusercontent.com/dsh-tui-ecosystem/dsh-tui-ecosystem/main/plugins.json) (paged, multi-select install, jump to search)
- `/market search <keywords>` — search all of GitHub by `topic:dsh-plugin`
- `/market all` (or `/market search` without keywords) — browse the all-GitHub star chart (bare topic, sorted by stars)
- `/market install <name>` — direct install (npm package name when known, otherwise `github:owner/repo`)
- `/market list` — show third-party plugins installed in the current profile
- `/market remove <name>` — remove a plugin

Browsing uses dsh-TUI's question overlay (the same channel as the `/provider` wizard); install/remove run `dsh plugin --profile <current profile> add/remove` in a child process. Restart the TUI for changes to take effect.

### Install

```sh
dsh plugin --profile <your profile> add dsh-tui-market
```

Requires dsh-TUI launched via `dsh --profile <name>` (the command needs to know which profile to act on).

### Development

Plain ESM JavaScript (`lib/` is the source), zero runtime dependencies, Node ≥ 22.19.

```sh
npm test   # node --test
```

Install

dsh plugin --profile web add github:FUSU123fusu/dsh-tui-market#6bf30b9980eb5faad5e512e88aed6c13f0cc6453

Profile: web

Source