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

@meidada-cn/cli

v0.5.9

Published

媒大大官方内容投放 CLI

Downloads

4,494

Readme

媒大大 CLI

媒大大官方内容投放 CLI。日常使用按一条线路理解:

  1. 生成或准备文章
  2. 按需存放草稿箱
  3. 选择媒体并投放文章
  4. 按需创建定时投放
  5. 查看投后订单和结果

CLI 面向 Agent 使用时,必须以 --json 返回作为唯一事实来源。媒体价格按当前用户分层返回,不能写死、复用他人报价或绕过服务端报价。

安装

用户侧只需两步:

  1. 向目标 Agent 发送:请根据 https://skillhub.cn/install/skillhub.md,安装 @org-bgkwxnpv/meidada。
  2. 在官方 CLI 工具入口点击“生成 API Key”,通过 Agent 的安全隐藏输入提供一次性 API Key。

之后由 Agent 自动完成 CLI 安装、Skill 同步、设备注册和环境自检。用户不需要自行打开终端执行 npm 或 mdd 命令,也不得把 API Key 粘贴到聊天中。

以下安装命令仅供 Agent 执行或人工维护排障参考,不属于用户必须执行的步骤:

推荐直接使用可审计的 npm 命令安装。主包和当前平台的原生二进制包优先通过 npm registry 获取;平台包暂未同步时,CLI 只会按当前版本从官方 Release 直接下载对应二进制并校验 SHA-256,不调用 GitHub API、不搜索仓库、不使用旧版本。国内用户可使用 npmmirror,新版本未找到时请改用官方源。安装命令只对当前命令生效,不会修改用户的 npm registry 配置。

# 固定到当前已验证版本,避免 registry latest 落后时安装旧版
npm install --global @meidada-cn/[email protected] --registry https://registry.npmmirror.com --no-audit --no-fund
# 官方源:npm install --global @meidada-cn/[email protected] --registry https://registry.npmjs.org --no-audit --no-fund

安装脚本是便利入口,会先展示包版本、registry、安装目录和下载域名,再调用同一条 npm 安装命令:

Windows PowerShell:

Invoke-WebRequest https://raw.githubusercontent.com/yixiaoer888/meidada-cli/main/install.ps1 -OutFile install.ps1
PowerShell -ExecutionPolicy RemoteSigned -File .\install.ps1

Linux/macOS:

curl -fsSL https://raw.githubusercontent.com/yixiaoer888/meidada-cli/main/install.sh -o install.sh
sh install.sh

切换官方源:Windows 使用 PowerShell -File .\install.ps1 -Official;macOS/Linux 使用 sh install.sh --official。也可用 MDD_NPM_REGISTRY 或脚本参数指定企业 registry。

安装完成后继续初始化设备:

mdd skill sync --json

上面默认只同步当前项目的 .agents/skills。需要用户级 Skill 时,明确指定当前 Agent 并先预览,例如:

mdd skill sync --global --agent codex --dry-run --json
mdd skill sync --global --agent codex --force --json

支持 codexcursorclaudetraeworkbuddycodebuddyopenclawwindsurfgemini。不指定 --agent 时不会批量写入多个 Agent 的用户目录。

同步 Skill 后,Agent 必须继续完成设备注册和验证,不得要求用户自行打开本地终端执行命令。Agent 应通过安全隐藏输入获取 CLI 工具入口生成的“单次部署 API Key”,然后将其经标准输入传给 mdd setup --api-key-stdin --json。不要要求用户把 Key 粘贴到聊天中;Agent 也不得回显、记录或写入 Key。Agent 不得再向用户索要 API URL;API 地址应来自官方 CLI 工具入口、安装流程或已有配置。

mdd setup --api-key-stdin --json

CLI 内置媒大大正式 API 地址 https://www.meidada.cn,通常只需提供一次性部署 API Key。企业私有部署可用 --api-url "https://your-private-host" 或环境变量 MDD_API_URL 覆盖默认地址;地址解析优先级为命令行参数、本地配置、环境变量、官方默认地址。

如果本机已有有效设备配置,setup 会先查询 /profile 完成健康检查,不读取新的部署 Key,也不会重复注册设备。只有设备令牌失效后,或明确传入 --re-enroll 时,才会执行设备注册:

mdd setup --api-key-stdin --json
mdd setup --re-enroll --api-key-stdin --json

Agent 必须自动执行 mdd setup --api-key-stdin --json,并通过 Agent 自己的安全隐藏输入收取一次性部署 API Key。用户只负责在安全输入框中提供 Key,不需要打开终端或复制命令。若当前 Agent 不支持安全隐藏输入,应报告能力限制并停止,不得退化为要求用户手动执行命令或把 Key 发送到聊天中。Agent 的安全执行约定是:将隐藏输入直接连接到该命令的 stdin,不把 Key 写入命令参数、环境变量、文件或日志。

不要使用 mdd config init --api-key "真实Key" 作为推荐方式;该参数仅为兼容旧脚本保留,可能暴露在终端历史和进程参数中。

单次部署 API Key 只能使用一次、15 分钟后过期,注册成功后立即失效。设备专属令牌会持久化到当前操作系统用户的 ~/.mdd/config.json,切换项目或重新打开 Agent 后无需再次输入。不要把单次部署 Key 设置为 MDD_API_KEY;日常临时令牌如需通过环境变量提供,使用 MDD_DEVICE_TOKEN

正式版更新默认使用你当前 npm registry;可通过 --registry 临时指定 npmmirror 或官方源,不会修改全局 npm 配置:

mdd update --check --json
mdd update --yes --json
mdd update --yes --registry https://registry.npmmirror.com --json

mdd update --check 只检查,不安装、不下载二进制、不同步 Skill;只有显式传入 --yes 才会更新 CLI。更新默认同步当前项目 Skill,需要同步到 Agent 用户目录时使用 mdd update --yes --global --agent codex --force --json。普通命令默认不访问 npm,若需要后台版本检查,显式设置 MDD_AUTO_UPDATE=1MDD_VERSION_CHECK=1

更新期间会使用用户级更新锁,避免多个 Agent 同时改写全局 CLI。更新失败时会尝试同时恢复 CLI 和 Skill;如果恢复失败,必须根据 JSON 中的错误信息停止后续业务操作。

安装与更新常见问题

  • 需要 Node.js 20+ 和 npm;使用 node --version 检查。全局安装权限不足时,按 npm 官方文档配置用户级 prefix,不要以管理员身份长期运行终端。
  • npmmirror 报 @meidada-cn/[email protected] 不存在时,不要降级安装 latest 或旧版;应先等待同步或切换官方源。
  • 平台二进制包名称为 @meidada-cn/cli-<platform>-<arch>,由主包通过 optionalDependencies 自动选择当前系统版本;平台包暂未同步时,只允许下载当前版本的官方 Release 资产并校验 SHA-256。
  • 安装后由 Agent 直接检查 npm 全局 launcher 的实际路径;仅有用户目录原生二进制时视为安装失败。
  • 更新失败时先执行 mdd update --check --json,再复制返回的 registry 和安装命令排查网络、权限或镜像同步情况。
  • 已保留独立二进制发行能力:发布资产命名为 mdd-cli-<version>-<platform>-<arch>.<zip|tar.gz>,包含 checksums.txt。它适合没有 Node.js 或企业网络限制场景;下载后必须先核验 SHA-256,再解压执行。当前构建命令为 bun run build:native-assets,发布目录包含 Windows x64/ARM64、Linux x64/ARM64、macOS x64/ARM64。

1. 准备文章

用户已经有 DOCX、HTML 或 TXT 时,直接把文件作为文章来源。投放文章不需要先保存草稿:

mdd publish prepare --file article.docx --channel news --media 12345 --output campaign.json --json
mdd publish article --draft draft-123 --media 12345 --output campaign.json --json
mdd publish note --draft draft-123 --media 12345 --account-rule 1 --output campaign.json --json
mdd publish video --video demo.mp4 --title "短视频标题" --media 12345 --keyword "#品牌" --output campaign.json --json
mdd publish detect --file article.docx --media 12345 --json
mdd publish auto --file article.docx --media 12345 --output campaign.json --json

DOCX 最大 20 MB,可保留标题层级、粗体、斜体、列表、表格、段落对齐和常用字号;内嵌的 PNG、JPEG、GIF、WebP 图片会自动上传并替换为线上地址。EMF、WMF 等浏览器无法显示的图片会明确报错,不会静默创建缺图稿件。

2. 存放草稿箱

只有用户明确要求“保存草稿、放到草稿箱、稍后再投”时,才使用草稿箱:

mdd draft import article.docx --json
mdd draft import article.html --title "文章标题" --json
mdd draft update <draftId> --content-file article.html --json
mdd draft update <draftId> --content-file article.html --yes --json
mdd draft preview <draftId> --json

draft import 会保存草稿并返回预览链接,结果里同时提供 preview.urlpreviewUrldraft update 默认只返回修改预览,不写入;用户确认后才加 --yes

3. 投放文章

标准即时投放流程:

mdd wallet balance --json
mdd media search --channel news --keyword "关键词" --json
mdd publish prepare --file article.docx --channel news --media 12345 --customer <customerId> --output campaign.json --json
mdd publish prepare --video demo.mp4 --title "短视频标题" --channel short-video --media 12345 --keyword "#品牌" --output campaign.json --json
mdd publish validate campaign.json --json
mdd publish dry-run campaign.json --json
mdd publish quote campaign.json --json
mdd publish confirm <approvalId> --json
mdd publish confirm <approvalId> --keep-draft --json
mdd publish confirm <approvalId> --yes --json
mdd publish get <approvalId> --json
mdd publish wait <approvalId> --json

publish prepare --file 会上传文档中的本地图片,并创建仅用于本次投放预览的临时预览源;它不是用户主动保存的草稿。结果会返回 previewUrl、临时草稿 ID 和 draftDecision,Agent 必须提醒用户选择“继续投放”还是“保存草稿”。继续投放时按 draftDecision.continueCommand 继续报价;保存草稿时保留该草稿;用户明确放弃且不保留时,执行 draftDecision.discardCommand 删除。publish prepare --video 同样处理。publish prepare --draft 使用草稿箱已有文章作为来源,不触发这个选择。publish quotepublish request 的易读别名,用于创建短期有效的待确认报价,不会创建订单或扣款,并会返回同一个确认前预览链接。Agent 必须先把这个链接交给用户查看,再执行不带 --yespublish confirm 获取最终摘要;用户明确确认标题、媒体和费用后,才执行 publish confirm <approvalId> --yes。如果审批单没有预览链接,CLI 会停止,不会创建订单。投放完成后可用 publish get/wait 查看整批订单状态,results[].previewUrl 是发送给上游媒体的稿件预览链接;如果你需要查看审批信息,可改用 publish approval get <approvalId>publish articlepublish notepublish video 是面向三类投放内容的快捷入口,分别默认对应新闻文章、自媒体图文笔记和短视频流程;它们仍然复用同一套报价和草稿处理逻辑。 publish detect 只识别素材应走哪条线路,不创建草稿、不报价;publish auto 会先识别,只有识别置信度高且必填信息齐全时才生成投放文件。不确定时会返回 confirmationRequirednextQuestionsmissingFields,Agent 必须先向用户确认,可用 --content-type article|note|video 或对应快捷命令继续。

投放完成后,结果中仍应展示发送给上游平台的预览链接,方便用户回看每个订单对应的稿件。失败项显示失败原因,不得声称成功。

订单取消和定时计划的确认、暂停、恢复、取消操作会使用稳定幂等 Key;遇到网络超时可先查询当前状态,再安全重试。临时预览草稿在预览、报价或 campaign 文件写入失败时会尝试自动清理,清理失败会在错误中返回草稿 ID。

CLI 媒体查询和投放支持 news(新闻媒体)、we-media(自媒体)、overseas(海外媒体)和 short-video(短视频)。

4. 定时投放

只有用户明确提出“定时、每天、按计划投放”等需求时,才进入定时投放。普通投放不得自动转换成定时计划。

mdd schedule prepare --drafts <draft1,draft2> --channel news --media 12345 --start-at "2026-08-13T09:00:00+08:00" --run-at 09:00 --timezone Asia/Shanghai --repeat daily --budget-per-run 500 --budget-total 5000 --output schedule.json --json
mdd schedule prepare --drafts <draft1> --channel short-video --media 12345 --start-at "2026-08-13T09:00:00+08:00" --run-at 09:00 --timezone Asia/Shanghai --repeat once --budget-per-run 500 --keyword "#品牌" --output schedule.json --json
mdd schedule request schedule.json --json
mdd schedule confirm <scheduleId> --json
# 用户确认哪几篇文章、什么时候发布、发几次、涉及多少钱和预览信息后:
mdd schedule confirm <scheduleId> --yes --json

如果用户在确认摘要后说撤销,不执行 --yes;如服务端已创建待确认计划,可执行取消流程:

mdd schedule cancel <scheduleId> --json
mdd schedule cancel <scheduleId> --yes --json

定时计划由服务端执行,关闭 Agent 或电脑不会漏投。每次只消费草稿队列中的下一篇文章,不会自动挑选草稿或媒体。执行前会重新校验草稿版本、媒体状态、当前用户分层报价、余额、单次预算和累计预算;任一条件超出授权范围,计划会暂停等待处理。

5. 投后管理

mdd order list --json
mdd order get <orderNo> --json
mdd order wait <orderNo> --json
mdd order cancel <orderNo> --json
mdd order cancel <orderNo> --yes --json

取消订单必须先预览,再让用户确认订单号、媒体和退款金额后执行 --yes

辅助能力

mdd asset upload cover.png body-1.png --json
mdd customer create --file customer.json --json
mdd customer get <customerId> --json
mdd favorite add 12345 --channel news --json
mdd config get --json
mdd auth status --json
mdd doctor --json

doctor 除了检查 API 和认证,还会报告 npm 包、launcher、原生二进制、项目级 Skill 和本地设备配置状态。not_checked 表示当前进程没有提供对应安装上下文,不代表可以绕过安装验证。

客户联系电话默认脱敏;只有用户明确需要核对时才使用 customer get <id> --show-sensitive

CLI 当前不提供发票命令;如需开票,请通过当前系统联系媒大大客服。

渠道补充提醒

publish detectpublish auto 用于自动识别用户发来的素材属于文章、图文/笔记还是短视频。CLI 会按素材来源、视频标签、图片数量和已确认的 --content-type 判断发布板块;如果只有少量图片、文章和图文笔记都可能适用,JSON 会返回 confirmationRequired: true,Agent 必须先询问用户确认板块。

三条线路都至少需要用户提供素材来源(--file--draft--video)和媒体 ID(--media)。短视频还必须有标题;图文/笔记默认走自媒体图文发布(--article-type 2--allow-video 0),但 Agent 应确认发布形式和换号/截图规则。多媒体投放时,CLI 会在 titlePlan 中提示是否需要针对不同媒体拟定标题;Agent 在自动拟标题前必须先问用户是否需要。

publish preparepublish validatepublish dry-runpublish quote 的 JSON 结果会包含 guidance,用于提示当前渠道还可以补充的针对性内容。短视频会提示 --keyword、素材和封面/描述建议;自媒体可通过 --account-rule--article-type--allow-video 补充账号规则、内容类型和视频处理方式;新闻和海外媒体会提示可在 --remark 中补充发布要求、地区语种、来源等信息。这些提醒不代表最终确认,仍需按报价和 publish confirm --yes 流程执行。