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

掌机远程助手 kongdayan/decky-agent-remote

DeepSeek Harness
kongdayan10 天前有提交已提供中文文档扫描:含敏感能力

在 Steam Deck 上收发电脑端对话,按住背键说话

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add kongdayan/decky-agent-remote
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/05·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 10 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

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

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

读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 28 处,展示前 24 条)
  • 读取本地文件
    bridge/clients.mjs:139
    if(this.options.tokenFile)tokens.push((await readFile(this.options.tokenFile,'utf8')).trim());
  • 读取密钥环境变量
    bridge/clients.mjs:140
    else if(process.env.DSH_LAUNCH_TOKEN)tokens.push(process.env.DSH_LAUNCH_TOKEN);
  • 读取本地文件
    bridge/clients.mjs:143
    const files = (await readdir(dir)).filter(f=>/^web.*\.log$/.test(f)).sort();
  • 读取本地文件
    bridge/clients.mjs:145
    const log=await readFile(`${dir}/${file}`,'utf8');
  • 发起网络请求
    bridge/clients.mjs:150
    const r=await fetch(`${this.base}/?token=${encodeURIComponent(token)}`,{redirect:'manual',signal:AbortSignal.timeout(5000)});
  • 发起网络请求
    bridge/clients.mjs:158
    const r=await fetch(`${this.base}/api/${namespace}/${method}`,{method:'POST',headers:{'Content-Type':'application/json','Origin':this.base,'Cookie':th
  • 读取本地文件
    bridge/clients.mjs:174
    try { archived=new Set(JSON.parse(await readFile(`${this.home}/storages/workspace.json`,'utf8')).global?.archivedSessionIds??[]); }
  • 写入本地文件
    bridge/configure.mjs:13
    await mkdir(dirname(file),{recursive:true,mode:0o700});
  • 读取本地文件
    bridge/configure.test.mjs:15
    const original=await readFile(file,'utf8'),config=JSON.parse(original);
  • 读取本地文件
    bridge/configure.test.mjs:17
    assert.equal((await stat(file)).mode&0o777,0o600);
  • 读取本地文件
    bridge/configure.test.mjs:20
    assert.equal(await readFile(file,'utf8'),original);
  • 删除本地文件递归
    bridge/configure.test.mjs:21
    }finally{await rm(dir,{recursive:true,force:true});}
  • 读取本地文件
    bridge/server.mjs:13
    const english=JSON.parse(await readFile(new URL('../locales/en.json',import.meta.url),'utf8'));
  • 写入本地文件
    bridge/server.mjs:39
    await writeFile(input,audio,{mode:0o600});
  • 读取本地文件
    bridge/server.mjs:45
    const text=normalizeTranscript(await readFile(out+'.txt','utf8'),language);
  • 删除本地文件递归
    bridge/server.mjs:48
    } finally { await rm(dir,{recursive:true,force:true}); }
  • 读取本地文件
    bridge/server.mjs:112
    const config=JSON.parse(await readFile(process.env.DECKY_AGENT_CONFIG??`${homedir()}/.config/decky-agent-remote/bridge.json`,'utf8'));
  • 发起网络请求
    bridge/server.test.mjs:15
    assert.equal((await fetch(base+'/v1/health')).status,401);
  • 请求外部主机evil
    bridge/server.test.mjs:17
    assert.equal((await fetch(base+'/v1/health',{headers:{...headers,Origin:'http://evil'}})).status,403);
  • 发起网络请求
    bridge/server.test.mjs:17
    assert.equal((await fetch(base+'/v1/health',{headers:{...headers,Origin:'http://evil'}})).status,403);
  • 发起网络请求
    bridge/server.test.mjs:19
    const results=await Promise.all([1,2].map(()=>fetch(base+'/v1/messages',{method:'POST',headers,body})));
  • 发起网络请求
    bridge/server.test.mjs:21
    assert.equal((await fetch(base+'/v1/messages',{method:'POST',headers,body:JSON.stringify({...JSON.parse(body),text:'different'})})).status,409);
  • 发起网络请求
    bridge/server.test.mjs:22
    assert.equal((await fetch(base+'/v1/messages',{method:'POST',headers,body:JSON.stringify({agent:'shell',session:'fixture',text:'bad'})})).status,400);
  • 发起网络请求
    bridge/server.test.mjs:34
    assert.equal((await fetch(url,options)).status,400);
扫描于 2026/11/5(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
涉及外部主机:evil

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
Agent Remote 在 Steam Deck 游戏模式里,直接查看电脑上的 DeepSeek Harness(DSH) 的回复,按住背键说话,松开发送。代码执行和语音识别都在自己的电脑上。 点开就看到最新消息;说话、发送、读回复在同一页。 记住机器和会话,多台电脑可以切换。支持 R4/L4/R5/L5、面板 X 键和触屏按钮,支持发送前编辑识别文字、查看历史、后台回复通知。 中文版 Steam Deck 实机界面 英文实机界面 · 中英文语言设置 新版截图来自真实 Deck 的 Steam/Decky 渲染器,通过远程调试投射捕获;可见调试框架,聊天为专门创建的公开演示内容。 安装 先按完整安装文档在执行机器配置 bridge、DSH Web 和本地 whisper.cpp 语音模型,再从 Releases 下载 ZIP,用 Decky 的开发者 ZIP 安装入口安装。 插件内添加机器的 URL 和 bridge 随机生成的连接令牌,连接成功后选 DSH 会话即可。默认按住 R4 说话,松开识别并发送;短按打开消息。机器和会话只需选一次。不要把令牌发到聊天、Issue 或截图中。 局域网、HTTPS、SSH 隧道、其他 VPN 都能用,Tailscale 只是可选方案。默认 bridge 仅监听回环地址,远程使用需明确配置可达地址。
展开完整文档(README 剩余 1 节)
Agent Remote

在 Steam Deck 游戏模式里,直接查看电脑上的 DeepSeek Harness(DSH) 的回复,按住背键说话,松开发送。代码执行和语音识别都在自己的电脑上。

点开就看到最新消息;说话、发送、读回复在同一页。 记住机器和会话,多台电脑可以切换。支持 R4/L4/R5/L5、面板 X 键和触屏按钮,支持发送前编辑识别文字、查看历史、后台回复通知。

中文版 Steam Deck 实机界面

英文实机界面 · 中英文语言设置

新版截图来自真实 Deck 的 Steam/Decky 渲染器,通过远程调试投射捕获;可见调试框架,聊天为专门创建的公开演示内容。

安装

先按完整安装文档在执行机器配置 bridge、DSH Web 和本地 whisper.cpp 语音模型,再从 Releases 下载 ZIP,用 Decky 的开发者 ZIP 安装入口安装。

插件内添加机器的 URL 和 bridge 随机生成的连接令牌,连接成功后选 DSH 会话即可。默认按住 R4 说话,松开识别并发送;短按打开消息。机器和会话只需选一次。不要把令牌发到聊天、Issue 或截图中。

局域网、HTTPS、SSH 隧道、其他 VPN 都能用,Tailscale 只是可选方案。默认 bridge 仅监听回环地址,远程使用需明确配置可达地址。HTTP 局域网不加密,建议使用私有或加密网络。

这是 0.5.0 公开预览版本,并未宣称已经上架 Decky 商店。DSH 为必需支持;Codex 为可选适配,部分由其他 app-server 持有的桌面会话只能读。审批仍在执行机器处理。界面支持简体中文和英文;语音支持普通话、英语和自动识别。升级保留中文/普通话默认设置。点击聊天页顶部进入设置,即可分别选择「界面语言」和「语音语言」,立即生效。聊天原文不会被翻译。中英文语音需要多语言 Whisper 模型,不能使用仅支持英语的 .en 模型。

验证范围 · 交互审计 · 隐私和安全 · 贡献指南。宣传图中对话使用虚构演示内容,设备带壳效果图为合成示意。
预览分享卡片长什么样 ↓kongdayan/decky-agent-remote
分享 · DeepSeek Harness Hub
kongdayan/decky-agent-remote

在 Steam Deck 上收发电脑端对话,按住背键说话

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部