@dmfaster/cli

中文文档
2.7.6发布于 2026/10/25Apache-2.0ES Module构建来源已验证近 30 天下载 3091

DM快速代理1.0的命令行接口.

中文使用文档
文档目录4 节
  1. 导入Instagram 用户名
  2. 现有Instagram列表 (1.1
  3. 保存公司联系方式
  4. 恢复审查(自1.8.0起)

管理部快速CLI

CLI为DM更快代理2.0。 运行版本绑定的软件包,然后认证 通过有重点的DM快取浏览器批准页面.

此来源准备版本被绑定的 2. 3. 0 运行时间 。 验证坐标 在使用这些新的指令反对生产之前,产品和包放出.

npx --yes @dmfaster/[email protected] auth login --json
npx --yes @dmfaster/[email protected] auth login --access plan --json
npx --yes @dmfaster/[email protected] auth status --json
npx --yes @dmfaster/[email protected] doctor --json
npx --yes @dmfaster/[email protected] describe companies search

npx --yes @dmfaster/[email protected] analytics summary --scope today --json
npx --yes @dmfaster/[email protected] workspace briefing --json
npx --yes @dmfaster/[email protected] campaigns list --status Running --limit 10 --json
npx --yes @dmfaster/[email protected] campaign copy inspect campaign_123 --json
npx --yes @dmfaster/[email protected] conversations list --filter unread --channel linkedin --limit 25 --json
npx --yes @dmfaster/[email protected] conversation inspect conversation_123 --limit 40 --json
npx --yes @dmfaster/[email protected] replies list campaign_123 --limit 5 --query "Visio" --json
npx --yes @dmfaster/[email protected] company timeline campaign_123 outreach_456 --json
npx --yes @dmfaster/[email protected] companies list refine --input reviewed-refinement.json --json
npx --yes @dmfaster/[email protected] companies fit start --input fit-review.json --json
npx --yes @dmfaster/[email protected] companies fit advance --input fit-run.json --json
npx --yes @dmfaster/[email protected] companies fit results --input fit-page.json --json
npx --yes @dmfaster/[email protected] companies fit proposal --input fit-run.json --json
npx --yes @dmfaster/[email protected] history export campaign_123 > campaign-history.jsonl

npx --yes @dmfaster/[email protected] campaign validate --state campaign-state.json --json
npx --yes @dmfaster/[email protected] audience preview --state campaign-state.json --json > audience-preview.json
# Review the exact count and sample in audience-preview.json before continuing.
npx --yes @dmfaster/[email protected] campaign prepare --state campaign-state.json --reviewed-audience audience-preview.json --idempotency-key prepare-001 --json
npx --yes @dmfaster/[email protected] campaign launch preflight campaign_123 --idempotency-key launch-001 --json
npx --yes @dmfaster/[email protected] campaign launch campaign_123 --idempotency-key launch-001 --authorization-id agent_action_… --json

npx --yes @dmfaster/[email protected] auth logout --json

auth login 创建寿命短的 PKCE 设备请求,打印确认 代码,在用户浏览器中打开相同的请求,并进行民调直至用户 批准,否认,或让它失效. 用户必须比较浏览器和 CLI 编码和审查确切的工作空间、期限和权限。 浏览器永远不会 获得签发的证书.

登录默认值为完整 full 简介。 使用 --access 只允许 所需能力集:

简介能力
read检查工作空间、活动、发送、答复和管道
planread + 行业浏览、验证和准确观众预览
draftplan 加上私人列表/运动准备和核准的暂停请求
fulldraft 加上运动控制、收件箱答复、管道更新、以及根据业主赠款和明确指示取消后续活动

服务器仍然检查每个精确范围,工作空间成员,只检查所有者 规则 和行动授权 访问配置文件是证书上限,不是 行动批准.

campaigns list 接受 --query, (中文(简体) ), --channel,以及 --cursor 并列状态 并限制。 其结果包括精确的过滤总数和 nextCursor保留 后页的相同过滤器。 如果收藏在呼号时发生变化, 没有光标的重新启动; 部分集从未报告为完整 .

conversations list 接受收件箱过滤器和光标为旗帜。 这个 conversation inspect 命令要准确的对白 ID 和可选 信件光标。 双方都接受 --input FILE 用于输入完整的输入.

history export CAMPAIGN_ID 沿着已确认的发送历史光标并 将 JSON Lines 写入标准输出。 它检查每一页 之前写任何 行,所以一个API或光标失败不能产生部分导出. 默认 最多为一万行; 使用 --max 对于较小的束缚或 --cursor 开始 从已保存的历史光标中. history list --input FILE 仍为所打, 大历史和MCP客户端的逐页路径.

登录在 stdout 上发布两个新线限定的 JSON 事件: 第一 authorization_required,则 authenticated 成功交换后. 人类的指令和警告都转到了Stderr, 所以脚本可以解析 stdout 而不刮去道词.

使用 auth upgrade --access full 当现有证书需要更广泛的 权限。 在浏览器批准时存储了旧的证书遗存. 拒绝 在安全存储确认替换后 CLI取消旧证书. 如果旧远程撤销失败, 则 CLI 报告 在保留新的工作联系的同时, 最终JSON 事件包括 priorCredentialRevoked 所以脚本可以分辨是否清理 结束了.

核准证书存放于macOS Keychain或Linux特勤局 (单位:千美元)secret-tool) (中文(简体) ). 不支持的证书存储失败关闭, 永远不会写入 简文倒置. auth status 使用 服务器. auth logout 在本地删除之前取消存储的证书.

运动状态文件包含完整的最新状态返回或确认 打电话的人 重新发送到每个验证、观众或准备状态 调用; MCP/API 进程不保留隐藏的规划会话 。 筹备 命令创建私人资源,并需要稳定的一能键。 他们也 需求 --reviewed-audience 已保存的、经人审查的产出 匹配精确的预览 。 CLI回應由服务器发行的受众身份从 其结果不变;它从未从国家文件中获得签名.

代理商应该假设用户不知道DM Fraster的字段或命令名: 将用户的目标转换为完整状态, 只要求缺少材料 准确的预览和私人编写草案 秩序。 秩序. dmfaster --help 包含相同的只针对 CLI 的快速启动序列 师曰.

这个 full 连接配置包含 campaigns:control。在拥有者之后 作出明确指示,如“发射”就够了。 打电话 ,然后返回时立即执行 ready,使用返回的 授权ID 和相同的竞选ID 和 idepotency 密钥。 授权 时间仍然很短,而且与竞选版本完全一致.

更老的连接保持每个动作浏览器的批准. 再连接一次 dmfaster auth upgrade --access full 以启用对话控制,或跟踪 返回时 approval_required 单一动作的 URL 。 只有人类才能行动 连接和动作核准页。 如果发射返回 setup_required显示 setup.setupUrl 重复 setup.resume 扩展后重新连接.

--json jSON是每个API命令的默认值. dmfaster doctor 检查节点运行时间、 安全存储可用性、 远程 认证、工作空间身份、授予范围和符合范围要求的工具. 它会打印一些动作来恢复断开的连接而不会暴露符号. 范围资格不能绕过工作空间的作用、计划或行动检查. 运行 dmfaster --help 用于完整代理2.0命令列表,或 dmfaster COMMAND --help 说明重点. dmfaster describe COMMAND 返回精确的输入方案、所需的范围以及不签名的效果. 接受的图标 --input FILE, (中文(简体) ), --state FILE, (中文(简体) ), --reviewed-audience FILE, (中文(简体) ), 或者说 --file FILE 还接受 - 以读取标准输入中的一项输入。 留着 已审查的受众预览作为服务器发布的结果;标准输入不 取消审查要求。 生产 API URL 默认为 https://app.dmfaster.com。 。 。 .

CLI也读到 $XDG_CONFIG_HOME/dmfaster/config.json (或 ~/.config/dmfaster/config.json:

{
  "baseUrl": "https://app.dmfaster.com"
}

环境变量优先. DMFASTER_API_URL 覆盖基准 URL用于本地开发或自宿. DMFASTER_TOKEN 仍然是明确的 开发者证书覆盖并优先于操作系统 存储; CLI 拒绝 JSON 配置中的纯文本符号字段。 永远不要贴上 DM 快速令牌进入聊天或MCP配置.

导入Instagram 用户名

保存已审查过的用户名收藏为私有列表 :

dmfaster list import --name "Finland Coaches" --file instagram-usernames.csv --json

使用带有可选选项的一栏 CSV username 或者说 instagram_username 标题, 或每行有一个用户名。 UTF-8 BOM,引用的单元格,和 CRLF 支持. 最多 1000行和64KiB被接受. 无效行拒绝整个导入 。 大小写 和领导@实现正常化;重复报告并删除。 命令 从名称和唯一用户名中获取一个稳定的重试密钥; 提供新 --idempotency-key 故意创建另一个副本.

SDK当量是 client.invoke("list.import", { name, usernames, idempotencyKey })它要求 campaigns:write 并且在所有计划中,包括Basic上都可以使用。 成功的结果包括: listId, (中文(简体) ), name, (中文(简体) ), importedCount, (中文(简体) ), inputCount, (中文(简体) ), duplicateCount, (中文(简体) ), created,以及 replayed。 。 。 . 更改的有效载荷或编辑后保存的列表返回 idempotency_conflict。 。 。 . 该列表可在竞选建设者中选择;没有创建竞选 无所寄出. 导入验证语法,而不是活的Instagram账户存在.

现有Instagram列表 (1.1

查找已保存的列表, 检查整个受众是否准确的用户名, 删除 a 并且通过同一合同筹备一场未启动的运动:

dmfaster lists list --query "Coaches" --json
dmfaster list inspect LIST_ID --username pt.j.jylha --json
dmfaster list target remove LIST_ID --username pt.j.jylha --expected-version INSPECTED_UPDATED_AT --json
dmfaster campaign draft prepare --input draft.json --json

JSON草案载有 listId, (中文(简体) ), expectedListUpdatedAt, (中文(简体) ), expectedTargetCount, (中文(简体) ), name, (中文(简体) ), messageVariants (1-4个字符串), dailyCap, (中文(简体) ), pacingSeconds, (中文(简体) ), onlyNewChats, (中文(简体) ), skipPreviouslyMessaged,以及 idempotencyKey。使用该版本 以及最新检查/搬运的准确总数。 核查 保存副本和设置, 并总是返回已禁用 Draft它不会 启动或发送手臂。 重用不同设置或编辑对象的密钥 失败而不改变原来的竞选.

SDK 操作名称为 lists.list, (中文(简体) ), list.inspect, (中文(简体) ), list.target.remove, (中文(简体) ), campaign.draft.prepare,以及 campaign.draft.update; MCP 名称以下划线取代点. 列表 读取要求 campaigns:read; 删除需要所有者 campaigns:write· ; 起草草案需要两种范围。 不需要公司搜查权 这些Instagram列表。 现有的运动发起/暂停批准没有变化.

Instagram运动总是排除已知的联系人: onlyNewChats 财务报告和审定财务报表 skipPreviouslyMessaged 都一样 true未支持的值被拒绝 在起草之前.

修改现有的残疾、未启动的社会运动草案,使用 dmfaster campaign draft update --input update.json --json供应 campaignId, (中文(简体) ), expectedCampaignUpdatedAt 和无能的 updates 包含任何支持设置的对象:社交频道切换,链接In邀请 模式和注释,后续序列,描述, name, (中文(简体) ), messageVariants, (中文(简体) ), dailyCap (1至60个), pacingSeconds (12–3,600),或发-窗田. 外出设置和观众保存. Stale版本和开始的竞选活动被拒绝. 在不确定之后 回答,在重试前检查运动。 无需批准发射 编辑已禁用的草稿.

用于混合Instagram/Facebook/LinkedIn草稿,使用 campaign copy inspect CAMPAIGN_ID --json 读取确切邀请模式,注意, 保存的序列, Instagram/ 脸书 messageVariants,并有效 linkedinAcceptedMessage。 。 。 . 不带便条就发出邀请,然后设置一个DM linkedinInviteMode 改为 invite_only 财务报告和审定财务报表 linkedinFollowUpSequence 到第一个启用的序列 链接 在包含DM文本的步骤中. 第一步一到就排队 连接被接受,或者如果该人已经连接; 所需员额 delayDays: 1 不延迟接收消息。 以后的步骤 使用他们所配置的延迟 。 在另一条竞选渠道上,一个已知的人类答复 已链接 步骤中,在发送前进行最后检查. 仅链接 运动用途 followUpSequence 为这些步骤。 更新后检查 校验已保存的副本; 编辑时从未启动草稿 .

自动发送窗口也可以通过编辑 campaign.draft.update数字 : instagramSendingWindowEnabled 是一个布尔; instagramSendingWindowStartMinute 0-1380为; instagramSendingWindowEndMinute - 60-1440;以及 instagramSendingWindowWeekdays 是1–127(星期一=1,星期二=2)的位图, 周日=64;周一至周五=31。 间隔必须至少为60分钟 在同一天里,我们开始讨论 时间使用工作空间时区返回 campaign.inspect 内 settings,与当前窗口并列,复制,节奏,并启用状态. 更改间隔时发送两个端点 。 保存的窗口可切换 草案停止使用时进行或关闭;只有单独的发射操作 手持时间表。 已经开始的运动不能用这个工具草案来编辑.

检查正在进行的运动 campaign delivery inspect --input FILE。 。 。 . 更新上限、速度或发送时数 campaign delivery update --input FILE, (中文(简体) ), 包括检查修订和 " 公正 " 钥匙。 这能保持运行 还有观众 启动并暂停返回操作引用; 使用 campaign operation inspect --input FILE --wait 30 最多等待30秒钟 它的收据。 待办业务可再次使用同一身份证进行检查. 浏览器承认和确认的交货是分别的事实.

保存公司联系方式

公司搜索支持当前公司应用过滤器,包括 technologies: ["shopify"] 合并 metaAdsActiveOnly: true发现 国别选项,先检查返回的公司身份 在准备私人短名单之前.

保存公司列表 保存可用的真实邮件, LinkedIn, 电话, Instagram, 和脸书路线。 名称和角色与每个选定的联系人保持一致 频道;检查所有决策者的全公司概况。 已生成 company.… 身份从来不是Instagram的目标 和无联系的公司 保留研究行。 所保存的路由是快照,而不是经过验证的可交付性. 旧的列表不会自动回填先前丢失的联系人 . 这种服务器行为与公布的1.4.0 CLI和MCP服务器相通; 保存一份研究清单不会造成任何运动,也不会发出任何东西.

恢复审查(自1.8.0起)

npx --yes @dmfaster/[email protected] companies fit run --input run.json --until-complete --max-seconds 1800
npx --yes @dmfaster/[email protected] companies fit export fit_RETURNED_ID --output complete-review.json

run.json 持有返回 runId 和可选 limit (1–8) (中文(简体) ). 短暂 重试运行的再使用; 在中断或预算退出后重复命令 . 进取到Stderr, 最终JSON去Studout。 出口需要全面审查, 在一个版本对齐所有公司,并拒绝覆盖文件。 它能产生 没有部分文件 。 对于状态,恢复,取消,组别,历史副本, 日历和呼叫读取,使用生成的 describe 财务报告和审定财务报表 --input FILE 命令. 日历预订发送邀请并需要准确的用户授权加所有者 日历范围。 现有赠款必须首先通过浏览器升级.

版本与发布记录

@dmfaster/cli 共发布 32 个版本,首次发布于 2026/07/30;过去 12 个月发布了 32 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.7.6latest2026/10/2519 天前
2.7.52026/10/2519 天前
2.7.22026/10/2519 天前
2.7.12026/10/2519 天前
2.7.02026/10/2519 天前
2.6.22026/10/2519 天前

关于 @dmfaster/cli 的常见问题

@dmfaster/cli 是什么?

DM快速代理1.0的命令行接口.

如何安装 @dmfaster/cli?

在项目目录运行 npm install @dmfaster/cli,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 dmfaster,可以用 npx dmfaster 直接运行。

@dmfaster/cli 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/dmfaster__cli 是否存在。

@dmfaster/cli 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@dmfaster/cli 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js 24.x。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@dmfaster/cli 可以商用吗?

@dmfaster/cli 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@dmfaster/cli 的下载量有多少?

根据 npm 官方下载统计,@dmfaster/cli 在 2026/10/13 – 2026/11/11 这 30 天内被下载 3,091 次,日均约 103 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dmfaster/cli 还在维护吗?

最新版本 2.7.6 发布于 2026/10/25(19 天前);至今共发布 32 个版本,其中过去 12 个月发布了 32 个;首次发布于 2026/07/30。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。