npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-genshin-account

v0.60.5

Published

读取原神账号的角色、武器、圣遗物与抽卡记录:米游社扫码登录 + 游戏内角色展柜,提供 6 个 agent 工具与「原神启动」浏览页。 / Read your Genshin account (characters, weapons, artifacts, wish history) with agent tools and a browsing page.

Readme

dsh-genshin-account

DeepSeek Harness 插件:把你的原神账号读成一份快照,然后在两处用起来 —— 对话里问(agent 工具),界面上看(侧边栏「原神启动」)。

A DeepSeek Harness plugin that reads your Genshin Impact account into one snapshot and exposes it as agent tools plus a GUI panel.


截图

概览:账号主卡、展柜角色评分一览、元素分布与进度。

概览

角色页:完整练度、五件圣遗物与逐条副词条评分。

角色

抽卡页:星级分布、各池保底进度、每月抽卡量(柱 + 折线)。

抽卡

五星记录与出货区间:欧非分档、「歪」标记、区间分布。

五星记录


能做什么

侧边栏「原神启动」六个页签:

| 页签 | 内容 | | --- | --- | | 概览 | 账号主卡(昵称 / UID / 冒险等级 / 区服 / 主元素)、角色·五星·四星·展柜数字块、展柜角色评分一览、元素分布、等级分布、进度与数据状态 | | 角色 | 左侧列表(官方头像 + 元素描边,可搜索、按元素筛选、按等级/稀有度/命座/名字排序),右侧完整练度:命座、三段天赋、面板、武器、五件圣遗物与评分、生效套装效果;右上角可导出长图 | | 抽卡 | 总抽数 / 五星 / 四星 / 平均出金 / 欧非比、各池抽数与保底进度、星级分布、每月抽卡量、五星出货区间、五星记录(带欧非分档与「歪」标记) | | 武器 | 「我的」与「图鉴」两种模式:我的 = 已拥有并按类型/星级筛选;图鉴 = 官方全量 253 把(含未拥有),图标一律彩色,未拥有的用虚线边框 + 角标区分,可按类型、星级、拥有状态筛选与搜索 | | 设置 | UID、扫码登录、安全验证、展柜重新同步 | | 关于 | 版本、仓库、博客、功能说明 |

明暗主题自适应;所有游戏图标来自官方 CDN,元素图标内联在包里,离线可用。


安装

dsh plugin --profile web add dsh-genshin-account

也可以直接从 GitHub 装(源码最新):

dsh plugin --profile web add github:EagleClark/dsh-genshin-account

本地开发可以装成 link(改完即时生效):

dsh plugin --profile web add <仓库绝对路径>

装完重启 DSH,刷新页面即可看到「原神启动」。


配置(都在页面里,不用改文件)

第一次打开会落在设置页,三步:

  1. 填国服 UID —— 服务器按 UID 自动判断(1/2 → 天空岛 cn_gf01,5 → 世界树 cn_qd01)
  2. 扫码登录 —— 点「生成二维码」,用手机米游社 App 扫码确认;会话由插件自己从 Set-Cookie 取,不需要你复制 Cookie
  3. 安全验证 —— 拖一次 geetest 滑块,通过后插件自动换取 x-rpc-challenge 并立刻读取账号

验证是按接口发放的(/index 与 /character/list 各一次),所以可能连续弹两次滑块;通过后自动完成,不需要重新配置。

页面里还有接口诊断:用当前会话依次请求三个接口并逐个报告返回码,排查时比猜有用。

Cookie 只存在本机,/state 从不回显(只回 hasCookie: true/false)。


数据来源

| 数据 | 来源 | 需要登录 | | --- | --- | --- | | 全部角色、等级、命座、三段天赋、武器名与等级、圣遗物部位与等级 | 养成计算器 api-takumi.mihoyo.com/.../sync/avatar/detail | 是 | | 圣遗物主副词条、角色面板、武器精炼 | 游戏内「角色展柜」→ profile.microgg.cn/api/uid/<uid>(国际服回落 enka.network) | 否,按 UID 公开 | | 深境螺旋 / 幻想真境剧诗 / 幽境危战 / 成就 / 好感 | 展柜 payload 的 playerInfo 与 role_combat / hard_challenge | 否 | | 祈愿记录 | getGachaLog(需手动粘贴一次链接) | 否,但 authkey 约 24 小时过期 |

展柜是圣遗物副词条唯一的通路:把角色放进游戏内「角色展柜」并开启「显示详情」,等 5 分钟,再同步。上限 8 个角色,其余角色只有部位、散件名和等级。

祈愿链接这样拿:游戏内打开一次祈愿历史,然后运行

iex(irm 'https://www.lelaer.com/cn.ps1')

把复制到的整段链接粘进抽卡页即可。


评分怎么算

插件给每件圣遗物两个可解释的数,都不假装是伤害计算。

CV(暴击值)

CV = 暴击率 × 2 + 暴击伤害,只算副词条;理之冠主词条是双暴时也计入(暴击率 31.1% 记 62.2)。

| 部位 | 拉完了 | 及格 | 良好 | 小毕业 | 大毕业 | 传家宝 | | --- | --- | --- | --- | --- | --- | --- | | 生之花 / 死之羽 | <30 | 30–34 | 35–39 | 40–44 | 45–49 | ≥50 | | 时之沙 / 空之杯 | <25 | 25–29 | 30–34 | 35–39 | 40–44 | ≥45 | | 理之冠 | <50 | 50–59 | 60–69 | 70–79 | 80–94 | ≥95 |

五件合计按「各档下限之和」:及格 160 / 良好 190 / 小毕业 220 / 大毕业 250 / 传家宝 285。

权重评分(角色页默认)

评分 = Σ(词条数值 × 官方系数 × 该角色权重),只算副词条 + 理之冠主词条。

| 词条 | 系数 | 词条 | 系数 | | --- | --- | --- | --- | | 暴击率 | ×2 | 大攻击 / 大生命 | ×1.33 | | 暴击伤害 | ×1 | 大防御 | ×1.06 | | 元素精通 | ×0.33 | 小攻击 | ×0.199 | | 元素充能 | ×1.1979 | 小生命 / 小防御 | ×0.0172 / ×0.221 |

角色权重在 data/character-weights.json(133 条 × 8 项,按百分比存,覆盖全部角色),未收录的回落「通用」模板;取值约定与新角色怎么补见 data/weights-notes.md。 一次满档强化约 7.75 分;六档门槛:普通部位 23.3 / 31 / 38.8 / 46.5 / 54.3,理之冠 85.3 / 93 / 100.8 / 108.5 / 116.3,五件合计 178.3 / 217 / 255.8 / 294.5 / 333.3。

角色页可在 CV / 权重评分 之间切换,卡片与总分一起变。

强化次数与初始词条

接口只给最终数值,但每次强化只能取官方四档,所以数值可以唯一分解成强化次数:卡片上 3 次 是精确次数,≈4 表示需要靠整件总次数约束求解。总次数减升级次数就是初始词条数(5★ +20 共 5 次)。


抽卡

  • 池子:新手 / 常驻 / 角色活动(301 与 400 共享保底)/ 武器活动 / 集录
  • 平均出金、欧非比(相对 1.6% 基础出率的倍率)
  • 五星记录带六级欧非分档与「歪」标记(常驻五星判定)
  • 图表:星级分布(横向堆叠柱)、每月抽卡量(柱 + 折线双轴)、五星出货区间(柱 + 数值标签)

图表用 Chart.js 4(MIT)。库已内联进客户端包,不新增任何路由,也不显示第三方标识。


Agent 工具

装好后自动获得 6 个工具:

| 工具 | 作用 | | --- | --- | | genshin_account_overview | 账号总览:数量、元素分布、进度、最佳圣遗物 | | genshin_characters | 角色列表,按元素 / 武器类型 / 最低等级过滤与排序 | | genshin_character | 单个角色完整练度(支持中文名 / 英文名 / 别名 / id) | | genshin_artifacts | 圣遗物筛选与排序(套装、部位、角色、最低 CV) | | genshin_weapons | 武器筛选(类型、最低稀有度、是否已装备) | | genshin_gacha | 祈愿分析:抽数、平均出金、欧非比、各池保底、五星记录 |

返回结构化 JSON 同时附一份给人看的文本;数据不可用时给可读的错误,不抛异常。


数据文件

data/ 是精简过的中文字典,运行时不需要网络:

| 文件 | 内容 | | --- | --- | | characters.json | 124 个角色:中文名 / 英文名 / 元素 / 武器类型 / 稀有度 / 别名 | | weapons.json | 255 把武器:中文名 / 类型 / 稀有度 | | artifact-sets.json | 63 套圣遗物:中文名 + 2 / 4 件套效果原文 | | character-weights.json | 133 个角色的权重评分系数(覆盖全部 124 个角色 + 形态变化的复用项,见 data/weights-notes.md) | | weapon-details.json | 90 级基础攻击、副属性、精炼 1–5 被动原文 | | aliases.json / names-zh.json | 别名与 hash 索引 | | skill-orders.json | 每角色的「普攻 / 战技 / 爆发」顺序(技能 id 不按此递增,按 id 排序会张冠李戴) | | element-icons/*.webp | 官方七元素图标母图;scripts/build-element-icons.mjs 转成 96px PNG 内联进包 |


已知限制

  • 角色与武器需要登录态;展柜按 UID 公开可读,是唯一例外
  • 圣遗物只覆盖展柜角色(最多 8 个),其余角色只有部位、散件名与等级
  • 展柜有 5 分钟延迟
  • 逆向接口:签名盐与 app_version 会随官方改版失效(-10001),届时在高级设置里更新;频繁请求会被限流
  • CV 与权重评分是通用质量指标,不等于角色收益,更不是伤害计算
  • 4★ 圣遗物的强化位数按 7 位估算,可能与游戏内差一位

开发

npm test                                   # 13 个测试文件
node scripts/ui-preview.mjs                # 渲染各页签截图到临时目录
PREVIEW_LOCAL=1 node scripts/ui-preview.mjs  # 用仓库代码现算快照

预览需要 react / react-dom(放 REACT_DIR)与 Edge。面板要等 effect 填数据才有内容,静态渲染看不出真实排版。

重新生成数据(需要网络,仅开发时):

node scripts/build-dict.mjs <genshin-db 路径>
node scripts/build-names.mjs
node scripts/build-skill-orders.mjs
node scripts/build-weapon-details.mjs
node scripts/build-character-weights.mjs
node scripts/build-element-icons.mjs   # 改了元素母图后重跑
node scripts/inline-chart.mjs          # 升级 chart.js 后重跑

游戏更新后名字缺失,重跑前四条即可,插件本身不用改。

路由(15 条,全部同源):/state /summary /character /artifacts /weapons /sync /gacha /gacha/sync /login/qr /login/poll /verify/widget /verify/start /verify/finish /probe-miyoushe /diag。


许可

MIT。随包游戏数据由 genshin-db(MIT)与 EnkaNetwork/API-docs 生成,游戏名称与内容版权归米哈游所有。