DSH Hub
dsh-ui-agents-pixe cover

EternalNight996/dsh-ui-agents-pixe

dsh-ui-agents-pixe

UIWeb UI1 GitHub stars· updated 2026-08-22

dsh-ui-agents-pixe is a community DeepSeek Harness plugin. Read the repository README before installing.

Install

npx @deepseek-ai/dsh plugin --profile web add dsh-ui-agents-pixe

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-ui-agents-pixe DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-ui-agents-pixe.svg)](https://dshhub.dev/plugins/dsh-ui-agents-pixe)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from EternalNight996/dsh-ui-agents-pixe, cleaned of badges and images.

dsh-ui-agents-pixe

给 DeepSeek Harness 的 Web 主窗口加「工作角色」页签 + 对话区「像素办公室」浮层——255+ 位专家变成会走会聊的像素小人。一条命令安装,不改 dsh 源码。

⚡ 安装

官方 DSH CLI 一条命令安装:

dsh plugin --profile web add dsh-ui-agents-pixe

⚠️ 请一律用 dsh plugin 命令,不要用 npx @deepseek-ai/dsh——npx 对包名每次都会重新下载一份 dsh,装插件不该重装 dsh。

包内 dsh.bundle.patch 声明了 cordis.patch.ymldsh plugin add 后插件行自动挂载,无需手改任何 profile 补丁文件。首次安装后重启 dsh web 生效(之后改 UI 均为热更新)。

安装完成后:聊天页出现「工作角色」页签,对话区出现可折叠的像素办公室浮层;模型选择器、会话模型完全不受影响。

🖥 推荐:dsh-desktop 桌面壳

想要双击即用的完整桌面体验(自动带起 dsh web + 本插件效果),推荐桌面壳 dsh-desktop——Tauri 打包的 DeepSeek Harness 桌面工作台,开箱即用。

也可以先装可视化插件市场,在设置界面里浏览、搜索、一键安装本插件:

dsh plugin --profile web add dshmarket

✨ 功能

  • 🧑‍💼 工作角色页签:The Agency(en 255)+ agency-agents-zh(zh 253)= 508 张完整角色卡内置随包分发,搜索 / 中英切换 / 分部分类选人。
  • 🏢 像素办公室shell.overlay 浮层,Canvas 2D 程序化像素小人(站立 / 打字 / 踱步 + 四态徽章),可拖动、折叠、缩放,选人即入列;闲置与工作中的人都会聊天,台词可接 AI。
  • 🛠 agents_pixe_roles 工具:宿主半边注册,agent 按角色名取回完整角色卡(定位 + 规则 + 清单 + 语气),以「某个角色/团队身份回应」时自动调用。
  • 📦 持久客户端插件:npm 双面包 + 组合补丁层,包内自挂载(dsh.bundle.patch),安装即生效,重启不丢。

界面预览(真实抓屏)

📸 全部真实抓屏/录屏。

🧑‍💼 工作角色页签

🏢 像素办公室浮层

更多完整桌面壳效果(对话主界面等)见 dsh-desktop 的 README。

AI 聊天(开关 + 可插拔接口)

像素人的聊天台词可接入 AI,含内置 AI 与一个外部接口,由页签/浮层顶部的 🤖 AI 开关统一控制:

  • 开关关:走内置罐头问候(含打破第四面墙的问答彩蛋)。
  • 开关开 + 未接外部:走内置 AI——客户端 fetch 宿主端点 /agents-pixe/chat,用 dsh 自己配好的模型ctx.llm,第一个 provider/model)按角色 + 实时状态生成一句 20 字内的中文闲聊;模型失败/空则回退实时活动台词 → 罐头。
  • 开关开 + 已接外部:优先走外部接口,未返回/返回空时回退内置。

外部接口:在页面里赋值一个异步函数即可接管台词:

window.__AGENTS_PIXE_CHAT__ = async (req) => '你好,人类';
// req = { roleName, roleKey, emoji, state, activity, sessionId, isLeader }
// state ∈ 'idle' | 'working' | 'done';返回 string(展示)或 null/空(回退内置)

编程式控制开关/接口:

window.__AGENTS_PIXE_CHAT_API__.setEnabled(true);            // 开/关 AI 聊天
window.__AGENTS_PIXE_CHAT_API__.setProvider(async (req) => '…'); // 设外部接口
window.__AGENTS_PIXE_CHAT_API__.isOn();                       // 当前开关状态

实现说明:持久 dsh.client 客户端插件没有「客户端→宿主」私有 RPC,但宿主半边(lib/index.js)可注入 llm + webServer,注册 GET /agents-pixe/chat 精确路由生成台词——复用 dsh 已配置的模型,无需额外密钥、无 CORS、不改 dsh 源码。

🆕 更新日志(v1.0.2 → v1.0.3)

修复:设置 → 像素办公室「角色工具」开关点击无反应

问题根因有两层,均已修复:

  1. 客户端 settingsScope.bind 在分区渲染函数里每次调用(每次渲染新建 controller → 订阅与写入的 scope 不是同一个)。改为在 apply()只绑定一次(参考 dsh-ui-three-body 的写法),开关点击立即可见。
  2. 宿主半边 inject 数组缺少 settings 服务,导致 settings.register('agents-pixe', …) 不可用/时序不稳,namespace 从未在宿主侧生效——客户端 describe() 读不到、写入被拒。已补上 'settings' 声明。

新增:设置分区统一管控「🤖 像素人 AI 闲聊」

工作角色页签与像素办公室浮层顶部的 AI 按钮已移除,AI 相关配置统一收拢到设置 → 像素办公室分区,一个入口管全部:

  • AI 聊天开关(默认关,开启前有「会消耗 token,确认开启?」)
  • 台词频率(低 / 中 / 高)
  • 思考模式(开启走带思考链的模型)

变更:像素办公室标题栏按钮全部放大

选人 / 缩小 / 放大 / 设置 / 折叠按钮整体加大(padding 与字号提升),悬浮窗操作更清晰易点,不再看不清。

零成本确认

关闭全部配置时(角色工具 + AI 闲聊都关)为纯本地零 token 消耗:工具不注册、提示段不注入、/agents-pixe/stats 返回 calls:0, tokens:0。开启后依旧受「AI 模式硬门 + 每小时 60 次 / 60K token 预算」兜底。

Token 管控(省着花)

角色工具:默认关闭,配置分区启用

  • 默认零消耗agents_pixe_roles 工具与提示段默认不注册——不开开关,每轮模型调用不背任何角色工具成本(省约 250 token/轮)。
  • 配置分区启用:设置 → 像素办公室 顶层分区,打开「角色工具」开关才注册工具(动态注入/移除,无需重启)。
  • 绝不导入全量角色卡:启用后调角色也只返回精简卡——定位 + 关键规则前 3 条 + 沟通风格,单卡 ≤500 字符、单次调用总量 ≤2000(实测压缩比 90%+,最大 30K 字符的卡压到 ~500);508 张完整卡始终在宿主侧按需读取,从不全量进模型上下文。

AI 闲聊:同样省着花

Related plugins