@dmfaster/sdk

中文文档
2.7.6发布于 2026/10/25Apache-2.0TypeScriptES Module零依赖构建来源已验证近 30 天下载 3580

为DM快速代理API打入了客户端.

中文使用文档
文档目录5 节
  1. 导入Instagram 用户名
  2. 现有Instagram列表 (1.1
  3. 直接运动控制(自1.8.0起)
  4. 恢复审查和完成出口(自1.8.0起)
  5. 心地欢快的感谢

@dmfaster/ sdk (英语)

为DM快取代理2.0打入了Node.js客户端. 它暴露了有界限的工作空间 检查 无国籍运动规划 准确的观众预览 私人起草和授权通过 范围,工作空间 dmf_pat_… 符号 .

分发便条:下面的登记命令只有在这个精确度之后才能工作 发布. 在此之前,维护者使用一个 授权源检出 .

npm install @dmfaster/[email protected]

非落下端点必须使用HTTPS. 客户端也拒绝 HTTP 重定向, 所以 无法将无记名标志传送到不同的来源.

import { createDmfasterClient } from "@dmfaster/sdk";

const client = createDmfasterClient({
  baseUrl: process.env.DMFASTER_API_URL!,
  token: process.env.DMFASTER_TOKEN!,
});

const result = await client.invoke("campaigns.list", {
  status: "Running",
  limit: 10,
});

运动规划的呼唤需要最新的运动状态。 这保持了 公共 API 无国籍,同时允许任何客户恢复、验证或交出 计划给另一个特工 发射和暂停是两步操作: 飞行前,让所有者批准 确切的竞选版本 在DM更快,然后 以发回的许可身份和同等能力援引该诉讼 键。 重复准确的飞行前读取现有的授权状态. A 类 客户端提供 approved 布尔从未被接受为授权 .

发射前飞行是一种歧视的结果. status: "setup_required" 用品 人类拥有的浏览器设置 URL 以及飞行前要恢复的确切输入 竞选活动仍然被禁用. status: "approval_required" 供应 版本约束授权和批准 URL. 浏览器设置从未替换 用于批准发射.

呼叫者必须提供绝对的 API 基础 URL 和 范围无记名标志 . SDK 将工具输入直接发送给 POST /api/v1/agent/tools/{toolName},应用限定的超时,并验证 返回前共享结果封.

导入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 含有其中任何一种的物体 name, (中文(简体) ), messageVariants, (中文(简体) ), dailyCap (1-60),或 pacingSeconds (12-3,600) (中文(简体) ). 外出设置和观众保存. Stale版本和开始的竞选活动被拒绝. 在不确定之后 回答,在重试前检查运动。 无需批准发射 编辑已禁用的草稿.

混合Instagram/Facebook/LinkedIn草稿,呼叫 campaign.copy.inspect 读取确切邀请模式、注释、保存序列、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,与当前窗口并列,复制,节奏,并启用状态. 更改间隔时发送两个端点 。 保存的窗口可切换 草案停止使用时进行或关闭;只有单独的发射操作 手持时间表。 已经开始的运动不能用这个工具草案来编辑.

直接运动控制(自1.8.0起)

老板可以给钱 campaigns:control 当连接到代理人时 full 简介。 明确用户指示即可发射或暂停: 飞行前返回 ready 并有版本限制的授权ID 立即 执行。 仍然需要正常的行动范围。 现有全权证书 保留每个行动的批准,直到所有者重新连接并给予这一许可. 计划或筹备一场运动从来不授权发动.

恢复审查和完成出口(自1.8.0起)

import { runCompanyFitReview, collectCompanyFitResults } from "@dmfaster/sdk";
const receipt = await runCompanyFitReview(client, runId, {
  maxDurationMs: 30 * 60_000,
  onProgress: (progress) => console.error(progress.complete, progress.total),
});
if (receipt.stopReason === "complete") {
  const reviewed = await collectCompanyFitResults(client, runId);
}

瞬间重试保留可持久运行的ID. 预算到期返回进度; 取消调用 request_aborted,并重复相同的运行恢复. 导出调和一个完整、不变的版本和每一个独特的公司 返回数据。 新的打字工具还包括状态/历史/注销, 排名组、复制性能、日历观察/记录和允许 呼叫读取。 外部预订需要准确的用户指示并授予范围; SDK的可用性不能确定生产释放.

心地欢快的感谢

agent.heartbeat 默认情况下使用压缩成功响应。 HTTP和MCP携带被接受的心跳时间戳,相容性标记和下个间隔;身份,状态和干跑状态已经在请求中. SDK在其常规结果信封中恢复这些与请求相关的字段(诊断持续时间不详并被表示为零). 使用 responseMode: "full" 原诊断信封。 错误保留全部可操作的细节。 Sandbox的确认使用工作空间的可提前的时钟.

版本与发布记录

@dmfaster/sdk 共发布 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/sdk 的常见问题

@dmfaster/sdk 是什么?

为DM快速代理API打入了客户端.

如何安装 @dmfaster/sdk?

在项目目录运行 npm install @dmfaster/sdk,或使用 pnpm add / yarn add / bun add。

@dmfaster/sdk 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dmfaster/sdk 支持 ESM 还是 CommonJS?

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

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

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

@dmfaster/sdk 可以商用吗?

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

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

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

@dmfaster/sdk 还在维护吗?

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