
EternalNight996/dsh-ui-agents-pixe
dsh-ui-agents-pixe
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-pixeRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](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.yml,dsh 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)
修复:设置 → 像素办公室「角色工具」开关点击无反应
问题根因有两层,均已修复:
- 客户端
settingsScope.bind在分区渲染函数里每次调用(每次渲染新建 controller → 订阅与写入的 scope 不是同一个)。改为在apply()中只绑定一次(参考dsh-ui-three-body的写法),开关点击立即可见。 - 宿主半边
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 闲聊:同样省着花
…

