dsh-pollyreach: PollyReach Phone Tool Plugin for DeepSeek Harness

Preface

When building the DeepSeek Harness (DSH) agent, integrating PollyReach’s telephony capabilities typically requires handling steps such as credential persistence, account activation, outbound call task submission, result polling, balance queries, and inbound call data retrieval. dsh-pollyreach encapsulates this workflow as a DSH plugin: it registers PollyReach-related tools and a skill with the current Harness, and also provides a set of shell scripts for manual debugging.

Below is an introduction to its positioning, capabilities, installation, configuration, and security considerations.

What This Is

dsh-pollyreach is a distributable DeepSeek Harness plugin package with the package name dsh-pollyreach, version 1.0.3, and the MIT license.

Its primary functions are:

  • Registering and securely persisting PollyReach credentials;
  • Completing account activation and retrieving the assigned phone number;
  • Submitting outbound call tasks and polling for complete results;
  • Querying credit balance without treating zero balance as an invalid token;
  • Retrieving unread inbound call data without flattening the API response;
  • Updating inbound call answering prompts.

The plugin registers seven native model-callable tools and registers a PollyReach skill. The repository URL is https://github.com/PollyReach/pollyreach-dsh-plugin; the verified documentation does not include an independent maintainer field.

Core Tools

Below are the tools registered by the plugin and their purposes:

Tool Purpose
pollyreach_register Register and atomically save new credentials
pollyreach_activation_status Check/poll activation and save the assigned number
pollyreach_send_call Submit an outbound call task
pollyreach_query_call Poll actual outbound call results
pollyreach_balance Return the complete balance response
pollyreach_inbound_calls Return unread inbound call data
pollyreach_update_inbound_prompt Modify inbound call answering behavior

These tools are designed for model invocation; the scripts are more suitable for diagnostics outside the model tool pipeline.

Environment Requirements

Before using dsh-pollyreach, ensure the runtime environment meets the following requirements:

  1. Node.js 22.19 or newer.

  2. DeepSeek Harness version @deepseek-ai/dsh 0.1.0-rc.7, compatible with @deepseek-ai/dsh-tools 0.0.1-rc.1.

  3. curl and jq are required if using the optional shell scripts.

Installation and Activation

First, note: dsh-pollyreach contributes cordis.patch.yml; users do not need to manually edit the generated profile manifest.

To install a local checkout, you can add the absolute path of the repository to an existing profile:

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

To install a packaged release version, first create the tarball, then install it into the profile:

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

If the package is already published to npm, the user installation example from the documentation is:

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

To remove:

dsh plugin --profile demo remove dsh-pollyreach

Configuration Overrides

Default configuration comes from the plugin’s bundled cordis.patch.yml. To override defaults in a profile, you need to edit the profile’s cordis.patch.yml. Note a detail: patch lines replace the entire config object, so if you only want to change one item, you must include all other values you wish to retain.

For example, the configuration could be written as:

- 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

The default value for source is openclaw because of the current PollyReach device registration API conventions; the client runtime environment remains DeepSeek Harness.

Credential Security

The registration tool saves credentials in the following structure:

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

The save path is ~/.config/PollyReach/key.json. The directory is created with restricted permissions, and the file is written atomically with 0600 permissions. The registration tool deliberately omits the token from its results to avoid exposing the token in conversation or logs.

Do not commit real credential files. The examples/key.example.json in the documentation contains only placeholders.

Manual Debugging Scripts

The plugin includes shell CLI scripts for manual use. They are suitable for diagnostics outside the model tool pipeline and automatically read the same credential file; tokens are not passed as command-line arguments.

Common scripts:

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

During testing, you can override the endpoint and path using POLLYREACH_API_BASE_URL and POLLYREACH_CREDENTIALS_FILE.

Verification and Packaging

Before committing or publishing, you can run checks and packaging validation:

npm install
npm run check
npm run pack:check

Tests use mocks and do not require a real PollyReach account. Before publishing, you can also verify the packaged artifact with a temporary dsh profile:

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

Use Cases and Considerations

dsh-pollyreach is suitable for scenarios where you need to invoke PollyReach telephony tools within DeepSeek Harness while retaining manual script debugging entry points.

Before use, note:

  1. The plugin runs under the permissions of the current dsh process; inspect the source code, license, and dependency versions before installation.

  2. This plugin is designed for the current DeepSeek Harness developer preview version; preview APIs may change. Before releasing a new version, update and re-test the pinned peer versions.

  3. Credential files are sensitive data; do not commit them to repositories, logs, or conversation records.

Links

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

The verified documentation does not provide an index page URL, so no directory link is included here.

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

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

Xiaoye