{"_id":"@dsh-blue/blue-doudizhu","_rev":"3-54576bbeb3ac45564e17a1fcaf5b3455","name":"@dsh-blue/blue-doudizhu","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.0":{"name":"@dsh-blue/blue-doudizhu","version":"0.1.0","keywords":["blue","cordis","dsh","poker","doudizhu","tui"],"license":"MIT","_id":"@dsh-blue/blue-doudizhu@0.1.0","maintainers":[{"name":"geekcmore","email":"geekcmore@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"blue":{"manifest":"./blue.plugin.json"},"dist":{"shasum":"cdb87294552cbd80e6a6b459c9301fb06200e094","tarball":"https://registry.npmjs.org/@dsh-blue/blue-doudizhu/-/blue-doudizhu-0.1.0.tgz","fileCount":5,"integrity":"sha512-VkV2Xgoscdx1wSaNg10g23GagVlOus6GvVYEp/wA4D1fYVWsdZQcsFVG07VwIs1G2JMaM1DtRgX7d5mLImDYnw==","signatures":[{"sig":"MEYCIQCglMnpmrJb7xj57znHvpntEbSPPGXn84hBVDYJ1VwNuwIhAKNcxNirWo+TmZh6zkjaP2rr46r61evkdt8nWCzfnouN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32456},"main":"index.js","type":"module","_from":"file:/home/x/dev/blue-doudizhu/dsh-blue-blue-doudizhu-0.1.0.tgz","exports":{".":"./index.js","./package.json":"./package.json","./blue.plugin.json":"./blue.plugin.json"},"_npmUser":{"name":"geekcmore","email":"geekcmore@163.com"},"_resolved":"/home/x/dev/blue-doudizhu/dsh-blue-blue-doudizhu-0.1.0.tgz","_integrity":"sha512-VkV2Xgoscdx1wSaNg10g23GagVlOus6GvVYEp/wA4D1fYVWsdZQcsFVG07VwIs1G2JMaM1DtRgX7d5mLImDYnw==","_npmVersion":"11.12.1","description":"Blue 斗地主面板：字符牌面 + 复用本地模型的 Bot + 积分排行榜 + 记牌器 + 暂停/收起。","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@dsh-blue/blue":"*","@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/blue-doudizhu_0.1.0_1787819849782_0.013865142732933267","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@dsh-blue/blue-doudizhu","version":"0.2.0","keywords":["blue","cordis","dsh","poker","doudizhu","tui","overlay"],"license":"MIT","_id":"@dsh-blue/blue-doudizhu@0.2.0","maintainers":[{"name":"geekcmore","email":"geekcmore@163.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"blue":{"manifest":"./blue.plugin.json"},"dist":{"shasum":"c3263d034cd4b3b17afc28b1d1e87acc73c9f3f9","tarball":"https://registry.npmjs.org/@dsh-blue/blue-doudizhu/-/blue-doudizhu-0.2.0.tgz","fileCount":5,"integrity":"sha512-CT2j1HmAdDNqz7vkvK1fkWHuFBpI0AdKlDp+4mXcZ5A7mkwF9ccfBIfBXyoc6ejNSgb1xQLl2oEqlMZUJuISgA==","signatures":[{"sig":"MEUCIBCpSvOgoS7dMM68pTE7ZWpL7AylDe9dE/W2fqJ7JC2TAiEAmZ3yMHjrN5+bNm7uyxdwQEbICdgpRaOjixuEbwLab/g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37090},"main":"index.js","type":"module","exports":{".":"./index.js","./package.json":"./package.json","./blue.plugin.json":"./blue.plugin.json"},"gitHead":"6b39314d98f14de59da6b7863b9082918f8ea3e6","_npmUser":{"name":"geekcmore","email":"geekcmore@163.com"},"_npmVersion":"11.12.1","description":"Blue 斗地主面板：overlay 牌面（Esc 暂时收起，不打断牌局）+ 复用本地模型的 Bot + 积分排行榜 + 记牌器。","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"@dsh-blue/blue":">=0.1.1-rc.2 <0.2.0","@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/blue-doudizhu_0.2.0_1788111369021_0.38683718239807297","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@dsh-blue/blue-doudizhu","version":"0.3.0","description":"Blue 斗地主面板：overlay 牌面（Esc 暂时收起，不打断牌局）+ 复用本地模型的 Bot + 积分排行榜 + 记牌器。","type":"module","engines":{"node":"^22.19.0 || >=24.0.0"},"main":"src/index.js","exports":{".":"./src/index.js","./blue.plugin.json":"./blue.plugin.json","./package.json":"./package.json"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"blue":{"manifest":"./blue.plugin.json"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/dsh-blue/blue-doudizhu.git"},"homepage":"https://github.com/dsh-blue/blue-doudizhu#readme","bugs":{"url":"https://github.com/dsh-blue/blue-doudizhu/issues"},"scripts":{"test":"node --test","test:coverage":"node --test --experimental-test-coverage"},"dependencies":{"@dsh-blue/blue-api":"0.1.1-rc.2","@dsh-blue/blue-ui":"0.1.1-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"devDependencies":{"@deepseek-ai/cordis":"^4.0.1","@dsh-blue/blue-core":"0.1.1-rc.2"},"license":"MIT","keywords":["blue","cordis","dsh","poker","doudizhu","tui","overlay"],"_id":"@dsh-blue/blue-doudizhu@0.3.0","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-o/ZNGvsdd4ZUdGKOl1u+URdj9Mfxt5YgdnBgZmiA7M9Xvq/XMgJKroNWm5WRfKVaaX3Y1qmPxg7oYM5NiTYnZA==","shasum":"d2443c1deebbf05929eba5c73e521822a68706cf","tarball":"https://registry.npmjs.org/@dsh-blue/blue-doudizhu/-/blue-doudizhu-0.3.0.tgz","fileCount":10,"unpackedSize":46064,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICgnaiJ/EfyiR6eMP9KQQskOyqizaNgJ1k/5UeGK/T8HAiBp7PE3BpEUodduGlIVvQeDMcjy6sM07mMcmQtL3IVQWA=="}]},"_npmUser":{"name":"geekcmore","email":"geekcmore@163.com"},"directories":{},"maintainers":[{"name":"geekcmore","email":"geekcmore@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/blue-doudizhu_0.3.0_1788143860584_0.7883314808141202"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-27T08:37:29.661Z","modified":"2026-08-31T02:37:40.997Z","0.1.0":"2026-08-27T08:37:29.905Z","0.2.0":"2026-08-30T17:36:09.158Z","0.3.0":"2026-08-31T02:37:40.801Z"},"license":"MIT","keywords":["blue","cordis","dsh","poker","doudizhu","tui","overlay"],"description":"Blue 斗地主面板：overlay 牌面（Esc 暂时收起，不打断牌局）+ 复用本地模型的 Bot + 积分排行榜 + 记牌器。","maintainers":[{"name":"geekcmore","email":"geekcmore@163.com"}],"readme":"# @dsh-blue/blue-doudizhu\n\n![Blue 斗地主牌面](https://raw.githubusercontent.com/dsh-blue/blue-doudizhu/main/doudizhu.png)\n\nBlue 斗地主：核心牌面以 **overlay** 常驻显示——牌面不抢键盘焦点，你可以**看着牌直接输入 `/poker <编码>` 出牌**，牌面随每次出牌实时刷新。`/poker hide` 临时收起（不打断牌局）、`/poker show` 恢复，`/poker stop` 才真正停止。Bot 复用本地配置的模型，支持积分与排行榜、记牌器。\n\n本项目基于 [Blue](https://github.com/dsh-blue/blue) 构建：Blue 是 DeepSeek Harness 的终端 UI，插件以 Cordis 插件包 + Cordis 补丁的形式挂载。更多资料见 [Blue 文档](https://dsh-blue.dev/)。\n\n`0.3.0` 已迁移到 Blue canonical plugin manifest v1：`commands`（仅 `/poker`）和 `overlays` 是必需能力，`notifications.publish` 是可选能力。通知 owner 暂时不可用时牌局仍可运行；本地模型服务不存在或重载时，Bot 自动回退到规则 AI。\n\n## 命令\n- `/poker new` 开局（可带叫分 `/poker new 2`），自动弹出牌面 overlay\n- `/poker <编码>` 出牌（`0`=10、`jqka2`=JQKA2、`sx`=王炸、`p`=不出）——**牌面保持可见，直接输入即可**\n- `/poker hide` 临时收起牌面（牌局继续）；`/poker show` 重新展开\n- `/poker stop` 真正停止当前牌局（不计分、收起牌面）\n- `/poker pause` 暂停 Bot 出牌（牌面保持可见）；`/poker resume` 恢复并展开牌面\n- `/poker score` 记分；`/poker end` 结束比赛看排行榜\n- `/poker memo` 开关记牌器\n- `/poker bot` 切模型Bot / `/poker heuristic` 切规则AI\n\n## 前置条件：先安装 Blue\n\n本插件是一个 **Blue 功能**（`cordis.patch.yml` + `bluePluginHost` 插件包），依赖 Blue 终端 UI 与 `bluePluginHost` 能力。**安装本插件前，你必须先装好 Blue**（`>=0.1.1-rc.2`）：\n\n```sh\nnpm i -g @deepseek-ai/dsh\ndsh plugin --profile blue add @dsh-blue/blue@0.1.1-rc.2\n```\n\n> 🔔 必须先有 `blue` profile 且已安装 `@dsh-blue/blue`，再执行下面的步骤；否则会提示 `bluePluginHost` 能力缺失 / `@dsh-blue/blue` 解析失败。Blue 的安装与首次配置参见 [Blue 仓库](https://github.com/dsh-blue/blue) 与 [Blue 文档](https://dsh-blue.dev/en/guide/)。\n\n## 安装\n\n以下命令均已实测可用（`dsh plugin --profile blue add` 系列）。\n\n### 方式一：npm（推荐）\n```sh\ndsh plugin --profile blue add @dsh-blue/blue-doudizhu@0.3.0\n```\n也可以省略版本号装最新版：`dsh plugin --profile blue add @dsh-blue/blue-doudizhu`\n\n### 方式二：GitHub 源\n```sh\ndsh plugin --profile blue add github:dsh-blue/blue-doudizhu\n```\n也可以直接用 git URL：\n```sh\ndsh plugin --profile blue add git+https://github.com/dsh-blue/blue-doudizhu.git\n```\n\n安装后重启 Blue（`dsh --profile blue`），即可使用 `/poker` 命令。\n\n## 运行边界\n\n- 规则、牌局动作和 heuristic Bot 是纯 domain 代码，不依赖 Blue 或终端 renderer。\n- 牌面只消费当前 domain 派生的 readonly projection，并通过 `@dsh-blue/blue-ui` 构造公开 wire nodes。\n- Harness 的 `llm` / `agentDefaultModel` 由独立 Cordis 子 Fiber 适配；provider unload、插件 unload 或新牌局都会 abort 旧 stream 并拒绝 late result。\n- 插件 Fiber 卸载时会停止 driver、关闭 overlay 并清除全部 owner-scoped 状态；没有进程级可变单例。\n\n开发验证：\n\n```sh\nnpm install --ignore-scripts\nnpm test\nnpm run test:coverage\n```\n\n## 相关链接\n- Blue 仓库：https://github.com/dsh-blue/blue\n- Blue 文档：https://dsh-blue.dev/\n","readmeFilename":"README.md","homepage":"https://github.com/dsh-blue/blue-doudizhu#readme","repository":{"type":"git","url":"git+https://github.com/dsh-blue/blue-doudizhu.git"},"bugs":{"url":"https://github.com/dsh-blue/blue-doudizhu/issues"}}