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

输入框文字修复 BaymaxStudio/dsh-composer-color-fix

DeepSeek Harness
BaymaxStudio62 天前有提交已提供中文文档扫描:未发现敏感能力

修复输入框打字看不见字,自动恢复文字显示

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]—
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
数据截至 2026/10/07·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 62 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

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

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

功能亮点

  • 修复输入框文字不可见
  • 自动恢复文字显示

修复 DeepSeek Harness 输入框:输入的文字看不见。仅客户端、可自行停用的 DSH 配置档包。

README

由 DeepSeek 最新模型翻译生成
dsh-composer-color-fix 英文 TL;DR — DeepSeek Harness(DSH)0.1.1-rc.x 将其 composer 的 样式设为 color: transparent; -webkit-text-fill-color: transparent,并在相邻的 .backdrop 叠加层中绘制你实际阅读到的文本。当该叠加层与 textarea 的值失去同步时(在长时间存活的会话刷新后可稳定复现),你仍能继续输入,但什么都看不见。 这是一个仅客户端侧的 DSH profile bundle,它在运行时检测被绘制为透明的表面,并强制恢复主题前景色。它有意设计为可自我禁用:一旦上游发布带有不透明 color 的 composer,该 shim 就完全不执行任何操作,因此你可以在跨版本升级时一直保留安装。 修复 DSH(DeepSeek Harness)输入框「能打字但看不见字」的问题。 工作原理 / How it works 主要处理路径、异常分支和人工检查点。
展开完整文档(README 剩余 1 节)
dsh-composer-color-fix

英文 TL;DR — DeepSeek Harness(DSH)0.1.1-rc.x 将其 composer 的 样式设为 color: transparent; -webkit-text-fill-color: transparent,并在相邻的 .backdrop 叠加层中绘制你实际阅读到的文本。当该叠加层与 textarea 的值失去同步时(在长时间存活的会话刷新后可稳定复现),你仍能继续输入,但什么都看不见。
这是一个仅客户端侧的 DSH profile bundle,它在运行时检测被绘制为透明的表面,并强制恢复主题前景色。它有意设计为可自我禁用:一旦上游发布带有不透明 color 的 composer,该 shim 就完全不执行任何操作,因此你可以在跨版本升级时一直保留安装。

修复 DSH(DeepSeek Harness)输入框「能打字但看不见字」的问题。

工作原理 / How it works

主要处理路径、异常分支和人工检查点。 / The main processing path, exception branches, and human review points.

症状

在一个聊了较久的会话里:

1. 输入框突然完全无法输入;
2. Cmd+R 刷新后能输入了,但键入的字符不显示——光标在动、发送按钮会亮、底部状态栏字数在涨、@ 补全下拉也能弹出,就是看不见字。

新建一个会话却一切正常。所以它是会话状态相关的 bug,不是 DSH 整体坏了。

根因

在 @deepseek-ai/dsh 0.1.1-rc.2 里,composer(InputBar)是一个双层结构:

/* packages/client/ui-conversation/src/client/skeleton/InputBar.module.css /
.input {
position: absolute;
color: transparent; / ← 故意透明 / -webkit-text-fill-color: transparent; / ← 双保险,也透明 / caret-color: var(--dsw-alias-state-business-primary); background: 0 0; border: none; outline: none; overflow: hidden; }
.backdrop {
position: absolute;
color: var(--dsw-alias-label-primary); / ← 你看到的字是这层画的 / pointer-events: none; overflow: hidden; }

- 真正持有 value 的是 ,但故意不可见;
- 你看到的字(含语法高亮、文件 chip、@ 引用)来自同位置的 .backdrop 叠加层;
- 一旦 React 没把某次草稿更新同步进 backdrop,value 进去了、视觉上空了。

这不是任何第三方插件造成的——@deepseek-ai/dsh-client-ui-conversation 的原生设计。

一个佐证:.input 的注释里写着「caret is the textarea's and every visible glyph is the backdrop's」,作者知道这个耦合,但没给失同步时兜底。

影响范围

| 版本 | 状态 |
| 0.1.1-rc.2(npm latest,2026-08-21) | ❌ 有 bug —— 本仓库的目标版本 |
| 0.1.2-alpha.3(npm alpha,2026-08-31) | ✅ 已修:composer 重写为 Lexical contenteditable,color: var(--dsw-alias-label-primary),透明层与 backdrop 全部移除 |
| 更新版本(推测) | ✅ 沿用重写后的实现 |

注意:官方仓库 deepseek-ai/deepseek-harness 的 issue tracker 是关闭的(has_issues: false),所以这个问题全网没有现成的公开方案,也没有地方提交。

修复思路

本 shim 不猜类名、不改选择器,只做一件事:问浏览器「这块可编辑区域现在是不是被画成全透明了」,是就把主题前景色强行贴回去。

三个设计原则,都是为了让它在 DSH 升级后自动退役而不是崩掉:

1. 运行时探测,不猜类名
textarea[class="_input"] 这类写法依赖 CSS-module 哈希(uV2eYG_),换个构建就废。
这里只调 getComputedStyle() 看 color / -webkit-text-fill-color 的 alpha 是否为 0。

2. 内联 !important 终结特异性军备竞赛按 CSS Cascade Level 4,作者样式的优先级是:普通声明 /_shims/ → 软链到 node_modules/ → 写入 dependencies 和 dsh.profile.bundles → 用 dsh --dump-config 自检(失败自动回滚)。

装完必须重启 DSH web 服务——客户端 bundle 清单一只在服务启动时构建一次:

pkill -f "dsh web"
cd "" && dsh web --no-open

然后在浏览器里 Cmd+Shift+R 硬刷新。

手动安装

SHIM=~/.dsh/profiles/web/_shims/dsh-composer-color-fix
mkdir -p "$SHIM/lib"
cp package.json cordis.patch.yml "$SHIM/"
cp lib/*.js "$SHIM/lib/"
ln -sfn "$SHIM" ~/.dsh/profiles/web/node_modules/dsh-composer-color-fix

再编辑 ~/.dsh/profiles/web/package.json,加两处:

{
"dependencies": {
"dsh-composer-color-fix": "file:/Users//.dsh/profiles/web/_shims/dsh-composer-color-fix"
},
"dsh": {
"profile": {
"bundles": [ "...", "dsh-composer-color-fix" ] // 追加到末尾
}
}
}

三个必须知道的坑

1. dsh.profile.bundles ≠ dependencies。
ClientModuleRegistry.flush() 只扫 bundles。写进 dependencies 的包不会被装进
__DSH_BOOT__ 清单(DSH 没有 client 插件自动发现机制)。
2. profile bundle 必须声明 dsh.bundle.patch,指向一个 cordis.patch.yml,否则 loadProfile 直接抛错。
3. HTML 里的 __DSH_BOOT__ 是服务启动时一次性构建的,注册新 bundle 后不重启不会生效。

验证

1) profile 配置能加载
dsh --profile web --dump-config

2) shim 出现在启动清单里
curl -s http://127.0.0.1:3080/ | grep -c "dsh-composer-color-fix" # 期望 >= 1

3) bundle 能被服务
curl -s -o /dev/null -w "%{http_code}\n" \
http://127.0.0.1:3080/plugins/dsh-composer-color-fix/client.js # 期望 200

浏览器里 DevTools Console 跑一行看补丁有没有打上:

document.querySelector('textarea').dataset.dshTextFix // 期望 "1"

打上之后 getComputedStyle(textarea).color 应该是实际颜色(如 rgb(15, 17, 21)),而不是 rgba(0, 0, 0, 0)。

卸载

./install.sh --uninstall web

或手动三步:删软链 → 从 package.json 的 dependencies 和 dsh.profile.bundles 里去掉条目 → rm -rf ~/.dsh/profiles/web/_shims/dsh-composer-color-fix,然后重启 DSH。

已知副作用

启用后,textarea 本身的文字会显示出来,而 backdrop 仍在原位置画它的富文本层。
因此在粘贴图片、@ 引用文件产生 chip 的位置,两层会有轻微叠影。
不影响输入与发送——这是「看不见字」和「chip 偶尔叠一下」之间的取舍。

给上游的话

根因不在插件层,而在 InputBar 的双层耦合本身:把「持有 value」和「负责显示」拆到两个元素上,就必然要承担它们失同步的风险,且失同步时没有降级路径(用户拿到的是一个静默不可用的输入框)。

0.1.2-alpha.3 改成 Lexical contenteditable + 正常 color 是对的方向。
在此之前,更稳妥的兜底是:backdrop 未跟上时,让 textarea 自己显示文字。

详细的 bug report 模板见 docs/UPSTREAM-REPORT.md。

环境

在以下环境实测通过:

- macOS (darwin),Chrome
- @deepseek-ai/dsh 0.1.1-rc.2,profile web
- 同时加载 8 个 profile bundle(含 @linxin666/dsh-web-ui-all、@nanmicoder/dsh-agent-teams、 @omdsh-dev/dsh-genui、@anionex/dsh-vision-toolkit)

许可证

MIT
预览分享卡片长什么样 ↓BaymaxStudio/dsh-composer-color-fix
分享 · DeepSeek Harness Hub
BaymaxStudio/dsh-composer-color-fix

修复输入框打字看不见字,自动恢复文字显示

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