DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Console Utf8 — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-console-utf8

Console Utf8

让 dsh 主机及其 bash 工具命令使用代码页 65001 (UTF-8),这样 Windows 原生子进程的输出就不会再被解码为乱码

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-console-utf8@0.1.3
README兼容性版本

兼容性与来源证明

Console Utf8 以 dsh-console-utf8 发布,当前版本为 0.1.3。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/9/16

版本

0.1.3stable
2026/9/16
0.1.2stable
2026/9/13

相关插件

正在加载相关插件…

最新版
0.1.3
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
38.9 kB
文件数
12
Surface
any
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
0
最近提交
2026/9/16
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Subagent Codex@deepseek-ai/dsh-subagent-codex基于官方 app-server 协议的一次性 Codex 子代理提供程序

README

dsh-console-utf8

English · 中文

Keeps the Windows console on code page 65001 (UTF-8) for the dsh host and for the commands the bash tool runs, so output from Windows-native child processes stops arriving as mojibake.

The problem

The dsh subprocess layer decodes every child's stdout as UTF-8. Windows-native tools that a bash command invokes — powershell.exe, cmd.exe, git.exe, and chcp.com itself — write their text in the console's OEM code page instead (936/GBK on a Chinese system, 932 on Japanese, 437 on US-English). The bytes are then read as UTF-8 and every non-ASCII character in that output is destroyed:

Console statechcp output
default (936)the localised line, its Chinese replaced by U+FFFD runs
after chcp 65001Active code page: 65001

It is not a decoding bug that can be fixed by decoding harder: the console has to speak the same encoding the decoder assumes. That is all this plugin does.

What it does

  • Host console (setHostConsole, default on): switches the console the dsh host was started in to the configured code page using chcp.com, then reads the page back and logs what the console actually reports — a sandbox or a foreign locale that accepts the call and keeps the old page is reported instead of being claimed as a success.
  • Shell hook (shellHook, default on): maintains ~/.dsh-tui/console-utf8.sh and points BASH_ENV at it, so every non-interactive bash -c re-applies the code page inside its own process group. This covers the case where the shell executor spawns a command in a fresh console, which would otherwise start back at the system default.
  • Diagnostics: a bounded lifecycle log at ~/.dsh-tui/dsh-console-utf8.log records the resolved config, the observed code page before and after, and the hook decision. It is trimmed to its newest half once it passes 128 KiB, and nothing is written while node --test is running.

Exactly two files are written, both under the dsh state directory: the hook and the log. Commands are never rewritten, PATH is never touched, the shell stack is never patched, and no other file is read.

Install

dsh plugin --profile <profile> add dsh-console-utf8

Restart the TUI afterwards (/restart) — the plugin acts at mount time.

Manual installation: copy the package into ~/.dsh/profiles/<profile>/node_modules/dsh-console-utf8/ and append "dsh-console-utf8" to dsh.profile.bundles in that profile's package.json. The package declares dsh.bundle.patch, so it mounts itself at boot.

Compatibility

ItemValue
PlatformWindows only (win32); any other platform takes the not win32 path and changes nothing
Hostdsh-tui with manifest v0.15 / v1alpha1 host facet
Node`^22.19
Contributesnothing — no command, no permission, no contract, no seam registration
Shell stackbenefits any stack whose commands go through a Windows console; the BASH_ENV hook only applies to bash (sh/dash are unaffected)

Configuration

KeyTypeDefaultMeaning
enabledbooleantrueMaster switch. false mounts the plugin and does nothing.
codePagenumber65001Code page to enforce. Override only deliberately.
setHostConsolebooleantrueSwitch the host process's console.
shellHookbooleantrueMaintain the BASH_ENV hook.
shimPathstring''Hook path. Empty means ~/.dsh-tui/console-utf8.sh.

Known limitations

  • Root cause is upstream. This plugin makes the console match the decoder's assumption; it does not change how the subprocess layer decodes output. A host that decodes with a fallback would not need it.
  • BASH_ENV is shared. If another tool already set BASH_ENV to a different path, the plugin stands down and logs why rather than clobbering it; point shimPath at that path to adopt it, or disable shellHook.
  • bash only. The hook is not read by sh, dash, zsh or PowerShell, and a command that resets the code page itself (chcp 936) wins until the next command.
  • The host switch needs a console the host owns. When the host starts without one — a headless probe, and the Windows dsh-tui launcher, which hands the host no console handle — every chcp.com child gets a console of its own, so the switch cannot take effect. The plugin logs a warning instead of claiming success, and the shell hook then carries the whole fix. Measured twice: in the 0.1.0 integration probe and in a real restarted dsh-tui session. Expect the host console code page … after asking for … warning on every start; it is not a fault.
  • Per console, not per system. A newly created console starts at the system default again; use the system-wide UTF-8 setting if that is what you want.
  • The hook costs one chcp.com per bash invocation (a few milliseconds), silenced so it never reaches the tool output.
  • Nothing already copied is repaired. Text that is mojibake in the clipboard or in a file stays that way.
  • Verified on Windows 11 with a CP936 system locale; other code pages are expected to behave the same but were not measured.

Development

pnpm install
npm run verify          # encoding sweep + unit tests + manifest + pack layout
node --test             # unit tests only
npm run check:encoding  # BOM / damaged-sequence sweep
npm run validate:manifest
npm run pack:verify     # published file list, and that no shipped module is missing

The unit tests never touch the real console or the user's files: the code-page calls, the hook writer and the environment are injected.

Publishing

  • Repository: https://github.com/VviLliAm-qwq/dsh-console-utf8 (public)
  • Release: version tags (vX.Y.Z, tag = package.json version) drive .github/workflows/release.yml, which runs the verification chain and publishes to npm through trusted publishing (OIDC) with provenance — no token is stored in the repository.

License

MIT. See LICENSE.

Built for dsh-TUI.