编者按

PollyReach/pollyreach-dsh-plugin

pollyreach-dsh-plugin is a phone communication plugin built for DeepSeek Harness (dsh). Powered by the Cordis plugin system, it gives DeepSeek AI agents a dedicated phone number and the ability to make outbound calls, receive incoming calls, retrieve call results, check balances, and customize AI answering behavior.

这是一个 DeepSeek Harness(DSH)插件。本站汇总其 GitHub README、安装信息、维护状态与公开安全信号。

上游未提供中文 README,当前展示仓库原始内容。

dsh-pollyreach

A distributable DeepSeek Harness bundle for PollyReach. It registers seven native model-callable tools plus the PollyReach skill, and includes secure shell CLIs for manual use.

Included capabilities

  • Register and securely persist a PollyReach credential.
  • Complete account activation and retrieve the assigned phone number.
  • Submit outbound phone tasks and poll for full results.
  • Check credit balance without treating a zero balance as an invalid token.
  • Retrieve unread incoming-call data without flattening the API response.
  • Update the inbound answering prompt.

Requirements

  • Node.js 22.19 or newer.
  • DeepSeek Harness @deepseek-ai/dsh developer preview compatible with dsh-tools 0.0.1-rc.1.
  • curl and jq only if you use the optional shell scripts.

Install

Install a local checkout into an existing profile:

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

Install a packed release:

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

After publishing to npm, users can install it with:

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

Remove it with:

dsh plugin --profile demo remove dsh-pollyreach

The bundle contributes cordis.patch.yml; users do not need to edit the generated profile manifest manually.

Native tools

ToolPurpose
pollyreach_registerRegister and atomically save a new credential
pollyreach_activation_statusCheck/poll activation and save the assigned number
pollyreach_send_callSubmit one outbound task
pollyreach_query_callPoll for the actual outbound result
pollyreach_balanceReturn the complete balance response
pollyreach_inbound_callsReturn unread incoming-call data
pollyreach_update_inbound_promptChange incoming-call behavior

The plugin also registers SKILL.md through ctx.skills, so the Harness skill catalog can load behavioral guidance on demand.

Configuration

Override defaults in the profile's cordis.patch.yml. Patch rows replace the whole config object, so include every value you want to preserve:

- 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 defaults to openclaw because that is the current PollyReach device-registration API contract, even though the client runtime is DeepSeek Harness.

Credential security

The registration tool stores this shape at ~/.config/PollyReach/key.json:

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

The directory is created with restrictive permissions and the file is atomically written with mode 0600. The token is intentionally omitted from the registration tool result. Never commit the real file; examples/key.example.json contains placeholders only.

Optional shell CLI

The scripts are useful for diagnostics outside the model tool pipeline:

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.'

They read the same credential file automatically; tokens are never command-line arguments. Tests can override endpoints and paths with POLLYREACH_API_BASE_URL and POLLYREACH_CREDENTIALS_FILE.

Validate and package

npm install
npm run check
npm run pack:check

No real PollyReach account is required for tests; network calls are mocked. Before publishing, test the packed tarball against a disposable dsh profile:

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

Compatibility note

This package targets the current DeepSeek Harness developer preview (@deepseek-ai/dsh 0.1.0-rc.7 and @deepseek-ai/dsh-tools 0.0.1-rc.1). Preview APIs may change; update and retest the pinned peer version before publishing a new release.

License

MIT

REPOSITORY SIGNALS

安全与安装证据

该分数只基于公开仓库元数据与本站登记的安装证据,不等同于代码安全审计。

来源可追溯

来自公开插件目录,并链接到公开 GitHub 仓库。

许可证

仓库声明 MIT 许可证。

维护活跃度

最近 180 天内有代码更新。

安装证据

尚未登记可复验的精确安装元数据,请按仓库说明手动检查。

安装生命周期脚本

已检查的包元数据未声明安装生命周期脚本。