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:
-
Node.js
22.19or newer. -
DeepSeek Harness version
@deepseek-ai/dsh 0.1.0-rc.7, compatible with@deepseek-ai/dsh-tools 0.0.1-rc.1. -
curlandjqare 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:
-
The plugin runs under the permissions of the current dsh process; inspect the source code, license, and dependency versions before installation.
-
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.
-
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.