dsh-pollyreach:DeepSeek Harness 的 PollyReach 电话工具插件

前言

在做 DeepSeek Harness(DSH)智能体时,如果接入 PollyReach 的电话能力,通常要处理凭据持久化、账户激活、外呼任务提交、结果轮询、余额查询和来电数据读取等步骤。dsh-pollyreach 把这部分流程封装为 DSH 插件:它向当前 Harness 注册 PollyReach 相关工具和一个 skill,也提供一组 shell 脚本用于人工调试。

下面介绍它的定位、能力、安装方式、配置和安全注意事项。

这是什么

dsh-pollyreach 是一个可分发的 DeepSeek Harness 插件包,包名为 dsh-pollyreach,版本为 1.0.3,许可证为 MIT

它的主要作用是:

  • 注册并安全持久化 PollyReach 凭据;
  • 完成账户激活并获取分配的电话号码;
  • 提交外呼任务并轮询完整结果;
  • 查询信用余额,不把零余额当作无效令牌;
  • 获取未读来电数据,不展平 API 响应;
  • 更新来电应答提示词。

插件会注册七个原生模型可调用工具,并注册 PollyReach skill。仓库地址为 https://github.com/PollyReach/pollyreach-dsh-plugin;已核实资料未提供独立维护者字段。

核心工具

下面列出插件注册的工具及其用途:

工具 用途
pollyreach_register 注册并原子保存新凭据
pollyreach_activation_status 检查/轮询激活并保存分配的号码
pollyreach_send_call 提交一个外呼任务
pollyreach_query_call 轮询实际外呼结果
pollyreach_balance 返回完整余额响应
pollyreach_inbound_calls 返回未读来电数据
pollyreach_update_inbound_prompt 修改来电应答行为

这些工具面向模型调用;脚本部分则适合在模型工具管线之外做诊断。

环境要求

使用 dsh-pollyreach 前,先确认运行环境满足以下条件:

1、Node.js 22.19 或更新版本。

2、DeepSeek Harness 版本为 @deepseek-ai/dsh 0.1.0-rc.7,并且与 @deepseek-ai/dsh-tools 0.0.1-rc.1 兼容。

3、如果需要使用可选 shell 脚本,还需要 curljq

安装与启用

先说明一点:dsh-pollyreach 会贡献 cordis.patch.yml,使用方不需要手动编辑生成的 profile manifest。

安装本地 checkout 时,可以把仓库绝对路径加入一个已有 profile:

dsh plugin --profile demo add /absolute/path/to/pollyreach-dsh-plugin
dsh --profile demo --dump-config
dsh --profile demo

安装打包后的发布版本时,先打出 tarball,再安装到 profile:

npm pack
dsh plugin --profile demo add ./dsh-pollyreach-1.0.3.tgz

如果包已经发布到 npm,资料给出的用户安装示例是:

dsh plugin --profile demo add dsh-pollyreach@1.0.3

如需移除:

dsh plugin --profile demo remove dsh-pollyreach

配置覆盖

默认配置来自插件自带的 cordis.patch.yml。如果需要在 profile 中覆盖默认值,要编辑 profile 的 cordis.patch.yml。这里有一个细节:patch 行会替换整个 config 对象,所以如果只想改一项,也要把想保留的其他值一起写全。

例如,配置可写成:

- id: pollyreach-tools
  name: dsh-pollyreach
  config:
    apiBaseUrl: https://api.pollyreach.ai
    credentialsPath: ~/.config/PollyReach/key.json
    source: openclaw
    requestTimeoutMs: 30000
    pollIntervalMs: 2000
    activationMaxAttempts: 60
    queryMaxAttempts: 300
    inboundMaxAttempts: 10

其中 source 默认值为 openclaw,原因是当前 PollyReach 设备注册 API 的约定;客户端运行环境仍是 DeepSeek Harness。

凭据安全

注册工具会把凭据保存为如下结构:

{
  "token": "redacted",
  "agent_name": "my-agent",
  "activation_url": "https://agent.pollyreach.ai/auth?code=example",
  "ai_virtual_phone": null
}

保存路径为 ~/.config/PollyReach/key.json。目录会创建为受限权限,文件以 0600 原子写入。注册工具的结果中会故意省略 token,避免把令牌暴露到对话或日志里。

不要提交真实凭据文件。资料中的 examples/key.example.json 只包含占位符。

手动调试脚本

插件包含用于手动使用的 shell CLI。它们适合在模型工具管线之外做诊断,并会自动读取同一份凭据文件;token 不会作为命令行参数传入。

常用脚本如下:

scripts/register.sh "Agent Name" "AI agent powered by DeepSeek Harness"
scripts/activation.sh
scripts/send.sh 'Call +1... and ask ...'
scripts/query.sh
scripts/balance.sh
scripts/inbound.sh
scripts/prompt_update.sh 'Answer professionally and take a detailed message.'

测试时可以通过 POLLYREACH_API_BASE_URLPOLLYREACH_CREDENTIALS_FILE 覆盖端点与路径。

验证与打包

在提交或发布前,可以运行检查和打包校验:

npm install
npm run check
npm run pack:check

测试使用 mock,不需要真实 PollyReach 账号。发布前还可以用一个临时 dsh profile 验证打包产物:

npm pack
dsh plugin --profile pollyreach-smoke add ./dsh-pollyreach-1.0.3.tgz
dsh --profile pollyreach-smoke --dump-config

适用场景与注意

dsh-pollyreach 适合需要在 DeepSeek Harness 中调用 PollyReach 电话工具、同时保留人工脚本调试入口的场景。

使用前注意:

1、插件会在当前 dsh 进程权限下运行,安装前应检查源码、许可证和依赖版本。

2、本插件面向当前 DeepSeek Harness 开发者预览版本;预览 API 可能变化。发布新版前,应更新并重新测试固定的 peer 版本。

3、凭据文件属于敏感数据,不要写入仓库、日志或对话记录。

链接

GitHub:https://github.com/PollyReach/pollyreach-dsh-plugin

已核实资料未提供目录页 URL,因此这里不附目录链接。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜