@ai4rpg/dsh-tavern-stages
31.5/100
综合分
2
GitHub 星标
128
npm 周下载
—/5
用户评分
数据截至 2026/10/22 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @ai4rpg/dsh-tavern-stagesnpm 源 · @ai4rpg/dsh-tavern-stages 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · tool
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 13 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包@ai4rpg/dsh-tavern-stages @ 0.1.0
✓Node 引擎要求 ^22.19 || >=24 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/14 04:18:54
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 10 处,展示前 10 条)
- 读取本地文件lib/forge.js:30
const packageJson = JSON.parse(readFileSync(packagePath, 'utf8')); - 执行外部命令来自配置/变量lib/forge.js:49
const child = spawn(process.execPath, [resolveForgeCli(), ...args], { - 读取本地文件lib/prompts.js:46
const overlay = JSON.parse(readFileSync(candidate, 'utf8')); - 读取本地文件lib/subagents.js:98
entries = await readdir(agentsDir, { withFileTypes: true }); - 读取本地文件lib/subagents.js:109
const text = await readFile(join(agentsDir, entry.name), 'utf8'); - 读取本地文件src/forge.ts:54
const packageJson = JSON.parse(readFileSync(packagePath, 'utf8')) as { - 执行外部命令来自配置/变量src/forge.ts:81
const child = spawn(process.execPath, [resolveForgeCli(), ...args], { - 读取本地文件src/prompts.ts:48
const overlay = JSON.parse(readFileSync(candidate, 'utf8')) as unknown - 读取本地文件src/subagents.ts:112
entries = await readdir(agentsDir, { withFileTypes: true }) - 读取本地文件src/subagents.ts:121
const text = await readFile(join(agentsDir, entry.name), 'utf8')
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/cordis-plugin-include@deepseek-ai/cordis-plugin-loader@deepseek-ai/dsh-agent@deepseek-ai/dsh-commands@deepseek-ai/dsh-fs@deepseek-ai/dsh-llm@deepseek-ai/dsh-scope@deepseek-ai/dsh-session@deepseek-ai/dsh-session-projection@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-token-meter给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 分阶段推进卡牌设计
- 卡牌创作
- 界面开发
README
由 DeepSeek 最新模型翻译生成展开完整文档(README 剩余 1 节)
@ai4rpg/dsh-tavern-stages
将 tavern-cards 的三套 skill 工作流接入独立 @ai4rpg/dsh-stage-switch 插件的 DSH 插件。设计决策记录见 docs/DESIGN.zh.md。
注意:本插件与 stage-switch 基础包都发布在 @ai4rpg/ 命名空间。tavern 内容(agent 预设、技能与人格)在单独的 GitHub 内容仓 tavern-content 里分发,不上 npm。仓库中出现的 @deepseek-ai/ 包是上游 DSH 依赖(dsh-agent、dsh-fs、dsh-session 等),属于另一命名空间。
覆盖三套 tavern-cards 工作流:
- tavern-design:叙事设计 / design-spec 阶段
- tavern-cards:规划、条目创作、MVU/EJS/configure、开场白
- tavern-ui:状态栏 / 前端 UI
本仓交付什么、什么单独交付
本包是插件:dsh-stage-switch 的阶段配置、项目工作区工具(tavern_forge、焦点追踪、完成判定),以及供预设生成器构建委派行与子预设的人格加载器。
agent 预设(tavern-standard)、三个 tavern 技能体、主预设的 persona 文本与四个 agent persona 由配套的 tavern 内容仓(github.com/ai4rpg/tavern-content;请克隆安装)交付。仓里并排放着预设包 @ai4rpg/dsh-tavern-preset 与人格包 @ai4rpg/tavern-agents。预设声明 tavern-standard 并把本包的导出组合进去。部署细节见内容仓自己的 README 与安装指南。
本包提供什么
- 提供 tavernCardsStageConfig / createTavernCardsStageConfig() 给 dsh-stage-switch。
- 注册一个复合判定器,报告当前阶段是否完成。
- 完成判定针对焦点项目(焦点追踪器跟踪最近的 fs/observed 写入),逐阶段做内容检查;content/ui 额外要求 pack 成功(pack gate)。
- 读取 .cardrc.json、design-spec.md、创作规划.yaml、tavern-cards-state.json。
- forge CLI 以一个 tavern_forge 工具暴露给模型(打包即 command: 'pack'),对人类暴露 /tavern-forge + /tavern-pack;@ai4rpg/tavern-cards-forge 保持外部 npm 依赖。
- 导出 loadTavernAgents()(及 TavernAgentDescriptor),预设包的生成器据此为 @ai4rpg/tavern-agents 内容包里的每个 agent 声明一条委派行(provider: spawn、agentPreset: tavern-child-<name>)与一个子预设,单一事实源——行、预设与 persona 内容不会漂移。
- 技能注册交给预设包:CC BY-NC-SA 的技能体随预设包分发,经官方 skill-filesystem 行暴露。
用法
import { apply, tavernCardsStageConfig } from '@ai4rpg/dsh-tavern-stages'
import StageController from '@ai4rpg/dsh-stage-switch'
await ctx.plugin(StageController, tavernCardsStageConfig)
await ctx.plugin(apply)
安装
tavern 上下文是按会话的:只在 tavern agent 预设上创建的会话里加载;其它预设上的会话没有 route 阶段指令、goto_stage/tavern_forge 工具与 tavern 技能。预设选择由 DSH 的 Web UI 提供。
dsh plugin --profile <name> add file:<tavern-content 克隆里 tavern-preset 的绝对路径>
本插件发布在 npm;预设包从克隆的内容仓按绝对路径安装(dsh plugin 只接受绝对 spec)。profile 以预设包依赖的形式从 npm 拉入本插件。
要求 dsh 0.2 线不低于 0.2.1-rc.2:本包声明 engines.dsh: ">=0.2.1-rc.2 <0.3.0-0",dsh 的插件管理器在加载前检查它。
预设兼容性: 在预设部署中,本版本需要 0.2.0 预设包。0.1.0 预设仍声明已退役的 tavern: provider 与 subagents.enabled,与本插件不兼容。切换前请更新或重新生成预设。
预设的选用、默认值、校验与「编辑过的预设是快照」的语义都是内容仓的部署事务,见其 tavern-preset/docs/install-guide.zh.md。
配置
编程式嵌入见「用法」。预设部署里,参数(stage-switch 的 language、每个工具的 agentOptions)设在预设自己的行上;见预设包 README(tavern-preset/README.zh.md)。
Forge CLI 访问
forge CLI 作为外部 @ai4rpg/tavern-cards-forge 依赖到达(已发布到 npm,其 bin 由 dist/index.mjs 提供),由 pnpm/npm 从 node_modules 解析。
组合 @deepseek-ai/dsh-commands 时,插件注册:
- /tavern-forge <command> [args]:运行任意 forge 命令(init、configure、query、patch、pack、…)
- /tavern-pack <project>:tavern-cards-forge pack 的便捷包装
示例:
/tavern-forge init Demo --mvu
/tavern-forge configure Demo
/tavern-forge pack Demo
/tavern-pack Demo
这让打包在每个阶段都可用。
具名子代理
四个 agent persona(check-agent、conversion-agent、schema-agent、first-message-agent)住在 @ai4rpg/tavern-agents 内容仓包里(CC BY-NC-SA,与本 MIT 包分属两套许可)。本插件不注册委派 provider、也不挂载委派工具。loadTavernAgents() 读取每个 persona(name、frontmatter 描述、正文),预设包的生成器把这份清单变成:
- 每个 agent 一行 @deepseek-ai/dsh-tool-subagent,绑定 dsh 官方的 spawn provider(provider: spawn),并带 agentPreset: tavern-child-<name>;
- 每个 agent 一个子预设(tavern-child-<name>),其 persona 前缀就是 persona 正文,工具集按该 agent 的任务声明(check 预设只读;只有 conversion 预设带 bash)。
每个工具让模型把聚焦工作交给全新上下文的子代理(如「用 check-agent 检查这些条目」),而非自审自校。委派是异步的:工具立即返回一个 activation id,子代理的最终答案以父级的完成通知送达。依赖结果的后续步骤要等通知到达再继续;工具返回值里没有答案。子会话是真实、可恢复的会话:宿主可以向它发送后续消息,恢复时也会重新解析它记录的预设 id。因此 tavern-child-<name> 是稳定性契约——改名或删除会让已记录该 id 的会话无法恢复。
子代理是独立组合,不是父上下文的副本:persona 与工具集来自它自己的预设,agent-instructions 与 tavern 技能(skill-filesystem 带同一 customSkillDirs,外加 tool-skill)也在那里重新声明。正文若以相对某个 tavern skill 目录的路径引用文档,子代理会为该技能调一次 skill 工具;返回结果带该技能的 resource base 路径,子代理从那里读文档。
按工具的模型与推理力度
工具子代理继承父会话的模型路由,并在路由不变时继承其连接级推理力度;随包行保持 agentOptions 未设,因为不同模型接受的力度值不同。路由、力度与 maxTokens 是每个 tool-subagent- 行的 agentOptions 中的字段;按工具固定的做法见内容仓的 tavern-preset/README.zh.md。
关闭委派工具
插件没有委派开关;四个 tool-subagent-* 行与其子预设就是全部接线。在预设里禁用或删除这些行即可隐藏工具。
依赖
- @ai4rpg/dsh-stage-switch:^0.2.1,本插件扩展的阶段机。0.2.1 的 peer 范围同时接受 dsh 0.2.0 与 0.2.1 线;0.2.x 线通过强制 seam session-projection(由 dsh-base 组合)读取会话阶段记录,并带 language 行配置(默认 en,中文评审对话框用 zh)。
- @ai4rpg/tavern-cards-forge:^0.1.0,外部 forge CLI,其 bin 由 dist/index.mjs 提供。
- @ai4rpg/tavern-agents:承载四个 agent persona 的内容仓包(CC BY-NC-SA)。它留在本包清单之外,因为发布到 npm 的包不能依赖 file: 规格;personas 经内容仓里预设包的 file:../tavern-agents 依赖到达 profile,插件的 resolveAgentsDir() 在那里用 createRequire 命中它们。
stage-switch 与 forge 是普通版本化 npm 依赖;profile 的 pnpm 安装使它们能被预设行解析。DSH 的 profile 关闭了 autoInstallPeers,只作为 peer 出现的包不会被安装。
许可
MIT。agent persona 由 @ai4rpg/tavern-agents 交付,三个 tavern 技能体由 @ai4rpg/dsh-tavern-preset 交付(两者均为内容仓包,不上 npm),均为 CC BY-NC-SA 4.0(署名-非商业-相同方式共享),同步自 ai4rpg/tavern-cards。本包为纯 MIT。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
ai4rpg/tavern-stages
@ai4rpg/dsh-tavern-stages
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,330已汉化DeepSeek 客户端
74.5
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,636已汉化DSH
72.2
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,349已汉化DSH
71.6
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,311已汉化DSH
71.4
智能体运行框架路由HarnessRouter/harnessrouter
智能体 harness 的统一接口。
★ 3,984已汉化DSH
71.3
这是你的仓库?认领条目