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

中文极简模式 GemChance/dsh-chinese-minimal-mode

DeepSeek Harness
GemChance24 天前有提交已提供中文文档扫描:含敏感能力

编辑中文系统提示词,一键切换极简助手预设

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · skill
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 24 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 91 处,展示前 77 条)
  • 读取本地文件
    index.mjs:131
    return JSON.parse(readFileSync(new URL('./package.json', import.meta.url), 'utf8')).version
  • 读取本地文件
    index.mjs:228
    return readFileSync(starterPromptFile(directory), 'utf8')
  • 读取本地文件
    index.mjs:243
    return { ok: true, path, text: readFileSync(path, 'utf8') }
  • 读取本地文件
    index.mjs:285
    packagedPromptCache = readFileSync(join(packagedPresetDir(), 'prompt.md'), 'utf8')
  • 读取本地文件
    index.mjs:377
    if (!existsSync(composition)) return { ok: false, code: 'compositionMissing', params: { path: composition }, error: '找不到组成文件:' + composition }
  • 读取本地文件
    index.mjs:378
    const text = readFileSync(composition, 'utf8')
  • 删除本地文件递归
    index.mjs:893
    rmSync(created.dir, { recursive: true, force: true })
  • 发起网络请求
    client.js:898
    return asJson(await fetch(ROUTES.list, { method: "GET", headers: { accept: "application/json" } }))
  • 发起网络请求
    client.js:904
    await fetch(ROUTES.state + "?id=" + encodeURIComponent(id), {
  • 发起网络请求
    client.js:914
    await fetch(url, {
  • 发起网络请求
    client.js:1563
    const response = await fetch(ROUTES.history + "?id=" + encodeURIComponent(draft.id) + "&n=" + encodeURIComponent(picked))
  • 写入本地文件
    atomic.mjs:66
    writeFileSync(temporary, text, 'utf8')
  • 删除本地文件
    atomic.mjs:78
    rmSync(staged.temporary, { force: true })
  • 读取本地文件
    atomic.mjs:122
    if (existsSync(file) && statSync(file).isDirectory()) {
  • 读取本地文件
    atomic.mjs:122
    if (existsSync(file) && statSync(file).isDirectory()) {
  • 读取本地文件
    atomic.mjs:141
    if (existsSync(one.file)) {
  • 删除本地文件
    atomic.mjs:158
    rmSync(one.file, { force: true })
  • 删除本地文件
    atomic.mjs:179
    rmSync(backup, { force: true })
  • 读取本地文件
    atomic.mjs:211
    entries = readdirSync(directory)
  • 读取本地文件
    atomic.mjs:217
    if (existsSync(file)) continue
  • 写入本地文件
    atomic.mjs:221
    renameSync(join(directory, backups[0]), file)
  • 写入本地文件
    atomic.mjs:231
    writeFileSync(temporary, text, 'utf8')
  • 删除本地文件
    atomic.mjs:235
    rmSync(temporary, { force: true })
  • 读取本地文件
    preset-backend/index.mjs:50
    if (!existsSync(file)) return {}
  • 读取本地文件
    preset-backend/index.mjs:52
    const parsed = parseComposition(readFileSync(file, 'utf8'))
  • 读取本地文件
    preset-backend/index.mjs:147
    return statSync(dir).isDirectory() && existsSync(join(dir, SEED_MARKER))
  • 读取本地文件
    preset-backend/index.mjs:147
    return statSync(dir).isDirectory() && existsSync(join(dir, SEED_MARKER))
  • 读取本地文件
    defaults.mjs:22
    if (!existsSync(join(home, '.agent-presets', presetId, 'prompt.md'))) {
  • 读取本地文件
    defaults.mjs:26
    if (!existsSync(file)) {
  • 写入本地文件
    defaults.mjs:27
    mkdirSync(home, { recursive: true })
  • 读取本地文件
    defaults.mjs:31
    const text = readFileSync(file, 'utf8')
  • 读取本地文件
    composition.mjs:910
    if (existsSync(join(root, '@deepseek-ai')) === false) return []
  • 读取本地文件
    composition.mjs:917
    for (const entry of readdirSync(join(root, '@deepseek-ai'))) {
  • 读取本地文件
    composition.mjs:919
    if (existsSync(join(nested, '@deepseek-ai'))) roots.push(nested)
  • 读取本地文件
    composition.mjs:965
    ? roots.some((each) => existsSync(join(each, pkg)))
  • 读取本地文件
    meta.mjs:132
    text = readFileSync(presetMetaPath(directory), 'utf8')
  • 读取本地文件
    journal.mjs:57
    if (!existsSync(file)) return []
  • 读取本地文件
    journal.mjs:60
    raw = readFileSync(file, 'utf8')
  • 读取本地文件
    seed.mjs:119
    if (!existsSync(sourceDir)) {
  • 写入本地文件
    seed.mjs:123
    mkdirSync(presetDir, { recursive: true })
  • 读取本地文件
    seed.mjs:132
    if (existsSync(target)) {
  • 读取本地文件
    seed.mjs:134
    if (REFRESHABLE_MODULES.includes(name) && existsSync(source)) {
  • 读取本地文件
    seed.mjs:136
    const shipped = readFileSync(source, 'utf8')
  • 读取本地文件
    seed.mjs:137
    if (readFileSync(target, 'utf8') !== shipped) {
  • 读取本地文件
    seed.mjs:161
    if (!existsSync(source)) {
  • 读取本地文件
    postures.mjs:70
    return readFileSync(join(DIR, id + '.' + lang + '.md'), 'utf8')
  • 读取本地文件
    postures.mjs:72
    return readFileSync(join(DIR, id + '.' + (lang === 'zh' ? 'en' : 'zh') + '.md'), 'utf8')
  • 读取本地文件
    assistants.mjs:74
    return existsSync(seedMarkerPath(root))
  • 写入本地文件
    assistants.mjs:92
    mkdirSync(root, { recursive: true })
  • 写入本地文件
    assistants.mjs:93
    writeFileSync(seedMarkerPath(root), JSON.stringify({ seededAt: new Date().toISOString() }) + '\n', 'utf8')
  • 读取本地文件
    assistants.mjs:103
    if (!existsSync(join(dir, 'prompt.md'))) return false
  • 读取本地文件
    assistants.mjs:104
    if (existsSync(join(dir, 'prompt-reader.mjs'))) return true
  • 读取本地文件
    assistants.mjs:108
    return readFileSync(join(dir, COMPOSITION_FILE), 'utf8').includes("'./prompt-reader.mjs'")
  • 读取本地文件
    assistants.mjs:126
    children = readdirSync(root, { withFileTypes: true })
  • 读取本地文件
    assistants.mjs:268
    if (existsSync(dir)) return { ok: false, code: 'dirExists', params: { path: dir }, error: `目录已存在:${dir}` }
  • 删除本地文件递归
    assistants.mjs:276
    rmSync(dir, { recursive: true, force: true })
  • 写入本地文件
    assistants.mjs:292
    writeFileSync(join(dir, COMPOSITION_FILE), composition, 'utf8')
  • 读取本地文件
    preset-backend/declarative.mjs:108
    if (!existsSync(file)) return null
  • 读取本地文件
    preset-backend/declarative.mjs:109
    const rows = parseComposition(readFileSync(file, 'utf8'))
  • 写入本地文件
    preset-backend/declarative.mjs:188
    renameSync(target, trash)
  • 写入本地文件
    preset-backend/declarative.mjs:199
    renameSync(trash, target)
  • 删除本地文件递归
    preset-backend/declarative.mjs:205
    rmSync(trash, { recursive: true, force: true })
  • 读取本地文件
    base-composition.mjs:105
    const text = readFileSync(file, 'utf8')
  • 读取本地文件
    base-composition.mjs:241
    if (!existsSync(candidate)) continue
  • 读取本地文件
    base-composition.mjs:291
    if (BASE_MODE_IDS.some((mode) => existsSync(join(presets, mode + '.patch.yml')))) return presets
  • 读取本地文件
    preset/prompt-reader.mjs:64
    info = statSync(this.path)
  • 读取本地文件
    preset/prompt-reader.mjs:73
    const next = readFileSync(this.path, 'utf8')
  • 读取本地文件
    preset/prompt-tool.mjs:125
    for (const line of readFileSync(META_PATH, 'utf8').split('\n')) {
  • 读取本地文件
    preset/prompt-tool.mjs:184
    return '当前系统提示词(' + PROMPT_PATH + '):\n\n' + readFileSync(PROMPT_PATH, 'utf8')
  • 读取本地文件
    preset/prompt-tool.mjs:196
    current = readFileSync(PROMPT_PATH, 'utf8')
  • 写入本地文件
    preset/prompt-tool.mjs:208
    mkdirSync(dirname(PROMPT_PATH), { recursive: true })
  • 写入本地文件
    preset/prompt-tool.mjs:236
    mkdirSync(dirname(PROMPT_PATH), { recursive: true })
  • 删除本地文件
    preset/prompt-tool.mjs:328
    if (gateReady) rmSync(join(dirname(PROMPT_PATH), GATE_MARKER), { force: true })
  • 写入本地文件
    preset/prompt-tool.mjs:329
    else writeFileSync(join(dirname(PROMPT_PATH), GATE_MARKER), 'this host has no tools/pre-execute event\n', 'utf8')
  • 写入本地文件
    preset/prompt-tool.mjs:354
    renameSync(from, to)
  • 写入本地文件
    preset/prompt-tool.mjs:368
    writeFileSync(temporary, text, 'utf8')
  • 删除本地文件
    preset/prompt-tool.mjs:372
    rmSync(temporary, { force: true })
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 编辑系统提示词
  • 一键切换极简预设

DeepSeek Harness 极简预设,系统提示词用 Markdown 写,可随时改

README

由 DeepSeek 最新模型翻译生成
DSH 中文极简自定义模式 完整保留 dsh-custom-mode 的设置页:可以手动编辑系统提示词、切换基础模式、开关插件行并管理多个助手。本分支只修改首次安装默认值:基础模式为极简模式,完整系统提示词为 你是一个中文助手。 安装 从 GemChance 的 GitHub 稳定版本安装: dsh plugin --profile web add https://codeload.github.com/GemChance/dsh-chinese-minimal-mode/tar.gz/refs/tags/v2.3.0 重启为这个 profile 提供服务的进程。设置页上的版本号才是正在运行的版本。 桌面端从应用里的插件页安装。CLI 不能改 profiles/desktop。 在 Windows 上,install.sh 是 bash,而且 PATH 里要有 dsh。否则用 DeepSeek Harness 自带的 dsh,或 node node_modules/@deepseek-ai/dsh/lib/bin.js。 使用 1. 打开设置 → 自定义模式。 2. 改系统提示词。保存按钮在编辑器下面。 3. settings.yaml 里还没有 agent-presets.default 时,新会话用这个助手。已经写过的值保持原样。
展开完整文档(README 剩余 1 节)
DSH 中文极简自定义模式

完整保留 dsh-custom-mode 的设置页:可以手动编辑系统提示词、切换基础模式、开关插件行并管理多个助手。本分支只修改首次安装默认值:基础模式为极简模式,完整系统提示词为 你是一个中文助手。

安装

从 GemChance 的 GitHub 稳定版本安装:

dsh plugin --profile web add https://codeload.github.com/GemChance/dsh-chinese-minimal-mode/tar.gz/refs/tags/v2.3.0

重启为这个 profile 提供服务的进程。设置页上的版本号才是正在运行的版本。

桌面端从应用里的插件页安装。CLI 不能改 profiles/desktop。

在 Windows 上,install.sh 是 bash,而且 PATH 里要有 dsh。否则用 DeepSeek Harness 自带的 dsh,或 node node_modules/@deepseek-ai/dsh/lib/bin.js。

使用

1. 打开设置 → 自定义模式。
2. 改系统提示词。保存按钮在编辑器下面。
3. settings.yaml 里还没有 agent-presets.default 时,新会话用这个助手。已经写过的值保持原样。

首次安装会创建“自定义模式”,默认选中极简模式,并把 prompt.md 初始化为 你是一个中文助手。之后所有内容都可以继续在设置页手动修改,升级不会覆盖已有用户数据。

提示词是 prompt.md。下一步组装模型输入时会重读这个文件。历史可以把旧稿载入编辑器;载入不落盘。打开页面之后文件被改过时,这一次保存会被拒绝。模型要改同一份文件,只能走 custom_prompt,并且先问过你。

页面分成两支。当前助手改的是已经打开的这一位,基础模式五档都可以点。新建助手只在点「新增助手」时写入:开发、写作、聊天可以点,工具底只有官方标准模式是亮的。其余四档是暗的,在这一支里点不了。

| 姿态 | 新建之后 |
| 开发 | 官方标准模式,工具按出厂。 |
| 写作 | 官方标准模式。终端关,文件工具开。 |
| 聊天 | 官方标准模式。文件和终端关。 |

边界

- 不替换标准、PTC、极简、创造。
- 不附带角色扮演预设。
- 不用 CLI 改桌面端 profile。headless 不会启动使用 agent preset 的会话。

兼容

声明范围:>=0.1.5-rc.2 <0.2.0-0 || >=0.1.6-alpha.1 <0.2.0-0 || >=0.1.7-alpha.1 <0.2.0-0 || >=0.2.0-0 <0.3.0-0 || >=0.2.1-alpha.1 <0.3.0-0

| dsh | 声明 | 2.3.0 核对 |
| 0.2.0-rc.2 | 声明支持 | 本版发布前的 Windows web profile |
| 0.2.1-alpha.1 | 声明支持,CI 有这条腿 | 本版没有重跑 |
| 0.1.7-rc.2 | 声明支持,CI 有这条腿 | 本版没有重跑 |

单元套件在 WSL2 Ubuntu 26.04 下也通过了(只有 Node,没有 dsh 进程,没有浏览器)。这不是 Linux 桌面的结果。

文档

- docs/TROUBLESHOOTING.zh.md — 装到旧版、基础模式不可用、升级停在半截
- docs/ARCHITECTURE.zh.md — 提示词在哪被读,依赖宿主的哪些调用
- docs/PUBLISHING.zh.md — tag 与发布
- CONTRIBUTING.zh.md — 给人看
- AGENTS.md — 给 agent 看

许可证

MIT
预览分享卡片长什么样 ↓GemChance/dsh-chinese-minimal-mode
分享 · DeepSeek Harness Hub
GemChance/dsh-chinese-minimal-mode

编辑中文系统提示词,一键切换极简助手预设

回到顶部