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

像素小屋 bearyluo/dsh-dafeiyu-room

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

让大肥鱼在像素小屋里自主生活,随时观察她的日常

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · tool
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 3 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 30 处,展示前 30 条)
  • 发起网络请求
    lib/client.js:86
    useEffect(()=>{const controller=new AbortController();fetch(base+'settings',{signal:controller.signal}).then(r=>{if(!r.ok)throw Error('无法读取小屋设置');retu
  • 发起网络请求
    lib/client.js:89
    try{const response=await fetch(base+'locations?q='+encodeURIComponent(query),{signal:AbortSignal.timeout(15000)}),result=await response.json();if(!res
  • 发起网络请求
    lib/client.js:94
    const response=await fetch(base+'settings',{method:'POST',headers:{'Content-Type':'application/json','X-Room-Settings-Token':settings.csrfToken},body:
  • 读取本地文件
    bin/room-viewer.mjs:19
    if(existsSync(configPath)&&!args.includes('--rotate-key'))token=JSON.parse(readFileSync(configPath,'utf8')).token;
  • 读取本地文件
    bin/room-viewer.mjs:19
    if(existsSync(configPath)&&!args.includes('--rotate-key'))token=JSON.parse(readFileSync(configPath,'utf8')).token;
  • 写入本地文件
    bin/room-viewer.mjs:20
    if(!/^[ -]{43}$/.test(token||'')){token=randomBytes(32).toString('base64url');mkdirSync(dirname(configPath),{recursive:true});writeFileSync(configPat
  • 写入本地文件
    bin/room-viewer.mjs:20
    if(!/^[ -]{43}$/.test(token||'')){token=randomBytes(32).toString('base64url');mkdirSync(dirname(configPath),{recursive:true});writeFileSync(configPat
  • 读取本地文件
    bin/room-public-viewer.mjs:15
    let config=existsSync(configPath)?JSON.parse(readFileSync(configPath,'utf8')):{};
  • 读取本地文件
    bin/room-public-viewer.mjs:15
    let config=existsSync(configPath)?JSON.parse(readFileSync(configPath,'utf8')):{};
  • 写入本地文件
    bin/room-public-viewer.mjs:16
    if(!/^[ -]{43}$/.test(config.token||'')){config.token=randomBytes(32).toString('base64url');mkdirSync(dirname(configPath),{recursive:true});writeFile
  • 写入本地文件
    bin/room-public-viewer.mjs:16
    if(!/^[ -]{43}$/.test(config.token||'')){config.token=randomBytes(32).toString('base64url');mkdirSync(dirname(configPath),{recursive:true});writeFile
  • 执行外部命令来自配置/变量
    bin/room-public-viewer.mjs:22
    const child=spawn(command,childArgs,{windowsHide:true,stdio:['ignore','pipe','pipe']});
  • 写入本地文件
    bin/room-public-viewer.mjs:27
    writeFileSync(join(dirname(configPath),'public-access.json'),JSON.stringify({origin,pairing,provider,startedAt:new Date().toISOString(),temporary:true
  • 读取本地文件
    src/runtime.js:8
    const pluginVersion=JSON.parse(readFileSync(new URL('../package.json',import.meta.url),'utf8')).version;
  • 写入本地文件
    src/runtime.js:18
    mkdirSync(dirname(statePath),{recursive:true});this.lockPath=statePath+'.lock';
  • 读取本地文件
    src/runtime.js:19
    if(existsSync(this.lockPath)){
  • 读取本地文件
    src/runtime.js:20
    const pid=Number(readFileSync(this.lockPath,'utf8'));
  • 删除本地文件
    src/runtime.js:22
    if(alive)throw Error('另一个宿主正在使用这份小屋状态');unlinkSync(this.lockPath);
  • 写入本地文件
    src/runtime.js:24
    const fd=openSync(this.lockPath,'wx');writeFileSync(fd,String(process.pid));closeSync(fd);
  • 读取本地文件
    src/runtime.js:27
    const saved=statePath&&existsSync(statePath)?JSON.parse(readFileSync(statePath,'utf8')):null;
  • 读取本地文件
    src/runtime.js:27
    const saved=statePath&&existsSync(statePath)?JSON.parse(readFileSync(statePath,'utf8')):null;
  • 写入本地文件
    src/runtime.js:102
    save(){if(!this.statePath)return;this.advance();const temp=this.statePath+'.tmp';writeFileSync(temp,JSON.stringify({schema:1,body:this.sim.snapshot(th
  • 写入本地文件
    src/runtime.js:102
    save(){if(!this.statePath)return;this.advance();const temp=this.statePath+'.tmp';writeFileSync(temp,JSON.stringify({schema:1,body:this.sim.snapshot(th
  • 读取本地文件
    src/runtime.js:103
    close(){this.weather?.close();if(this.lockPath&&existsSync(this.lockPath))unlinkSync(this.lockPath);this.lockPath=null;}
  • 删除本地文件
    src/runtime.js:103
    close(){this.weather?.close();if(this.lockPath&&existsSync(this.lockPath))unlinkSync(this.lockPath);this.lockPath=null;}
  • 读取本地文件
    src/http.js:41
    const bytes=readFileSync(join(web,relative));
  • 读取本地文件
    src/mobile-viewer.js:39
    try{const bytes=readFileSync(apkPath);res.writeHead(200,{'Content-Type':'application/vnd.android.package-archive','Content-Disposition':'attachment; f
  • 读取本地文件
    src/mobile-viewer.js:49
    try{const bytes=readFileSync(join(web,relative));res.writeHead(200,{'Content-Type':relative.endsWith('.png')?'image/png':relative.endsWith('.html')?'t
  • 发起网络请求
    src/mobile-viewer.js:62
    const response=await fetch(url,{redirect:'error',signal:AbortSignal.timeout(4000)});
  • 发起网络请求
    web/camera.js:181
    const started=Date.now(),response=await fetch('./state',{cache:'no-store',headers:token?{'Authorization':'Bearer '+token}:{},signal:AbortSignal.timeou
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

大肥鱼 / DeepSeek Harness 像素小屋插件与安卓悬浮伴侣 · Preview

README

由 DeepSeek 最新模型翻译生成
大肥鱼的小屋 · Preview 让原来的大肥鱼在像素小屋里生活。你继续在宿主聊天,她自主决定坐床沿、看手机、吃喝、读书、整理、烤火或睡觉;小屋窗口是可以拖动、缩放的观察画面。 小屋与庭院的桌面观察画面 当前版本:0.6.4-preview.1,公开测试预览版。 下载安装包 · 反馈问题 可以做什么 - 主模型通过 room_observe 和 room_plan 安排屋内生活。本地引擎负责寻路、坐卧、家具遮挡、道具和持续动画。 - DSH 里有可拖动的小房子入口,展开为可移动、缩放的摄像头浮窗。 - 时间按配置时区同步;天气按用户选择的城市查询。庭院有昼夜、雨、雪和雾等表现。首次示例城市为北京。 - 原宿主的工作工具运行时,她会去电脑前;闹钟镜像原宿主投递到当前会话的定时任务。 - 安卓伴侣提供小屋预览和其他应用上方的浮窗。同一局域网连接,手机无需安装 DSH。 - 主会话离线或断线时显示床上睡姿,标记为「本地休息画面」;重连后恢复真实状态。这个显示不会改写模型计划。 第一版以屋内生活为范围;商店、种地、钓鱼和完整户外世界尚未实现。 兼容范围 宿主接口按 DeepSeek Harness SDK 0.2.1-rc.5 开发,目标为 QCYTSN/dsh-dafeiyu。源码使用 Node.js 24.9 或以上。
展开完整文档(README 剩余 1 节)
大肥鱼的小屋 · Preview

让原来的大肥鱼在像素小屋里生活。你继续在宿主聊天,她自主决定坐床沿、看手机、吃喝、读书、整理、烤火或睡觉;小屋窗口是可以拖动、缩放的观察画面。

小屋与庭院的桌面观察画面

当前版本:0.6.4-preview.1,公开测试预览版。 下载安装包 · 反馈问题

可以做什么

- 主模型通过 room_observe 和 room_plan 安排屋内生活。本地引擎负责寻路、坐卧、家具遮挡、道具和持续动画。
- DSH 里有可拖动的小房子入口,展开为可移动、缩放的摄像头浮窗。
- 时间按配置时区同步;天气按用户选择的城市查询。庭院有昼夜、雨、雪和雾等表现。首次示例城市为北京。
- 原宿主的工作工具运行时,她会去电脑前;闹钟镜像原宿主投递到当前会话的定时任务。
- 安卓伴侣提供小屋预览和其他应用上方的浮窗。同一局域网连接,手机无需安装 DSH。
- 主会话离线或断线时显示床上睡姿,标记为「本地休息画面」;重连后恢复真实状态。这个显示不会改写模型计划。

第一版以屋内生活为范围;商店、种地、钓鱼和完整户外世界尚未实现。

兼容范围

宿主接口按 DeepSeek Harness SDK 0.2.1-rc.5 开发,目标为 QCYTSN/dsh-dafeiyu。源码使用 Node.js 24.9 或以上。CLI 的 npm 包入口为 @deepseek-ai/dsh(本版对应 0.2.1-rc.5),而不是 @deepseek-ai/dsh-cli。

插件沿用原主 Agent、原聊天、人格和记忆,通过独立的环境上下文和身体工具接入。它不配置第二个模型客户端。其他性格、记忆和思考插件可以共同安装,但尚未逐一验证第三方分支;保留相同服务接口与客户端插槽的分支才有接入基础。宿主的记忆总结插件仍可能记录小屋通知和工具调用。

安卓要求 Android 8 / API 26 以上,目标 API 35;系统悬浮权限、ROM 后台限制和横竖屏表现需要真机验收。iOS 没有本项目的跨应用浮窗,可使用手机网页。

电脑安装

1. 在 Releases 下载 dsh-dafeiyu-room-0.6.4-preview.1.tgz。它是宿主插件;APK 是手机伴侣,二者用途不同。
2. 使用宿主 CLI 安装到所用的 profile。以下以桌面端为例:

dsh plugin --profile desktop add "D:/Downloads/dsh-dafeiyu-room-0.6.4-preview.1.tgz"

dsh 需为该宿主版本提供的 CLI;若不在 PATH,请使用宿主安装目录的命令入口。浏览器客户端使用对应的 web profile。
3. 通过宿主插件管理重载,或正常关闭后重新打开 DSH。进入原聊天,小房子入口会出现在页面上。

城市与时区在 DSH 插件设置里修改。天气来自 Open-Meteo,数据按 CC BY 4.0 署名使用;默认免费 API 适用于其非商业服务条款,商业部署需自行配置符合服务条款的方案。空闲生活默认:用户消息后空闲 2 分钟、两次决策至少相隔 10 分钟、每天最多 12 次自主唤醒;睡眠计划未结束时不会被日常通知唤醒。一次唤醒可能包含多个模型步骤。

安卓浮窗:同一 Wi-Fi

1. 为宿主插件配置本机观察端口 viewerPort: 8796。保留宿主原有配置结构,在此插件的 config 中加入该项并重载。可参考 配置示例。
2. 在电脑准备一个独立目录,安装下载的插件包,再启动只读中继:

mkdir cabin-viewer
cd cabin-viewer
npm init -y
npm install --ignore-scripts "D:/Downloads/dsh-dafeiyu-room-0.6.4-preview.1.tgz"
npx --no-install dsh-room-viewer --lan --apk "D:/Downloads/dafeiyu-room-android-0.6.4-preview.1.apk"

3. 手机与电脑连接同一 Wi-Fi,打开终端打印的完整连接。下载安装 APK,再回到网页点「打开安卓悬浮窗」。在应用内保存连接、允许悬浮权限,点击「开启悬浮小屋」。

首次配对后保存在应用私有存储,后续直接打开应用即可。拖动小房子移动,点一下展开;拖动画面移动浮窗,右下角缩放,右上角放大或收起。通知栏或应用内可关闭。

电脑、DSH 和中继服务需要保持运行才能同步。安装页能打开但人物离线时,先检查 DSH 的原会话与本机 8796 观察端口。多网卡可用 --host 指定本机私有 IPv4。

完整连接包含只读凭证,请勿贴到公开 Issue。 普通 HTTP 只适合可信局域网;应用只接受字面 RFC1918 私有 IPv4 的 HTTP,以及有效 HTTPS 配对。没有自动开启的公网入口。故障处理见 连接说明。

Token 与数据

看画面、播放动画、离线睡姿和天气轮询不调用模型。额外模型用量来自环境说明、状态、两个工具,以及空闲自主决策。

按 DeepSeek 官方 V4 分词器对合成状态离线测算,普通工具模式下约增加 1,500 输入 Token / 模型请求。原输入为 5,000 / 10,000 / 20,000 Token 时,对应约 30% / 15% / 7.5% 输入增幅。它不是全天总费用增幅:自主唤醒会携带宿主上下文、工具回合可能继续请求,缓存和输出也影响费用。详见 测算方法。
房间状态保存在当前用户的 .dsh/storages/dsh-dafeiyu-room/。手机中继只输出动画与必要生活状态,移除会话和工具调用编号、闹钟任务标题及模型错误详情。原宿主权限仍由原宿主管理。

开发与构建

npm ci --ignore-scripts
npm test
npm pack --ignore-scripts

不调用模型的本地验收:npm run preview;终端打印只监听回环地址的画面入口。完整安卓构建和签名说明见 构建文档。本仓库保留预览与动作验收脚本;它们不包含在宿主 npm 包中。

预览版边界

- 已运行宿主集成、状态隔离、HTTP、动画、生活、天气与离线显示的自动检查,以及安卓配对/资源检查和 APK 签名校验。
- 安卓原生首页与系统浮窗尚未完成完整真机回归;欢迎反馈 S15 等设备的权限、拖动、旋转和后台表现。
- 像素姿态、家具接触和遮挡仍在打磨;此版不承诺所有动作细节最终定稿。
- 其他 SDK 版本、记忆/思考分支未逐一通过兼容性验收。
- SDK 0.2.1-rc.5 自身固定了旧 Zod。本仓库开发树已修复,但装入宿主后并不替宿主升级该依赖;详见依赖说明。
- 预览 APK 使用本地开发签名,私钥不在仓库中;自行构建的签名可能不同。

请在反馈中提供宿主版本、插件版本、安卓型号、操作步骤和去掉凭证的截图。查看更新记录

许可与素材

代码使用 Apache-2.0。大肥鱼形象参考的 MIT 许可、生成素材来源和哈希见 第三方说明 与 素材记录。没有打包《星露谷物语》原游戏文件;本项目与其官方无关联。
预览分享卡片长什么样 ↓bearyluo/dsh-dafeiyu-room
分享 · DeepSeek Harness Hub
bearyluo/dsh-dafeiyu-room

让大肥鱼在像素小屋里自主生活,随时观察她的日常

这是你的仓库?认领条目

回到顶部