npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@mounsecom/dsers-mcp

v3.0.0

Published

Community MCP server for DSers — product import & push, orders, CSV bulk import, mapping, plans. Local stdio server, authenticated with your DSers credentials.

Downloads

50

Readme

DSers MCP Community — Automate Dropshipping Import, Push & Order Fulfilment

npm CI License

An open-source MCP server to automate DSers product import, bulk edit variants, push to Shopify, WooCommerce or Wix, and fulfil orders — using AI.

English | 中文


English

⚠️ Rapid iteration phase: I only have limited DSers accounts and stores to test with, so it's hard to cover every edge case. I'm testing as many scenarios as I can, fixing issues as I find them — though fixes sometimes introduce new ones. Releases will be very frequent during this period. Please always use the latest version, and I'd really appreciate it if you could help me test!

DSers MCP Community is an open-source MCP (Model Context Protocol) server that lets AI Agents automate the entire DSers import workflow — from AliExpress / Alibaba / Accio.com product URL to a Shopify, WooCommerce or Wix store listing. Bulk import, batch edit variants, clean AliExpress titles, apply pricing rules, and push to multiple stores — all with a single sentence to your AI agent.

What can it do?

  • One-click import — paste a product link, your AI agent imports it into DSers automatically
  • Clean up titles — strips the messy keyword-stuffed AliExpress titles into something readable
  • Pricing rules — markup multiplier (e.g. 2.5x), fixed markup (e.g. +$5), compare-at / sale prices
  • Batch import — import multiple products at once with a list of URLs
  • Multi-store push — push one product to all your connected Shopify & Wix stores in one go
  • Safety checks — automatically blocks pushes that would result in below-cost pricing, zero price, or zero stock
  • SEO optimization — let AI rewrite the title and description for better search rankings before pushing

It runs locally, as a stdio process started by your MCP client. There is no hosted service, no account to create, and no third party between you and DSers.

Available On

| Platform | Link | |----------|------| | npm | npmjs.com/package/@mounsecom/dsers-mcp | | GitHub | Mounir-mk/dsers-mcp-community |

This project is a fork of lofder/dsers-mcp-product — see NOTICE.

Supported product sources

Works with product links from AliExpress, Alibaba.com, and Accio.com. Just give your AI agent a product link from any of these platforms, and it will import the product into DSers and push it to your store. (1688.com links are also recognized but require your DSers account to have 1688 source authorization enabled.)

Accio.com — AI-powered product sourcing

Accio.com is Alibaba's AI sourcing assistant. You describe what you're looking for (e.g. "wireless earbuds under $5"), and it searches AliExpress & Alibaba for you.

How to use it with DSers MCP:

  1. Go to accio.com and search for products in natural language.
  2. Browse the results. When you find a product you like, click on it to open the product detail panel.
  3. Copy the URL from your browser address bar — it will look something like: https://www.accio.com/c/xxx?productId=1005009871053792&ds=aliexpress.com
  4. Give that link to your AI agent, e.g.: "Import this product and push to my store: [paste URL]"
  5. The agent handles the rest — no extra setup needed.

This works for both AliExpress and Alibaba products found on Accio.

Documentation

| Document | Description | |----------|-------------| | ARCHITECTURE.md | Three-layer architecture, directory structure, data flow | | USAGE.md | Installation, client config (Cursor, Claude Desktop), scenario examples | | SKILL.md | AI agent instruction file — workflow, rules, push options, error handling | | SKILL-CN.md | Chinese human-readable guide for SKILL.md |

What You Need

  • A DSers account (free plan works)
  • A Shopify, WooCommerce or Wix store already connected in DSers
  • An MCP-compatible AI client — Cursor, Claude Desktop, Windsurf, or any client that supports MCP

Quick Start

Add this to your MCP client configuration and you're done — no install step, no login command:

{
  "mcpServers": {
    "dsers-mcp": {
      "command": "npx",
      "args": ["-y", "@mounsecom/dsers-mcp"],
      "env": {
        "DSERS_EMAIL": "[email protected]",
        "DSERS_PASSWORD": "your-dsers-password"
      }
    }
  }
}

The server signs in to DSers on first use and caches the session for 6 hours, so your credentials are sent once per session, not once per call.

Keep that file private. Your password sits in plain text in the client configuration. Make sure it is not committed to a repository, and restrict its permissions (chmod 600). If you would rather not store a password at all, use the browser login below instead.

Authentication

Two ways to authenticate. Pick one — environment variables win if both are set.

Option 1 — environment variables (shown above). Simplest, works headless, on a server, in CI, and in any MCP client. Requires storing your password in the client config.

Option 2 — browser login, no password stored.

npx @mounsecom/dsers-mcp login

A browser window opens the official DSers login page. You log in on DSers's own website — your password never passes through this tool. The resulting session is encrypted with a machine-specific key and saved to ~/.dsers-mcp/credentials, so it cannot be reused on another machine. Then configure the client without any env block:

{
  "mcpServers": {
    "dsers-mcp": {
      "command": "npx",
      "args": ["-y", "@mounsecom/dsers-mcp"]
    }
  }
}

Works with Chrome, Edge, Brave, and other Chromium browsers. On Mac, Safari works too. Sessions last about 6 hours; when one expires your AI agent will ask you to run login again.

Switching accounts?

npx @mounsecom/dsers-mcp logout
npx @mounsecom/dsers-mcp login

Note that a saved session is ignored while DSERS_EMAIL and DSERS_PASSWORD are set — remove them from your config if you want the browser session used.

Usage Examples

Once set up, just talk to your AI agent in plain language:

"Import this product and push to my Shopify store as a draft: https://www.aliexpress.com/item/1005006372921430.html"

"Import this product, mark up the price by 2.5x, and push it: https://www.aliexpress.com/item/1005006372921430.html"

"Batch import these 3 products and push them all to my store: [URL1] [URL2] [URL3]"

"Push this product to all my connected stores"

"Rewrite the title and description for SEO, then push to my store"

The agent figures out the right tools to call. You don't need to know tool names or parameters.

Install from Source

# Clone
git clone https://github.com/Mounir-mk/dsers-mcp-community.git
cd dsers-mcp-community

# Install
npm install

# Configure (copy and fill in your DSers credentials)
cp .env.example .env

# Type check, test, build
npx tsc --noEmit
npm test
npm run build

# Run the server (stdio — it will wait for JSON-RPC on stdin)
node dist/cli.js

Point your MCP client at the local build:

{
  "mcpServers": {
    "dsers-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/dsers-mcp-community/dist/cli.js"],
      "env": {
        "DSERS_EMAIL": "[email protected]",
        "DSERS_PASSWORD": "your-dsers-password"
      }
    }
  }
}

Run in Docker

docker build -t dsers-mcp .
docker run -i --rm -e [email protected] -e DSERS_PASSWORD=… dsers-mcp

The image speaks stdio, so -i is required and there is no port to publish.

Project Structure

dsers-mcp-community/
├── src/
│   ├── cli.ts                # stdio entry point — the published binary
│   ├── index.ts              # programmatic entry — createServer(config)
│   ├── tools.ts              # Product & store tool registration
│   ├── tools-sourcing.ts     # Supplier search, inspection & de-duplication
│   ├── tools-csv.ts          # CSV build, upload & status
│   ├── tools-mapping.ts      # Supplier mapping & draft split
│   ├── tools-plan.ts         # Plan, limits & billing
│   ├── service.ts            # Import flow orchestration
│   ├── provider.ts           # DSers API adapter
│   ├── rules.ts              # Rule validation & application engine
│   ├── push-options.ts       # Push option normalization
│   ├── push-guard.ts         # Pre-push safety checks
│   ├── write-guard.ts        # Confirmation gate for write operations
│   ├── csv-vault.ts          # Short-lived in-memory store for built CSV files
│   ├── error-map.ts          # DSers errors → actionable agent guidance
│   ├── resolver.ts           # URL normalization (AliExpress/Alibaba/Accio)
│   ├── dedupe-grid.ts        # Visual duplicate-detection contact sheet
│   ├── instructions.ts       # Server-level agent instructions
│   ├── job-store.ts          # File-based job persistence
│   ├── auth/                 # Browser login (CDP, Safari, terminal)
│   └── dsers/                # Low-level DSers API wrappers
│       ├── config.ts         # Configuration & environment
│       ├── auth.ts           # Login, session cache, auto-refresh
│       ├── client.ts         # Authenticated HTTP client
│       ├── account.ts        # Store & user management APIs
│       ├── product.ts        # Import list & push APIs
│       ├── orders.ts         # Order search, fulfilment & reporting APIs
│       ├── sourcing.ts       # Supplier inspection APIs
│       ├── mapping.ts        # Supplier mapping APIs
│       ├── csv.ts            # CSV bulk import APIs
│       ├── plans.ts          # Plan, limits & billing APIs
│       └── settings.ts       # Shipping, pricing, billing APIs
├── test/                     # Contract & unit tests
├── Dockerfile                # stdio server image
├── package.json
├── tsconfig.json
└── .env.example

The 25 Tools

Grouped by the step of the journey they serve.

1 · Connect & discover

| Tool | What it does | |------|-------------| | dsers_store_discover | See your connected stores, shipping profiles, pricing rules, and what rules you can apply | | dsers_plan_info | Your plan, quotas and billing — check limits before an operation that a plan could block |

2-4 · Source, de-duplicate, select

| Tool | What it does | |------|-------------| | dsers_supplier_search | Search the supplier pool by keyword. Read-only, spends no import quota | | dsers_supplier_reverse_search | Give a product image, get the AliExpress listings that look like it — with carrier, delivery window and seller rating | | dsers_supplier_inspect | Read-only analysis of supplier URLs: price, freight, stock, ratings. Creates no draft and spends no import quota | | dsers_dedupe_grid | Renders a labelled contact sheet so you can see which listings are the same product resold by different sellers | | dsers_rules_validate | Test your pricing or title rules before applying — catches mistakes early |

5 · Import & edit

| Tool | What it does | |------|-------------| | dsers_product_import | Paste a product URL, optionally apply pricing/title rules, and get a preview before pushing | | dsers_product_preview | Review a product you already imported — title, price, variants, stock at a glance | | dsers_product_update_rules | Edit pricing, content, images, or variant rules on an already-imported product (incremental merge — no re-import needed) | | dsers_product_split | Split one draft into several products, by variant or by option | | dsers_product_visibility | Set whether the product shows up in your store or stays as a hidden draft | | dsers_product_delete | Delete a product from the DSers import list (irreversible, requires confirmation) |

6 · Publish

| Tool | What it does | |------|-------------| | dsers_store_push | Send products to your Shopify, WooCommerce or Wix store — one at a time, in bulk, or to all stores at once | | dsers_job_status | Check if a push finished and whether it succeeded | | dsers_mapping_inspect | See which supplier products and variants a DSers product can route to | | dsers_mapping_set | Set the supplier mapping — which supplier variant a customer order is routed to (requires confirmation) |

7 · CSV stores

For merchants on a platform DSers has no native connector for.

| Tool | What it does | |------|-------------| | dsers_csv_build | Write and validate the DSers import file locally, before anything is sent. Returns a handle and a preview with personal data masked — never the file itself | | dsers_csv_upload | Send a built file to DSers. Reads the auto-place-order setting first and refuses if it is on | | dsers_csv_status | Follow a CSV import and read the current product mapping file |

What this server will not do

It does not place, pay for or fulfil orders. That stays in the DSers interface, where a human can check the recipient, the variant, the carrier and the amount before any money moves. The order tools that used to be here were removed in favour of that boundary — and of the context budget they cost on every single request.

All tools return clear error messages so your AI agent knows what went wrong and what to do next — no cryptic error codes.

Pre-Push Safety Checks

Before pushing a product to your store, the tool automatically checks for common mistakes:

  • Hard blocks (push won't go through): selling below supplier cost, zero sell price, all variants out of stock
  • Warnings (push goes through, but you'll see a heads-up): profit margin below 10%, stock under 5 units, sell price under $1

If something looks wrong, your AI agent will tell you exactly which variant has the problem and why. If you're sure it's fine, you can override with force_push.

Pricing Rule Conflict Detection

If your DSers store has its own Pricing Rule enabled (basic/standard/advanced), and you also set pricing rules through MCP, the push will be blocked — not just warned. The agent will show two fix options:

  1. Set pricing_rule_behavior='apply_store_pricing_rule' in push options to accept the store's pricing rule
  2. Disable the Pricing Rule in your DSers store settings to use MCP pricing instead

Four Prompts

Ready-made workflows your AI client can use directly:

| Prompt | Description | |--------|-------------| | dsers_workflow_quick-import | Import a single product and push to store as draft | | dsers_workflow_bulk-import | Batch import with pricing multiplier | | dsers_workflow_multi-push | Push one product to all connected stores | | dsers_workflow_seo-optimize | Import, AI-rewrite title & description for SEO, then push |

Environment Variables

| Variable | Required | Description | |----------|----------|-------------| | DSERS_EMAIL | No* | DSers account email. Takes priority over a saved login session. | | DSERS_PASSWORD | No* | DSers account password. Sent only to the DSers login endpoint. | | DSERS_ENV | No | production (default) or test | | DSERS_BASE_URL | No | Override API base URL | | IMPORT_MCP_STATE_DIR | No | Job state directory (default: ~/.dsers-mcp/state) | | DSERS_SESSION_FILE | No | Session cache path (default: ~/.dsers-mcp/session.json) |

* Required unless you authenticate with npx @mounsecom/dsers-mcp login.

What's Next

  • Support more store platforms that DSers already connects to (eBay, Wish, etc.)
  • Smarter pricing rule templates
  • More granular inventory sync options

Got an idea or feature request? Open an issue — suggestions and contributions from other developers are very welcome.

Privacy

The server runs on your machine and talks to no one but the DSers API. See PRIVACY.md.

License

MIT — see LICENSE and NOTICE.


中文

⚠️ 快速迭代阶段: 我手上只有有限的店铺和 DSers 账号,很难囊括所有场景。我在尽可能测试各种情况下可能出现的问题,发现一个修一个,修的过程中也可能连带引出其他问题,因此近期更新迭代速度会非常快。请时刻关注最新版本,也非常欢迎大家来帮我测试

DSers MCP Community 是一个开源的 MCP (Model Context Protocol) 服务器,让 AI Agent 自动完成 DSers 的整个商品导入流程 —— 从速卖通 / Alibaba / Accio.com 商品链接到 Shopify 或 Wix 店铺上架。批量导入、批量编辑变体、清理速卖通标题、应用定价规则、推送到多个店铺 —— 只需一句话给你的 AI agent。

能做什么?

  • 一句话导入 — 贴个商品链接,AI 助手自动导入到 DSers
  • 标题清理 — 把速卖通那些关键词堆砌的乱标题整理成人话
  • 定价规则 — 加价倍率(比如 2.5 倍)、固定加价(比如 +5 美金)、划线价
  • 批量导入 — 一次丢一堆链接,全部导入
  • 多店铺推送 — 一个商品一次推到你所有的 Shopify 和 Wix 店铺
  • 安全校验 — 推送前自动拦截低于成本价、零售价为零、库存为零的商品
  • SEO 优化 — 让 AI 重写标题和描述,提高搜索排名后再推送

本服务在本地运行,由你的 MCP 客户端以 stdio 进程启动。没有托管服务,无需注册账号,你和 DSers 之间没有任何第三方。

发布平台

| 平台 | 链接 | |------|------| | npm | npmjs.com/package/@mounsecom/dsers-mcp | | GitHub | Mounir-mk/dsers-mcp-community |

本项目 fork 自 lofder/dsers-mcp-product,详见 NOTICE

支持的商品来源

支持 速卖通(AliExpress)Alibaba.comAccio.com 的商品链接。把任意平台的商品链接丢给你的 AI 助手,它就能自动导入 DSers 并上架到你的店铺。(1688 链接也能识别,但需要你的 DSers 账号开通了 1688 来源权限。)

Accio.com — AI 智能找商

Accio.com 是阿里巴巴的 AI 选品助手。你用自然语言描述想找的商品(比如"5 美金以下的蓝牙耳机"),它会帮你在速卖通和阿里巴巴上搜索。

怎么配合 DSers MCP 用:

  1. 打开 accio.com,用自然语言搜索你想要的商品。
  2. 在搜索结果里浏览,看到感兴趣的商品点击进去看详情。
  3. 复制浏览器地址栏的链接,大概长这样: https://www.accio.com/c/xxx?productId=1005009871053792&ds=aliexpress.com
  4. 把链接丢给你的 AI 助手,比如说:"帮我导入这个商品并上架:[粘贴链接]"
  5. 剩下的 AI 助手会自动搞定,不需要任何额外设置。

Accio 上搜出来的速卖通和阿里巴巴商品都能用。

文档

| 文档 | 说明 | |------|------| | ARCHITECTURE.md | 三层架构、目录结构、数据流 | | USAGE.md | 安装、客户端配置(Cursor、Claude Desktop)、使用场景 | | SKILL.md | AI agent 指令文件 — 工作流、规则、推送选项、错误处理 | | SKILL-CN.md | SKILL.md 的中文说明 |

使用前提

  • 一个 DSers 账号(免费版就行)
  • Shopify 或 Wix 店铺已经在 DSers 里绑定好了
  • 一个支持 MCP 的 AI 客户端 — CursorClaude DesktopWindsurf 或其他支持 MCP 的工具

快速开始

把下面这段加到 MCP 客户端配置里就行 —— 不用安装,也不用跑登录命令:

{
  "mcpServers": {
    "dsers-mcp": {
      "command": "npx",
      "args": ["-y", "@mounsecom/dsers-mcp"],
      "env": {
        "DSERS_EMAIL": "[email protected]",
        "DSERS_PASSWORD": "你的 DSers 密码"
      }
    }
  }
}

服务首次使用时登录 DSers,并把 session 缓存 6 小时,所以凭据每个 session 只发送一次,不是每次调用都发。

请保护好这个配置文件。 密码是明文存在客户端配置里的。不要提交到代码仓库,并限制文件权限(chmod 600)。如果你不想存密码,用下面的浏览器登录方式。

授权认证

两种方式,二选一 —— 两者都配置时,环境变量优先。

方式 1 — 环境变量(如上)。 最简单,支持 headless、服务器、CI 和任意 MCP 客户端,代价是密码要写进客户端配置。

方式 2 — 浏览器登录,不存密码。

npx @mounsecom/dsers-mcp login

浏览器会自动打开 DSers 官方登录页。你在 DSers 自己的网站上登录 —— 密码完全不经过本工具。拿到的 session 用机器绑定密钥加密后存到 ~/.dsers-mcp/credentials,换台机器无法使用。然后配置客户端时不需要 env 块:

{
  "mcpServers": {
    "dsers-mcp": {
      "command": "npx",
      "args": ["-y", "@mounsecom/dsers-mcp"]
    }
  }
}

支持 Chrome、Edge、Brave 等主流浏览器。Mac 上 Safari 也行。登录大约 6 小时有效,过期了 AI 助手会提醒你重新跑一下 login

换账号?

npx @mounsecom/dsers-mcp logout
npx @mounsecom/dsers-mcp login

注意:只要配置了 DSERS_EMAILDSERS_PASSWORD,保存的 session 就会被忽略 —— 想用浏览器登录的话,把这两个变量从配置里删掉。

使用示例

装好之后,直接用自然语言跟 AI 助手说就行:

"帮我导入这个商品,推到我的 Shopify 店铺草稿:https://www.aliexpress.com/item/1005006372921430.html"

"导入这个商品,加价 2.5 倍,然后推送:https://www.aliexpress.com/item/1005006372921430.html"

"批量导入这 3 个商品,全部推到店铺:[链接1] [链接2] [链接3]"

"把这个商品推到我所有店铺"

"帮我把标题和描述重写一下做 SEO 优化,然后推送"

AI 助手会自己判断调用哪个工具,你不需要知道工具名称或参数。

从源码安装

# 克隆
git clone https://github.com/Mounir-mk/dsers-mcp-community.git
cd dsers-mcp-community

# 安装
npm install

# 配置(复制并填写你的 DSers 账户信息)
cp .env.example .env

# 类型检查、测试、构建
npx tsc --noEmit
npm test
npm run build

# 启动服务(stdio,会等待 stdin 上的 JSON-RPC)
node dist/cli.js

然后让 MCP 客户端指向本地构建产物:

{
  "mcpServers": {
    "dsers-mcp": {
      "command": "node",
      "args": ["/绝对路径/dsers-mcp-community/dist/cli.js"],
      "env": {
        "DSERS_EMAIL": "[email protected]",
        "DSERS_PASSWORD": "你的 DSers 密码"
      }
    }
  }
}

Docker 运行

docker build -t dsers-mcp .
docker run -i --rm -e [email protected] -e DSERS_PASSWORD=… dsers-mcp

镜像走 stdio,所以必须加 -i,也没有端口需要映射。

25 个工具

| # | 工具 | 干什么的 | |---|------|---------| | 1 | dsers_store_discover | 查看你绑定了哪些店铺、有哪些配送方式、定价规则、能用什么规则 | | 2 | dsers_rules_validate | 先试试定价或标题规则对不对,不会真改东西 | | 3 | dsers_product_import | 贴个商品链接,可以顺便加定价/标题规则,推送前先给你看预览 | | 4 | dsers_product_preview | 看一下已经导入的商品 — 标题、价格、变体、库存一目了然 | | 5 | dsers_product_update_rules | 对已导入的商品修改定价、标题、图片或变体规则(增量合并,不需要重新导入) | | 6 | dsers_product_visibility | 设置商品在店铺里是上架展示还是隐藏草稿 | | 7 | dsers_store_push | 把商品推到你的 Shopify 或 Wix 店铺 — 单个推、批量推、或一次推到所有店铺 | | 8 | dsers_job_status | 看看推送完了没、成功了没 | | 9 | dsers_product_delete | 从 DSers 导入列表中删除商品(不可恢复,需确认) |

报错时会返回清晰的消息,AI 助手能看懂出了什么问题、该怎么办 — 不会给你一串看不懂的错误码。

推送前安全校验

推送到店铺之前,工具会自动帮你检查常见问题:

  • 直接拦截(不让推):售价低于进货成本、零售价为 0、所有变体都没库存
  • 警告提醒(能推,但会提示你):利润率低于 10%、库存少于 5 件、售价低于 1 美金

有问题的话,AI 助手会告诉你具体是哪个变体出了什么问题。确定没问题的话可以用 force_push 强制推送。

定价规则冲突检测

如果你的 DSers 店铺自己启用了定价规则(基础/标准/高级),同时你又通过 MCP 设置了定价规则,推送会被直接拦截而不是仅警告。AI 助手会给出两个解决方案:

  1. 在推送选项中设置 pricing_rule_behavior='apply_store_pricing_rule' 接受店铺端的定价规则
  2. 在 DSers 店铺设置中关闭定价规则,使用 MCP 的定价

四个预设提示

MCP 客户端可直接展示给用户的工作流模板:

| 提示 | 说明 | |------|------| | dsers_workflow_quick-import | 一键导入单个商品并推送为草稿 | | dsers_workflow_bulk-import | 批量导入 + 统一定价倍率 | | dsers_workflow_multi-push | 一个商品推送到所有店铺 | | dsers_workflow_seo-optimize | 导入后 AI 重写标题和描述做 SEO 优化,再推送 |

后续计划

  • 支持更多 DSers 已接入的店铺平台(eBay、Wish 等)
  • 更智能的定价规则模板
  • 更精细的库存同步选项

有想法或需求?欢迎 提 issue —— 非常欢迎其他开发者的建议和贡献。

隐私

服务在你本机运行,除了 DSers API 之外不与任何一方通信。详见 PRIVACY.md

许可证

MIT