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

AI 角色扮演引擎 clarkzhao/dsh-airp

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

DeepSeek Harness 上的 AIRP 引擎:深 module WorldKernel + 浅 Host…

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

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

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add clarkzhao/dsh-airp
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · chat
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 32 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/9/25) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-airp(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/7 01:12:50

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

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

读写/删除本地文件
查看扫描证据(共 16 处,展示前 16 条)
  • 写入本地文件
    src/host/stage.ts:106
    await mkdir(stageDir, { recursive: true, mode: 0o700 })
  • 写入本地文件
    src/host/stage.ts:108
    await copyFile(input.filePath, dest)
  • 读取本地文件
    src/host/stage.ts:164
    const info = await stat(filePath)
  • 读取本地文件
    src/host/stage.ts:166
    return { mediaType, body: await readFile(filePath) }
  • 读取本地文件
    src/pack/catalog.ts:95
    const names = await readdir(root, { withFileTypes: true })
  • 读取本地文件
    src/pack/pack.ts:63
    const def = yaml.load(await readFile(file, 'utf8')) as CheckDef
  • 读取本地文件
    src/pack/pack.ts:72
    const parsed = parseFrontmatter(await readFile(file, 'utf8'))
  • 读取本地文件
    src/pack/pack.ts:89
    lore[key] = { key, body: await readFile(file, 'utf8') }
  • 读取本地文件
    src/pack/pack.ts:329
    return await readFile(path, 'utf8')
  • 读取本地文件
    src/pack/pack.ts:337
    const names = await readdir(dir)
  • 读取本地文件
    src/pack/pack.ts:346
    const names = await readdir(dir)
  • 写入本地文件
    src/pack/scaffold.ts:271
    await mkdir(join(dir, 'checks'), { recursive: true })
  • 写入本地文件
    src/pack/scaffold.ts:272
    await mkdir(join(dir, 'characters'), { recursive: true })
  • 写入本地文件
    src/pack/scaffold.ts:273
    await mkdir(join(dir, 'lore'), { recursive: true })
  • 写入本地文件
    src/pack/scaffold.ts:277
    await mkdir(join(path, '..'), { recursive: true })
  • 写入本地文件
    src/pack/scaffold.ts:278
    await writeFile(path, body, 'utf8')
扫描于 2026/11/2(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

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

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

功能亮点

  • AI角色扮演

DeepSeek Harness 的 AI 角色扮演插件

README

由 DeepSeek 最新模型翻译生成
dsh-airp DeepSeek Harness 上的 AIRP 引擎:深 module WorldKernel + 浅 Host adapter。 - GitHub:https://github.com/clarkzhao/dsh-airp - topic:dsh-plugin - 规范:docs/engine.md · 智能体入口:AGENTS.md · 术语:docs/glossary.md · 写包:docs/worldbook-authoring.md · 规划:ROADMAP.md 一句话:LLM 只提案和叙述;规则把 State 从 T 写成 T+1。 能力 - WorldKernel.turn / match:鉴定、叙事事实、GM、检索 - Pack.load / validate / catalog:YAML 索引 + Markdown 细节;bundled + ~/.dsh/airp-packs + 自定义路径 - 官方示例(不是产品主线):packs/lotm-tingen、packs/jzdh-dingjiang。
展开完整文档(README 剩余 1 节)
dsh-airp

DeepSeek Harness 上的 AIRP 引擎:深 module WorldKernel + 浅 Host adapter。

- GitHub:https://github.com/clarkzhao/dsh-airp
- topic:dsh-plugin
- 规范:docs/engine.md · 智能体入口:AGENTS.md · 术语:docs/glossary.md · 写包:docs/worldbook-authoring.md · 规划:ROADMAP.md

一句话:LLM 只提案和叙述;规则把 State 从 T 写成 T+1。

能力

- WorldKernel.turn / match:鉴定、叙事事实、GM、检索
- Pack.load / validate / catalog:YAML 索引 + Markdown 细节;bundled + ~/.dsh/airp-packs + 自定义路径
- 官方示例(不是产品主线):packs/lotm-tingen、packs/jzdh-dingjiang。自己的包写到 ~/.dsh/airp-packs/
- 工具名必须匹配 ^[a-zA-Z0-9_-]+$:lore_get / state_read / check_propose / state_propose_fact / check_match / pack_validate / pack_scaffold / pack_open_play / pack_interview
- 可选舞台 airpStage:/airp-media 把本地图变成同源绝对 http(s) URL,叙述者嵌进对白。不出图引擎,不绑 grok-image。

世界包生态

世界包是数据,不是插件代码。引擎只认目录里有没有合法的 pack.yaml。

packs/lotm-tingen/ # 官方 demo,进 git packs/jzdh-dingjiang/ # 官方 demo,进 git packs/<your-id>/ # 本地实验;默认被 .gitignore ~/.dsh/airp-packs/<id>/ # 推荐的用户/社区安装位置任意/含 pack.yaml 的目录 # 开局卡底部粘贴路径

消费者(airp-play)开局选包;创造者(airp-author)用 pack_interview 取 8 问 → ask_user_question → pack_scaffold → 改文件 → pack_validate → pack_open_play。pack_open_play 不会热切本会话:已有产出不能换 preset,交接卡只告诉你新开一条 airp-play 并粘贴路径。

分享一个包:复制 templates/community-pack/,或把目录打成 zip / 开独立 git 仓。别人解压到 ~/.dsh/airp-packs/<id>/ 即可。本地校验:

npm run pack:validate -- ~/.dsh/airp-packs/my-pack

不要把社区包 PR 进本仓 packs/,除非它要成为下一个官方 demo。Issue 用仓库模板(pack / authoring / engine),说明见 CONTRIBUTING.md。

开发

npm install
npm test
npm run typecheck
npm run build

安装到 DSH web profile

dsh plugin --profile web add /path/to/dsh-airp
或
npx @deepseek-ai/dsh plugin --profile web add /path/to/dsh-airp

预设随 bundle 一起装,不需要再手动复制。presets/airp-play.patch.yml 与 presets/airp-author.patch.yml 是 bundle patch 里的 @deepseek-ai/dsh-agent-preset 声明行,dsh plugin add 之后两个 preset 直接出现在预设列表里。

DSH 0.2.0 起 ~/.dsh/.agent-presets/<id>/ 这个旧目录已经没有任何东西在读(见 @deepseek-ai/dsh-agent-preset skill editing-cordis-compositions 的 "Migrate a legacy preset")。旧的双目录安装法在 0.2.0 上表现为「preset 列表里什么都没有」。升级后可以把旧目录删掉。

创造者 preset 的 worldbook-authoring skill 走的是 DSH 的用户 skill root (dsh-skill-filesystem 默认扫描 ~/.dsh/skills),需要装一次:

mkdir -p ~/.dsh/skills
cp -R skills/worldbook-authoring ~/.dsh/skills/worldbook-authoring

不要带 tool-cordis,也不要在 play preset 里挂 play-mask: tools.restrict 在挂载时全局工具表还是空的,New Session 会失败。

- AIRP 消费者(airp-play)会弹「加载世界」卡:新建或空白会话切到该 preset 都会问一次。
- AIRP 创造者(airp-author)会弹「编辑世界」卡,并可「从零写一个新世界包」。
- 卡片底部可粘贴含 pack.yaml 的目录;选自定义后不会再静默掉回廷根。

sandbox 只能写工作区。用户包推荐写到 ~/.dsh/airp-packs/(host 插件写盘,不经过 agent sandbox)。
/retry 由 HostRuntime 回放事件、把 State 裁到上一 check 之前;若 DSH 上有 sessions.fork 会顺带分叉会话日志。Kernel 自己不做时间旅行。

IC 文本按当前包的 pack.yaml tags 词表打标;命中则 Host 在 agent/pre-step 先 match,再让模型只叙述。
预览分享卡片长什么样 ↓clarkzhao/dsh-airp
分享 · DeepSeek Harness Hub
clarkzhao/dsh-airp

DeepSeek Harness 上的 AIRP 引擎:深 module WorldKernel + 浅 Host…

这是你的仓库?认领条目

回到顶部