🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

手机接管 keman-ai/dsh-pocket

DeepSeek 客户端v2.10.6
keman-ai63 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

在手机浏览器上批准工具调用并接管会话

28.9/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/keman-ai/dsh-pocket.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
生态插件
可安装,未声明 dsh 能力
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 63 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

npm 同名包「dsh-pocket」归属 shaobeichen/dsh-pocket,装到的可能不是本插件

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-pocket @ 2.10.6
✓Node 引擎要求 ^22.19 || >=24 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/24 00:04:16

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 18 处,展示前 18 条)
  • 读取本地文件
    lib/index.js:38
    if (!existsSync(path)) return void 0;
  • 读取本地文件
    lib/index.js:40
    const parsed = JSON.parse(readFileSync(path, "utf8"));
  • 写入本地文件
    lib/index.js:65
    mkdirSync(dirname(path), { recursive: true });
  • 写入本地文件
    lib/index.js:75
    renameSync(temp, path);
  • 写入本地文件
    lib/index.js:77
    chmodSync(path, 384);
  • 读取本地文件
    lib/index.js:91
    if (!existsSync(path)) return;
  • 删除本地文件
    lib/index.js:92
    unlinkSync(path);
  • 发起网络请求
    lib/index.js:206
    response = await fetch(url, { signal });
  • 发起网络请求
    lib/index.js:226
    const response = await fetch(`${relayOrigin}/api/v1/pocket/devices`, {
  • 读取本地文件
    lib/index.js:1301
    if (existsSync(path)) try {
  • 读取本地文件
    lib/index.js:1302
    const stored = Buffer.from(readFileSync(path, "utf8").trim(), "base64url");
  • 读取本地文件
    lib/index.js:1325
    if (existsSync(path)) unlinkSync(path);
  • 删除本地文件
    lib/index.js:1325
    if (existsSync(path)) unlinkSync(path);
  • 写入本地文件
    lib/index.js:1350
    mkdirSync(dirname(path), { recursive: true });
  • 写入本地文件
    lib/index.js:1359
    renameSync(temp, path);
  • 写入本地文件
    lib/index.js:1361
    chmodSync(path, 384);
  • 发起网络请求
    lib/index.js:1621
    const response = await fetch(`${this.options.relayOrigin}/api/v1/public/pocket/device-ticket`, {
  • 发起网络请求
    lib/client.js:37
    const response = await fetch(path, {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 手机浏览器批准工具调用
  • 发送消息
  • 中断回合

用手机浏览器盯住并操控 DSH 智能体:批准工具调用、发消息、中断回合

README

由 DeepSeek 最新模型翻译生成
DSH Pocket 把 DeepSeek Harness 装进口袋——在手机浏览器上看住、接手电脑上的 agent。 批准一次工具调用、回答一个提问、补一句话、叫停跑偏的任务——不用走回电脑前。 dsh-pocket.a2hmarket.ai — 在手机上打开、登录,你的电脑就在里面 English · 简体中文 如果它对你有用,点个 Star 是最大的鼓励 每个会话,都在口袋里电脑上正在跑的会话,按 dsh 的分组列出来。点一个打开,也能从这里开新会话。 看住它、接手它输出实时流出来——思考和回答都在。批准一次工具调用、补一句话或一张照片、叫停一轮。dsh 每轮注入的上下文会折叠起来,留下的是真正的对话。 上手 1 · 装进 web profile,启动 dsh: dsh plugin --profile web add -w github:keman-ai/dsh-pocket dsh --profile web -w 是必需的——profile 是个 pnpm 工作区根目录。从源码跑 harness 就用 pnpm dsh。 2 · 打开它。 Pocket 默认关闭——把一台能跑 shell 的机器接到公网中继,这决定由你来做。
展开完整文档(README 剩余 1 节)
DSH Pocket

把 DeepSeek Harness 装进口袋——在手机浏览器上看住、接手电脑上的 agent。
批准一次工具调用、回答一个提问、补一句话、叫停跑偏的任务——不用走回电脑前。

dsh-pocket.a2hmarket.ai
— 在手机上打开、登录,你的电脑就在里面

English · 简体中文

如果它对你有用,点个 Star 是最大的鼓励

每个会话,都在口袋里电脑上正在跑的会话,按 dsh 的分组列出来。点一个打开,也能从这里开新会话。

看住它、接手它输出实时流出来——思考和回答都在。批准一次工具调用、补一句话或一张照片、叫停一轮。dsh 每轮注入的上下文会折叠起来,留下的是真正的对话。

上手

1 · 装进 web profile,启动 dsh:

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

-w 是必需的——profile 是个 pnpm 工作区根目录。从源码跑 harness 就用 pnpm dsh。

2 · 打开它。 Pocket 默认关闭——把一台能跑 shell 的机器接到公网中继,这决定由你来做。在 $DSH_HOME/profiles/web/cordis.patch.yml 里启用,重启 dsh:

- id: pocket
config:
enabled: true

3 · 连账号。 在 dsh 里打开 设置 → 手机接管 → 连接 A2H 账号,在弹出的标签页里确认。之后这台机器显示为在线。

4 · 在手机上打开。 访问 dsh-pocket.a2hmarket.ai,用同一个账号登录,点你的电脑、选一个会话就进去了。批准用的签名密钥会自动下发,不用扫码或手动复制。

在手机上能做什么

- 实时看会话输出——不只是回答,连它的思考过程也能看到,好分辨是在想还是卡住了。
- 批准或拒绝一次工具调用,就在它开口问的那一刻。这一轮正卡着等你,点一下就放行。
- 回答它的提问——它停下来问的时候。
- 发消息,或者拍张照片直接丢给 agent——这是电脑那头做不到的事。
- 叫停一轮跑偏的任务。
- 切换模型、改偏好(语言、外观、默认模型、Agent 循环)、换皮肤——全都不用走回电脑前。

dsh 每一轮注入的上下文——运行环境快照、技能清单——会被折叠起来,屏幕上留下的是真正的对话。

皮肤、默认模型、语言、Agent 循环等偏好——都能在手机上改

安全

- 默认关闭:不打开、不连账号,就什么都不会连。
- 不开入站端口:插件和手机都是朝外拨到中继,够到你的机器不需要端口转发、内网穿透或隧道;Pocket 不新开任何可供连入的端口。
- 帧只过中继、不进中继:会话帧在内存里转发,内容不落盘、不落日志。

连上一台机器,就意味着任何登录了那个账号的手机都能批准这台机器上的命令。请把这个账号当成 SSH 私钥来对待。

环境要求

| 依赖 | 要求 | 没有会怎样 |
| DeepSeek Harness | 0.1.2+ | 更早的版本没有按域拆分的控制器和 settings section,插件挂载不上 |
| profile | web profile | 连接界面和设置面板都是 client UI;headless / tui 没有 web app,插件不会激活 |
| Node.js | >= 22.19 | dsh 自己的下限;中继连接用 Node 内置的全局 WebSocket,host 半边因此不带运行时依赖 |
| 账号 | 一个 A2H Market 账号 | 连接是按账号来的,手机用同一个账号登录 |
| 网络 | account.a2hmarket.ai、dsh-pocket.a2hmarket.ai,以及中继(api-prod.a2hmarket.ai) | 所有连接都是朝外的,机器从不监听 |

开发

pnpm install
pnpm run check # 类型检查
pnpm run test # node --test
pnpm run build # lib/index.js + lib/client.js

用 pnpm 的 link: 装进 profile(别用 file:,它会拷贝包、把之后的 rebuild 藏掉):

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

lib/ 是有意提交的——git 安装不跑构建——所以改完跑一次 pnpm run build,把它一起提交。

types/dsh.d.ts 里的 harness 类型是手抄的——@deepseek-ai/dsh-client-* 这条链没有完整发布,而且这些模块在运行时本来就是外部注入的。只声明真正用到的部分;host 那边报错时先来这里看。

相关

| dsh-pocket.a2hmarket.ai | 手机前端。在手机上打开、登录即可 |
| dsh-skin-market | 姊妹插件:在浏览器里搜索并安装 dsh 皮肤,不用回终端 |

许可

MIT © 2026 Science Roam Limited

如果它对你有用,点个 Star 是最大的鼓励
预览分享卡片长什么样 ↓keman-ai/dsh-pocket
分享 · DeepSeek Harness Hub
keman-ai/dsh-pocket

在手机浏览器上批准工具调用并接管会话

这是你的仓库?认领条目

回到顶部