桌面像素精灵 BenjaminSHI4008/deepseek-pet-Seeki
DeepSeek Harnessv0.2.0双击唤出智能体,桌面常驻陪你干活
33.8/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:npm 同名包「deepseek-pet」归属 ambar/deepseek-pet,装到的可能不是本插件。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add BenjaminSHI4008/deepseek-pet-Seeki该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · desktop
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 71 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意npm 同名包「deepseek-pet」归属 ambar/deepseek-pet,装到的可能不是本插件
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包deepseek-pet @ 0.2.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/24 14:52:47
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 30 处,展示前 30 条)
- 读取本地文件main.cjs:18
petConfig = JSON.parse(fs.readFileSync(path.join(__dirname, 'pet.config.json'), 'utf8')) - 读取本地文件main.cjs:37
chatConfig = JSON.parse(fs.readFileSync(chatConfigPath, 'utf8')) - 写入本地文件main.cjs:42
fs.mkdirSync(path.dirname(chatConfigPath), { recursive: true }) - 写入本地文件main.cjs:43
fs.writeFileSync(chatConfigPath, JSON.stringify(chatConfig, null, 2)) - 写入本地文件main.cjs:56
fs.mkdirSync(dir, { recursive: true }) - 读取本地文件main.cjs:212
const cfg = JSON.parse(fs.readFileSync(path.join(__dirname, 'pet.config.json'), 'utf8')) - 写入本地文件main.cjs:214
fs.writeFileSync(path.join(__dirname, 'pet.config.json'), JSON.stringify(cfg, null, 2) + '\n') - 读取本地文件harness-plugin/dist/index.js:410
return JSON.parse(await readFile(configFile, "utf8")); - 写入本地文件harness-plugin/dist/index.js:416
await writeFile(configFile, JSON.stringify(cfg, null, 2) + "\n"); - 执行外部命令来自配置/变量harness-plugin/dist/index.js:423
const child = spawn(process.execPath, [electronCli, "."], { - 读取本地文件harness-plugin/dist/index.js:455
const text = await readFile(configFile, "utf8"); - 写入本地文件harness-plugin/dist/index.js:509
await mkdir(frameDir, { recursive: true }); - 读取本地文件harness-plugin/dist/index.js:510
for (const f of await readdir(frameDir).catch(() => [])) { - 删除本地文件harness-plugin/dist/index.js:511
if (f.endsWith(".png")) await unlink(path.join(frameDir, f)); - 写入本地文件harness-plugin/dist/index.js:514
await writeFile(path.join(frameDir, `frame_${String(i).padStart(3, "0")}.png`), bufs[i]); - 读取本地文件harness-plugin/dist/index.js:548
const buf = await readFile(path.join(petDir, "Deepseek", "animations", folder, "south", file)); - 删除本地文件递归harness-plugin/dist/index.js:638
await rm(path.join(petDir, "Deepseek", "animations", folder), { recursive: true, force: true }); - 读取本地文件harness-plugin/dist/index.js:659
const html = await readFile(settingsHtmlPath, "utf8"); - 读取本地文件harness-plugin/src/index.ts:494
return JSON.parse(await readFile(configFile, 'utf8')) - 写入本地文件harness-plugin/src/index.ts:500
await writeFile(configFile, JSON.stringify(cfg, null, 2) + '\n') - 执行外部命令来自配置/变量harness-plugin/src/index.ts:510
const child = spawn(process.execPath, [electronCli, '.'], { - 读取本地文件harness-plugin/src/index.ts:538
const text = await readFile(configFile, 'utf8') - 写入本地文件harness-plugin/src/index.ts:595
await mkdir(frameDir, { recursive: true }) - 读取本地文件harness-plugin/src/index.ts:596
for (const f of await readdir(frameDir).catch(() => [])) { - 删除本地文件harness-plugin/src/index.ts:597
if (f.endsWith('.png')) await unlink(path.join(frameDir, f)) - 写入本地文件harness-plugin/src/index.ts:600
await writeFile(path.join(frameDir, `frame_${String(i).padStart(3, '0')}.png`), bufs[i]) - 读取本地文件harness-plugin/src/index.ts:634
const buf = await readFile(path.join(petDir, 'Deepseek', 'animations', folder, 'south', file)) - 删除本地文件递归harness-plugin/src/index.ts:724
await rm(path.join(petDir, 'Deepseek', 'animations', folder), { recursive: true, force: true }) - 读取本地文件harness-plugin/src/index.ts:743
const html = await readFile(settingsHtmlPath, 'utf8') - 发起网络请求renderer.js:18
const config = await (await fetch('./pet.config.json')).json()
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
4 张 · 点击查看大图功能亮点
- 透明置顶桌面精灵
- 2D像素风状态机
- 双击唤出智能体
DeepSeek Harness 桌宠插件:透明置顶的桌面精灵(2D 像素风状态机)
README
由 DeepSeek 最新模型翻译生成Seeki
一个由 DeepSeek 驱动的迷你桌面伙伴,住在你的屏幕上,帮你把事情搞定。
English · 简体中文
Seeki 是一只漂浮在桌面上的像素宠物,双击一下就能唤出 DeepSeek Harness 智能体。它是桌面宠物 × DeepSeek × 智能体的结合体——按工作区组织的持久对话、按任务切换模型,还有一个在智能体工作时真正会做出反应的角色。
License: MIT
PRs welcome
Seeki 是一个独立的社区项目。它并非 DeepSeek 的官方产品。
为什么选择 Seeki?
你早就可以在浏览器标签页里和 DeepSeek 对话了。Seeki 增加了聊天界面无法提供的一层:
| 与其…… | Seeki 给你…… |
| 一个还得费劲去找的标签页 | 一个住在你桌面上的角色,抬眼就能看到 |
| 每次会话都要粘贴上下文 | 持久对话,按工作区组织 |
| 一个默认模型 | 按任务切换模型——为下一条消息选择不同的模型 |
| 一个静态的网页应用 | 一个拥有待机 / 开心 / 行走 / 睡觉状态的像素伙伴 |
| 阅读日志 | 角色上方一眼可见的状态气泡(received → working → done) |
以上每一项都对应 Seeki 今天真正能做到的事情——没有营销废话。
展开完整文档(README 剩余 1 节)
Seeki 一个由 DeepSeek 驱动的迷你桌面伙伴,住在你的屏幕上,帮你把事情搞定。 English · 简体中文 Seeki 是一只漂浮在桌面上的像素宠物,双击一下就能唤出 DeepSeek Harness 智能体。它是桌面宠物 × DeepSeek × 智能体的结合体——按工作区组织的持久对话、按任务切换模型,还有一个在智能体工作时真正会做出反应的角色。 License: MIT PRs welcome Seeki 是一个独立的社区项目。它并非 DeepSeek 的官方产品。 为什么选择 Seeki? 你早就可以在浏览器标签页里和 DeepSeek 对话了。Seeki 增加了聊天界面无法提供的一层: | 与其…… | Seeki 给你…… | | 一个还得费劲去找的标签页 | 一个住在你桌面上的角色,抬眼就能看到 | | 每次会话都要粘贴上下文 | 持久对话,按工作区组织 | | 一个默认模型 | 按任务切换模型——为下一条消息选择不同的模型 | | 一个静态的网页应用 | 一个拥有待机 / 开心 / 行走 / 睡觉状态的像素伙伴 | | 阅读日志 | 角色上方一眼可见的状态气泡(received → working → done) | 以上每一项都对应 Seeki 今天真正能做到的事情——没有营销废话。 功能特性 🐾 住在你的桌面上 Seeki 是一个透明、无边框、始终置顶的窗口——一个 2D 像素角色,待在你的屏幕上,而不是藏在某个标签页里。 💬 持久对话 双击 Seeki 即可聊天。对话是持久且多轮的,按工作区组织,并配有对话切换器,可随时跳回之前的任意对话。 🧠 宠物背后是一个 DeepSeek Harness 智能体 Seeki 是 DeepSeek Harness 智能体的桌面门面。头顶气泡会反映智能体的实时状态: | 状态 | 气泡 | | received | 收到啦 · received | | running | Deep diving... | | completed | Completed | | terminated | Stopped | | offline | Offline | 🔀 按任务切换模型 直接在聊天窗口中切换你已配置的 DeepSeek 模型。切换仅对下一条消息生效,绝不会打断正在进行的回合;新对话会继承当前模型。 🎮 一个角色,而非静态图标 待机呼吸、开心、行走(拖拽)和睡觉动画——外加拖拽方向切换(左 / 右 / 上 / 下,带镜像)以及点击 / 空闲超时交互。 ⚙️ 配置驱动,无需改代码状态气泡、动画、帧率和触发器都存放在 pet.config.json 中,可通过内置的 /pet/settings 页面进行编辑——包括上传、替换和删除动画帧。 截图 💬 对话 一段真实的对话 🗂️ 工作区与模型切换 工作区选择器和模型下拉菜单 🎮 角色状态 空闲、行走、睡觉 快速开始 前置条件 - Node.js ≥ 22 和 pnpm - 克隆 deepseek-harness 并运行一次 pnpm install——Seeki 作为插件在其中运行 - 为 harness 配置一个 DeepSeek API key(参见模型配置) 1. 克隆两个仓库 git clone https://github.com/deepseek-ai/deepseek-harness.git git clone https://github.com/BenjaminSHI4008/deepseek-pet.git cd deepseek-harness && pnpm install 2. 安装 Seeki(插件 + 桌面图标) cd ../deepseek-pet bash scripts/install.sh Windows (PowerShell) powershell -ExecutionPolicy Bypass -File scripts\install.ps1 3. 运行——双击 Seeki.app(macOS)/ Seeki.lnk(Windows)。该图标会在后台启动 DeepSeek Harness 并唤醒 Seeki。 安装程序会自动检测你的 deepseek-harness 检出目录(同级目录、~/deepseek-harness 或 ~/Projects/deepseek-harness),如果找不到会询问你。 安装 有两种运行方式,外加一种独立的离线模式。 A. 一键桌面图标(推荐) scripts/install.sh(macOS)/ scripts/install.ps1(Windows)会安装插件并创建一个伪可执行文件桌面图标——它只包含一条启动命令,不捆绑运行时。 - 启动:双击 → 在后台启动 harness → 唤醒 Seeki。 - 退出:右键点击桌宠 → 「退出桌宠」。退出 Seeki 不会停止 harness(它会在后台继续运行;下次双击只会重新唤醒桌宠)。 B. 手动使用 DeepSeek Harness 运行 cd bash scripts/install-harness-plugin.sh # 将插件安装到 web profile cd pnpm dsh web # Seeki 随 harness 自动启动 C. 独立桌宠(离线,无 agent) cd npm install npm start 这只会运行桌宠。在没有连接 harness 的情况下,气泡会显示 Offline。 Electron 会在 npm install 时下载其二进制文件。在中国大陆网络较慢时,请先运行 export ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/"。 模型配置 Seeki 不会硬编码模型。聊天窗口的模型列表来自你的 DeepSeek Harness 所配置的提供方(llm.models),因此它始终反映你的 harness 实际所公布的内容(例如 deepseek-official 路由上的 DeepSeek-V4-Pro 和 DeepSeek-V4-Flash)。 - API 密钥 — 为 harness 配置,而不是为 Seeki 配置:在环境变量中、harness 根目录的 .env 文件中,或通过 harness 的凭据存储(~/.dsh/.credentials.yaml)设置 DEEPSEEK_API_KEY。 - 默认模型 — harness 自身的默认值。Seeki 不会强加一个。 - 切换模型 — 使用聊天标题栏中的模型下拉菜单。它仅影响下一条消息;新对话会继承当前选择;不可用的模型显示为禁用状态。 完整的 pet.config.json 参考:docs/config.md。 工作原理 flowchart TB U[你] -->|双击 · 输入| P[Seeki 桌面 UIElectron · 透明窗口 · 像素精灵] P -->|WebSocket /api/pet.ws| S[dsh-pet-status 插件位于 DeepSeek Harness 内] S -->|session.prompt · session.models| A[DeepSeek Harness Agent工作区 · 会话 · 工具] A -->|提供方路由| M[DeepSeek 模型提供方] M --> A A --> S -->|状态 · 助手文本| P 1. Electron 宠物渲染角色和聊天窗口。 2. 一个小的 Cordis 插件(dsh-pet-status)在 DeepSeek Harness 内运行,将 agent 活动折叠为状态,并通过本地 WebSocket 流式传输助手文本。 3. harness agent 处理会话、工作区和工具;Seeki 是它的桌面门面。 架构与扩展指南:docs/development.md。 项目结构 harness-plugin/ dsh-pet-status 插件 — 状态广播、宠物管理器、聊天桥接 Deepseek/ 像素精灵资源(动画、8 方向静帧、原始素材) assets/ 捆绑字体(以及生成的启动器图标) docs/ 配置参考 + 开发者指南 scripts/ 安装器 + 精灵规范化 pet.config.json 所有宠物行为 — 状态、动作、角色状态 main.cjs Electron 主进程(窗口、拖拽、WebSocket 客户端) renderer.js 像素精灵状态机(配置驱动) chat.html 聊天窗口 UI(工作区、对话、模型切换) 开发 npm install npm start # 在迭代 UI 时独立运行宠物(离线) 宠物行为完全由配置驱动 — 编辑 pet.config.json(或使用 /pet/settings)即可更改气泡、动画和触发器,而无需改动渲染代码。有关如何添加动作、鼠标状态或拖拽方向,请参阅 docs/development.md。 路线图 - [x] 桌面宠物(透明置顶窗口、像素状态机) - [x] Agent 状态反映(received / running / completed / terminated / offline) - [x] 聊天:工作区、对话历史、模型切换、取消 - [x] 可视化设置页面(状态 / 动作 / 帧上传与删除) - [x] 一键桌面启动器(Seeki.app / Seeki.lnk) - [ ] 点击穿透(透明区域不捕获鼠标) - [ ] 位置记忆、边缘吸附、8 方向行走 - [ ] 独立打包(捆绑 harness 运行时) 贡献 欢迎提交 issue、功能请求和 pull request。 许可证 MIT © 2026 BenjaminSHI4008 Deepseek/ 下的角色精灵素材由 PixelLab 生成;再分发条款遵循 PixelLab 的许可证。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
BenjaminSHI4008/deepseek-pet-Seeki
双击唤出智能体,桌面常驻陪你干活
相关插件 · 桌面端
Codex 任务面板chuspeeism/dashi-taskboard
现代化可灵活嵌入的任务面板,支持 Codex、DeepSeek Harness
★ 3,409已汉化DSH
71.7
多智能体自进化开发平台Prism-Shadow/penguin-harness
统一、稳定的 Agent 自进化框架全自动优化:任意模型 · 任意算法 · 任意 Benchmark
★ 3,111已汉化DSH
71.1
桌面宠物PC2005-cloud/dsh-pet
DSH 桌面宠物:一行命令装好即用的透明动画小桌宠,支持多开、大小位置随心配置;还内置 DIY 素材链,能用 AI…
★ 5,341已汉化DSH
71
多端 Agent 工作台GCWing/OpenBitFun
OpenBitFun 是一个高度可定制的开源 Agent 工作台,让任务按你的方式持续推进。
★ 3,449已汉化DSH
70.8
DSH Desktopanywhere-labs/dsh-desktop
为 DeepSeek Harness DSH 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 34,532已汉化DSH
70.7
桌面宠物伴侣OpenPetsHQ/openpets
桌面伴侣平台,带宠物、插件,还能选配本地智能体集成。
★ 1,353已汉化DSH
70.2