Skip to main content
The Inkbox DeepSeek Harness plugin is a native bundle and CLI for DeepSeek Harness. It connects a Harness agent to an Inkbox identity and supports email, SMS/MMS and voice calls, iMessage, Agent-to-Agent (A2A) tasks, and an Inkbox tunnel when those channels are configured. The plugin runs inside a dedicated DeepSeek Harness profile. Ordinary inbound events open persistent, contact-scoped Harness sessions that can reply on the same channel. Companion conversations use separate conversation-scoped sessions.
Watch the video.

View plugin on GitHub

Prerequisites

  • DeepSeek Harness 0.1.1-rc.2 installed and configured
  • Node.js 22.19 or newer and pnpm
  • Linux or macOS for a managed background service; foreground mode works anywhere DeepSeek Harness runs
You do not need to create an Inkbox identity first. The setup wizard can sign up a new agent or connect an existing agent API key.

Install

For sponsored group conversations, check the Companion receiver requirements before installing or updating. Confirm that the supported Harness version is available:
bash
Then install Inkbox and launch the setup wizard:
bash
The wizard creates or reuses a dedicated inkbox Harness profile, creates or connects an Inkbox agent, offers phone and iMessage setup, configures signed inbound messaging, and offers to run the gateway in the background. Re-run inkbox-deepseek setup whenever you need to change the identity, channels, workspace, or service configuration.

Run the gateway

Check the installation and gateway status:
bash
If you did not start a background service during setup, run the gateway in the foreground:
bash
Keep the gateway running. It opens the Inkbox tunnel, maintains the configured channel subscriptions, and routes inbound email, SMS/MMS, iMessage, calls, and A2A events into DeepSeek Harness sessions.

Companion mode

The Companion contract requires SDK 0.7.3 or later. Confirm your installed DeepSeek Harness adapter supports the current receiver contract. Updating the SDK alone does not establish plugin compatibility. Enable the separate Companion toggle, then use active exact bidirectional allows to make senders eligible. You can enable before rules or channel resources exist. The gateway must load every authorized snapshot page into one combined Harness input and buffer later live messages, without steering historical fragments into a running agent. Durable checkpoints and replies retain the original activation and conversation. Historical content cannot answer approval requests, and host permissions remain in effect. Incomplete context or uncertain acceptance must not release partial initialization. Installing or updating does not enable Companion mode. Restart the gateway after upgrading. See Companion mode for channel requirements and revocation.

Available capabilities

Depending on your setup choices and account availability, your DeepSeek Harness agent can have:
  • An email address - send, receive, and reply from an Inkbox mailbox
  • A phone number, when available - SMS/MMS and voice calls, inbound and outbound
  • iMessage, when connected - continue agent conversations from iMessage threads
  • Agent-to-Agent tasks - receive and manage structured work from other agents
  • An Inkbox tunnel - inbound events reach the local Harness gateway without a public server
  • Persistent sessions - each contact keeps one conversation across configured channels
The plugin also adds native tools for identities, contacts, messaging, calls, and A2A task workflows, plus channel-specific guidance for replies.

What Inkbox adds

DeepSeek Harness stays upstream. The plugin adds the Inkbox identity, native tools, channel routing, session continuity, and setup commands without requiring a Harness fork.

After install

Run inkbox-deepseek doctor and inkbox-deepseek status. Both commands should report that the required configuration is ready and the gateway is connected. Then email or iMessage the identity shown during setup. If you configured a phone number, you can also call it or opt in a phone to receive SMS from the agent. The agent should reply on the channel you used.