DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

keman-ai /

keman-ai/dsh-pocket

Verified

Watch and steer your DSH agent from a phone browser: approve tool calls, send a message, stop a turn

★ 1 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHubProject homepage
READMESource: master@55ee2460

DSH Pocket

Put DeepSeek Harness in your pocket — watch and steer the agent on your computer from a phone browser.
Approve a tool call, answer a question, send a message, stop a turn — without walking back to your desk.

dsh-pocket.a2hmarket.ai — open it on your phone, sign in, and your computer is there

Stars Latest release MIT License

English · 简体中文

If this is useful to you, a Star goes a long way

Your computer's sessions, listed on the phone A live session on the phone: reasoning, tool calls, folded context, and a composer that takes a photo

Every session, in your pocket

The sessions running on your computer, grouped the way dsh groups them. Tap one to open it, or start a new one from here.

Watch and steer

Output streams live — reasoning and answer. Approve a tool call, send a message or a photo, stop a turn. The context dsh injects each turn folds away, so the conversation is what you read.

Get started

1 · Install into the web profile and start dsh:

dsh plugin --profile web add -w github:keman-ai/dsh-pocket
dsh --profile web

-w is required — the profile is a pnpm workspace root. From a source checkout, use pnpm dsh.

2 · Turn it on. Pocket ships off by default — attaching a shell-capable machine to a public relay is your call. Enable it in $DSH_HOME/profiles/web/cordis.patch.yml and restart dsh:

- id: pocket
  config:
    enabled: true

3 · Link an account. In dsh, open Settings → Pocket → Link an A2H account and approve in the tab that opens. The machine then shows as online.

Settings → Pocket before linking: the Link an A2H account button After linking: the machine is connected and one phone is watching

4 · Open it on your phone. Go to dsh-pocket.a2hmarket.ai, sign in with the same account, tap your computer, and pick a session. The signing key for approvals is delivered automatically — nothing to scan or copy.

What you can do from the phone

  • Watch the agent's output stream live — its reasoning as well as its answer, so you can tell thinking from stuck.
  • Approve or refuse a tool call the instant it asks. The turn is blocked waiting on you; a tap releases it.
  • Answer its questions when it stops to ask one.
  • Send a message, or snap a photo and hand it straight to the agent — something you cannot do from the desk.
  • Stop a turn that has gone the wrong way.
  • Switch the model, edit preferences (language, appearance, default model, agent loop), and pick a skin — all without walking back.

Injected context — the runtime snapshot and the skill catalog dsh adds to every turn — is folded away, so the actual conversation is what fills the screen.

The phone's Settings: skin, default model, language and agent-loop preferences

Skin, default model, language and agent-loop preferences — all editable from the phone

Security

  • Off by default. Nothing connects until you switch it on and link an account.
  • No inbound port. Both the plugin and the phone dial out to the relay, so reaching your machine needs no port forwarding, no tunnel, no NAT traversal — Pocket opens nothing new for anyone to connect to.
  • Frames pass through the relay, not into it. Session frames are forwarded in memory; their content is neither stored nor logged.

Linking a machine lets any phone signed into that account approve commands on it. Treat the account as you would an SSH key.

Requirements

Dependency Requirement What happens without it
DeepSeek Harness 0.1.2+ Earlier versions lack the per-domain controllers and settings section this plugin uses, so it cannot mount
profile The web profile The linking UI and Settings panel are client UI; headless / tui bundles have no web app, so the plugin never activates
Node.js >= 22.19 dsh's own floor; the relay link uses Node's global WebSocket, so the host half carries no runtime dependency
account An A2H Market account Linking is per-account, and the phone signs in with the same one
Network account.a2hmarket.ai, dsh-pocket.a2hmarket.ai, and the relay (api-prod.a2hmarket.ai) All connections are outbound; the machine never listens

Development

pnpm install
pnpm run check   # types
pnpm run test    # node --test
pnpm run build   # lib/index.js + lib/client.js

Install into a profile with pnpm's link: (not file:, which copies the package and hides later rebuilds):

cd ~/.dsh/profiles/<name> && pnpm add -w link:/path/to/dsh-pocket

lib/ is committed on purpose — git installs run no build step — so run pnpm run build and commit it with your change.

The harness types in types/dsh.d.ts are transcribed by hand — the @deepseek-ai/dsh-client-* chain is not fully published, and these modules are external at runtime anyway. Declare only what is used, and check there first when the host errors.

Related

dsh-pocket.a2hmarket.ai The phone frontend. Open it on your phone and sign in
dsh-skin-market Sibling plugin: search and install dsh skins without leaving the browser

License

MIT © 2026 Science Roam Limited


If this is useful to you, a Star goes a long way

—/ 5

No ratings yet

Verified DSH bundle

Commit 55ee24606236

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout