查看每日模型花费、预算余额与缓存节省金额
30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add catgrandfa/dsh-token-cost该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · tool
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 5 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 34 处,展示前 28 条)
- 读取本地文件lib/index.js:59
const PKG = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')); - 请求外部主机api.github.comlib/index.js:128
const res = await fetch(`https://api.github.com/repos/${PLUGIN_REPO}/releases/latest`, { - 发起网络请求lib/index.js:128
const res = await fetch(`https://api.github.com/repos/${PLUGIN_REPO}/releases/latest`, { - 发起网络请求lib/index.js:191
const res = await fetch(`${PLATFORM_USAGE_BASE}/${kind}${qs}`, { headers, signal: AbortSignal.timeout(15000) }); - 发起网络请求lib/client.js:505
fetch(url, { cache: "no-store", credentials: "same-origin" }).then(async (response) => { - 发起网络请求lib/client.js:537
fetch(url, { cache: "no-store", credentials: "same-origin" }).then((r) => r.json()).then((body) => { - 发起网络请求lib/client.js:857
const res = await fetch(`${ROUTE_BASE}/settings`, { - 写入剪贴板lib/client.js:898
await navigator.clipboard.writeText(text); - 发起网络请求lib/client.js:1331
const res = await fetch(url, { cache: "no-store", credentials: "same-origin" }); - 发起网络请求lib/client.js:2393
const response = await fetch(`${ROUTE_BASE}/summary`, { cache: "no-store", credentials: "same-origin" }); - 读取本地文件src/core.mjs:497
return readdirSync(p, { withFileTypes: true }).map((e) => ({ path: join(p, e.name), name: e.name, dir: e.isDirectory() })); - 读取本地文件src/core.mjs:502
if (existsSync(sessionsRoot)) { - 读取本地文件src/core.mjs:515
try { st = statSync(c.path); } catch { continue; } - 读取本地文件src/zstd.mjs:108
const raw = readFileSync(filePath); - 读取本地文件src/chrome-storage.mjs:163
const file = readFileSync(filePath); - 读取本地文件src/chrome-storage.mjs:243
const file = readFileSync(filePath); - 读取本地文件src/chrome-storage.mjs:342
return Boolean(p) && existsSync(p) && statSync(p).isDirectory(); - 读取本地文件src/chrome-storage.mjs:342
return Boolean(p) && existsSync(p) && statSync(p).isDirectory(); - 读取本地文件src/chrome-storage.mjs:352
const hasStore = (dir) => existsSync(join(dir, 'Local Storage', 'leveldb', 'CURRENT')); - 读取本地文件src/chrome-storage.mjs:358
if (existsSync(partitions)) { - 写入本地文件src/chrome-storage.mjs:390
copyFileSync(src, join(tmp, name)); - 删除本地文件递归src/chrome-storage.mjs:450
rmSync(tmp, { recursive: true, force: true }); - 发起网络请求src/client/index.js:518
fetch(url, { cache: 'no-store', credentials: 'same-origin' }) - 发起网络请求src/client/index.js:556
fetch(url, { cache: 'no-store', credentials: 'same-origin' }) - 发起网络请求src/client/index.js:896
const res = await fetch(`${ROUTE_BASE}/settings`, { - 写入剪贴板src/client/index.js:937
await navigator.clipboard.writeText(text); - 发起网络请求src/client/index.js:1410
const res = await fetch(url, { cache: 'no-store', credentials: 'same-origin' }); - 发起网络请求src/client/index.js:2370
const response = await fetch(`${ROUTE_BASE}/summary`, { cache: 'no-store', credentials: 'same-origin' });
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
涉及外部主机:api.github.com
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-home-paths@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-settings@deepseek-ai/dsh-host-webserver给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH Token 花费面板:预算 / 峰谷计价 / 按模型明细 / CSV·JSON 导出 / CLI 报表(社区插件,非官方)
README
由 DeepSeek 最新模型翻译生成dsh-token-cost
DSH(DeepSeek Harness)的 Token 花费面板:今天花了多少钱、花在哪、缓存省了多少、预算还剩多少。
兼容 DSH 0.2.x,零外部依赖(自带多帧 zstd 解码,不需要 zstd / Homebrew)。
本插件是社区插件,并非 DeepSeek 官方插件;与深度求索(DeepSeek)无隶属、合作或背书关系。
面板金额是本机估算,不是官方账单;价格与计费规则以官方定价页为准。
这是什么
本项目派生自社区插件 dsh-token-meter-panel(MIT,0.6.7),保留其采集 / 计价 / 官方取数内核,重做了面板 UI 并新增了预算预测、月度预算、按模型明细、 CSV/JSON 导出与独立 CLI 报表;同时支持 GLM(智谱)/ Kimi(月之暗面) 等国产第三方模型,按模型内置单价计价。
DSH 会把每次模型调用的 token 用量写进会话日志,但只记 token、不算钱。
展开完整文档(README 剩余 1 节)
dsh-token-cost
DSH(DeepSeek Harness)的 Token 花费面板:今天花了多少钱、花在哪、缓存省了多少、预算还剩多少。
兼容 DSH 0.2.x,零外部依赖(自带多帧 zstd 解码,不需要 zstd / Homebrew)。
本插件是社区插件,并非 DeepSeek 官方插件;与深度求索(DeepSeek)无隶属、合作或背书关系。
面板金额是本机估算,不是官方账单;价格与计费规则以官方定价页为准。
这是什么
本项目派生自社区插件 dsh-token-meter-panel(MIT,0.6.7),保留其采集 / 计价 / 官方取数内核,重做了面板 UI 并新增了预算预测、月度预算、按模型明细、 CSV/JSON 导出与独立 CLI 报表;同时支持 GLM(智谱)/ Kimi(月之暗面) 等国产第三方模型,按模型内置单价计价。
DSH 会把每次模型调用的 token 用量写进会话日志,但只记 token、不算钱。这个插件把用量翻译成钱:
- 今日消费、近 7 天 / 近 30 天 / 本月花费与账户余额
- 预算进度:每日预算 + 本月预算 + 按当前时段外推的「预计今日花费」
- 钱花在哪:缓存命中输入 / 未命中输入 / 输出各自花了多少,以及按模型、按会话、按 provider 的排行
- 缓存省了多少:DeepSeek 缓存命中价只有未命中的 1/50 ~ 1/30,这个数字通常很大
- 可带走:面板一键导出 CSV / JSON;不启动 DSH 也能用 node tools/report.mjs 出报表
总览
明细:按模型 / 按会话 / 按 provider 导出:面板下载 + CLI 报表 + HTTP 接口
悬浮看具体数值:金额、精确 token、命中构成花费 / Token 双视角:两张图同步换口径
截图用 node tools/preview.mjs --demo 的合成数据渲染(悬浮 / 双视角两张由真实 React 渲染同一份数据),不含任何真实会话、路径或余额。
功能
| 视图 | 内容 |
| 总览 | 按「先看什么」排成单列:今天(今日消费 + 预算/余额状态 + 渠道金额)→ 更长时间(近 7/30 天、本月 / 季 / 年、累计)→ 趋势与分时(整宽折线 + 24 小时分时,悬浮看具体数值,花费 / Token 双视角)→ 构成(渠道拆分、token 四宫格 / 命中率 / 单次花费 / token 构成)→ 计费参考(峰谷价表、数据源与口径、明细 / 导出入口)、本会话实时 |
| 明细 | 今日 / 近 7 天 / 近 30 天 / 本月 / 本季度 / 本年切换;按模型(含 GLM / Kimi)消费与占比、按会话明细(可搜索、子代理打标)、按 provider 汇总、今日成本构成、按天历史 |
| 导出 | 按天 / 按会话 / 按模型 × 今日 / 7 天 / 30 天 / 本月 / 季度 / 年 / 全部 × CSV / JSON,一键下载;附 CLI 与 HTTP 接口示例 |
其他能力:
- GLM / Kimi 支持:默认统计 pi-ai 等第三方路由;按 model id 匹配 GLM(智谱)与 Kimi(月之暗面)官方单价,未内置的模型只记 token 不猜价
- 非账号花费也计入:官方用量接口只覆盖账号额度;API Key 扣费与第三方渠道按本机会话日志估算并计入今日 / 趋势 / 窗口金额(渠道分拆在概览头部和「渠道拆分」卡各列一行,渠道各行相加 = 今日消费)
- 无预算模式:预算默认 0,只记录花费、不告警、不显示进度条;想控预算时点一下设置
- 侧栏今日花费预览:侧栏入口直接显示 Token · ¥9.87(展开态文本 + 折叠态 tooltip)
- 趋势 / 分时看具体数值:折线与 24 小时柱悬浮即出浮动提示,显示金额、精确 token 数与命中 / 未命中 / 输出;标题旁「花费 / Token」一键换口径(两张图同步)
- 峰 / 谷分档计价:高峰(北京时间工作日 9:00–12:00、14:00–18:00)与空闲档分别记账再汇总
- 官方对账:可选接入 DeepSeek 账号会话或 platform.deepseek.com 网页登录态,账号额度按天金额与平台用量页同源
- 工具调用费(Search):概览「渠道拆分」卡单独一行,按成功的 web_search 调用次数估算(5 元/千次成功请求,2026-11-01 起收费、之前免费),不并入 token 金额
- 余额:桌面端账号登录或 DEEPSEEK_API_KEY 双路;账号路径还能读累计消费
- 面板内改设置:预算 / 月预算 / 低余额阈值点一下就能改,保存在插件本机配置($DSH_HOME/token-cost/settings.json)并立即生效,重启 DSH 后仍然有效(告警线暂只读,可在插件配置里改)
- 皮肤:default(跟随 DSH 主题)/ glass(液态玻璃)
- 零配置出数:不需要 API Key、不需要外部解压工具;装好重启 DSH 即可
安装
方式一:GitHub 直装(推荐,固定版本)
dsh plugin --profile desktop add github:catgrandfa/dsh-token-cost#v0.3.5
web profile 同理,把 --profile desktop 换成 --profile web。
方式二:一键脚本
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/catgrandfa/dsh-token-cost/main/install.sh | bash
Windows(PowerShell)
powershell -ExecutionPolicy Bypass -Command "iwr -UseBasicParsing https://raw.githubusercontent.com/catgrandfa/dsh-token-cost/main/install.ps1 | iex"
方式三:从源码(开发者)
git clone https://github.com/catgrandfa/dsh-token-cost.git
cd dsh-token-cost
npm install --cache /tmp/dsh-npm-cache
npm run setup # 链接 DSH 本体里的 @deepseek-ai/* 与 esbuild(仅开发需要)
npm test
dsh plugin --profile desktop add .
装完必须完全退出并重启 DSH:插件 bundle 只在宿主启动时解析。
重启后侧栏最下方出现「Token」入口,点开就是面板。
与上游插件共存:本插件的包名、路由前缀(/token-cost)、设置命名空间(token-cost)、侧栏 slot id(tokencost)全部独立,可以和 dsh-token-meter-panel 同时安装、互不冲突。
计费口径
按 DeepSeek 官方定价折算人民币(CNY),不是 DSH 内置能力:
- 现售模型:deepseek-flash、deepseek-v4-pro (deepseek-chat / deepseek-reasoner 已下线;旧的 deepseek-v4-flash 名称仍可用,按 Flash 价计费)
- 分高峰 / 空闲两档,空闲价 = 高峰价的一半
- 高峰 = 北京时间周一至周五 9:00–12:00、14:00–18:00(本插件不识别法定节假日)
- reasoningTokens 已包含在 outputTokens 内,不重复计价
- 未知模型不猜价:只累加 token,不计金额
- 价格来源:<https://api-docs.deepseek.com/zh-cn/quick_start/pricing>(内置价采集于 2026-09-19)
第三方模型(GLM / Kimi)
DSH 通过 pi-ai 等适配器接入的第三方路由,provider 名可以是任意值;插件按 model id 查内置价, provider 名不参与定价:
| 系列 | 模型 | 输入 / 缓存命中 / 输出(元/百万 token) | 来源 |
| GLM | glm-5.3、glm-5.2 | 8 / 2 / 28 | 智谱定价(2026-10-28) |
| GLM | glm-5.1(基础档) | 6 / 1.3 / 24 | 同上 |
| GLM | glm-5.3-flash | 0.8 / 0.23 / 2.8 | 同上 |
| GLM | glm-5.3-flashx | 2 / 0.57 / 7 | 同上 |
| GLM | glm-4.7-flash | 免费 | 同上 |
| Kimi | kimi-k3.1-pro | 13 / 1.3 / 68(缓存写入 13) | Kimi 定价(2026-10-28) |
| Kimi | kimi-k3 | 20 / 2 / 100(缓存写入 20) | 同上 |
| Kimi | kimi-k3.1-pro-highspeed | 26 / 1.3 / 136 | 同上 |
| Kimi | kimi-k2.7-code / kimi-k2.6 | 6.5 / 1.3~1.1 / 27 | 同上 |
- 长上下文阶梯价、限时折扣、套餐价无法从聚合 token 还原,内置值取标准档基础价
- 未内置的第三方模型:只记 token、不计金额(unpricedCalls 会显示数量)
- 模型名大小写、provider/model 前缀写法会自动归一化
- 第三方余额 / 套餐额度暂未接入,余额卡仍只查 DeepSeek
自定义渠道单价(可选)
同一个模型可能走不同渠道、单价不同(例如 DeepSeek 模型经由第三方中转)。可以给「渠道 × 模型」单独定价,命中后按固定价估算(元/百万 token,不分峰谷):
{
"channelRates": {
"<provider 名>": { "<模型名或归一化键或 >": { "cacheHit": 1, "cacheMiss": 2, "output": 3, "cacheWrite": 0 } },
"": { "": { "cacheHit": 0.5, "cacheMiss": 1, "output": 2 } }
}
}
- provider、模型都支持 兜底;命中渠道价后优先于内置 / 官方价
- 字段不全(缺 cacheHit / cacheMiss / output)视为未配置,自动回落内置费率
- 写进 profile 的配置 patch($DSH_HOME/profiles/<profile>/cordis.patch.yml,给 token-cost 行加 config.channelRates),重启 DSH 生效
- 面板概览的「渠道拆分」按渠道分开显示今日 / 近 30 天花费:官方拆成 账号额度(账号登录)与 API Key(走 API Key 不占账号额度)两行,各第三方渠道各占一行
- 卡里还有一行 Search 工具调用:单独按次计费、不进上面的 token 金额(悬浮看调用次数)
费率、每日预算、月度预算、告警阈值、刷新间隔、是否显示余额,都可以在 设置 → 插件 → token-cost 里改;改完立刻生效。
预算默认是 0(只记录花费):不显示进度条、不告警;把每日 / 本月预算设成大于 0 的数,才会出现预算进度、告警线与超支提示。侧栏入口会同时显示今日花费(Token · ¥x.xx)。
统计范围默认包含第三方 provider(GLM / Kimi 等);只想看 DeepSeek 时把 officialOnly 打开,或 CLI 加 --official-only。
数据从哪来
1. 本地日志聚合(按天 / 按会话 / 按模型的唯一来源)扫描 $DSH_HOME/sessions/<工作区>/<会话>/session[.vN].jsonl[.zstd],取每条 assistant/message 的 data.usage,按北京时间分桶。.jsonl.zstd 是追加写入的多帧 zstd,插件用纯 JS 按帧边界解码(src/zstd.mjs),因此不需要系统装 zstd。
2. 官方用量(可选,按天金额优先来源)桌面端已登录时走 DSH 账号会话(x-dsh-auth-token,免网页登录);否则尝试读取浏览器里 platform.deepseek.com 的 userToken。数据与平台「用量」页同源。
3. 第三方 provider(GLM / Kimi 等):来自本地日志;有内置单价就计价,否则只记 token
4. 余额 / 累计消费:账号服务或 api.deepseek.com/user/balance(仅 DeepSeek)。
官方用量只覆盖 DeepSeek 最近 30 天,插件会把官方 DeepSeek 用量与本地第三方用量按天合并;角标显示「官方 + 第三方」,明细里仍能按 provider / 模型拆开;官方渠道的两种走法(账号登录 = 账号额度、API Key = 不占账号额度)在渠道拆分里分开统计。
已知盲区
- 会话标题生成、联网搜索这两类调用不落 usage,无法计入花费
- 活跃会话仍在追加写入,所以「今日」是下界(面板底部有标注)
- 自然月 / 季度 / 年按本地日志统计:官方用量接口只返回最近 30 天;统计窗口默认 365 天,首次扫描可能分段补齐(面板底部会显示「正在补扫」)
- 本地金额与官方账单允许几分差异;对账请以官方账单页为准
- GLM / Kimi 的阶梯价 / 折扣 / 套餐无法恢复,第三方余额也未接入
- 工具调用费只覆盖 Search:按本地 web_search 成功调用次数估算(一次调用可能对应多次服务端搜索,是下界); web_fetch 默认走本地 HTTP、不经过 DeepSeek,不计费;若切到 DeepSeek Fetch API,这部分暂未纳入
导出与 CLI
面板导出
「导出」视图选择 数据 × 范围 × 格式 后点下载。导出内容只有 token 数、金额、调用次数、会话标题 / 工作区等聚合字段,不含对话正文、文件路径或凭据。
HTTP 接口(与面板同源,需要 DSH 登录态):
GET /token-cost/export?dataset=daily&scope=7d&format=csv
GET /token-cost/export?dataset=sessions&scope=month&format=json
GET /token-cost/export?dataset=models&scope=year&format=csv
命令行报表
不启动 DSH 也能用(只依赖 Node 内置模块):
node tools/report.mjs --days 7 --top 5 # 人类可读:汇总 + 每日 + 模型 + 会话
node tools/report.mjs --json # 机器可读 JSON
node tools/report.mjs --csv daily # daily | sessions | models
node tools/report.mjs --budget 5 # 今日预算使用率
node tools/report.mjs --official-only # 只看 DeepSeek 官方 provider
node tools/report.mjs --sessions-root ~/.dsh/sessions
隐私与权限
先给结论:只读本机会话日志;不执行命令;不写业务文件;凭据只在宿主进程内存中使用。
| 权限 | 实际情况 |
| 文件(读) | 只读 $DSH_HOME/sessions//session[.vN].jsonl[.zstd] |
| 文件(写) | 无(导出由浏览器下载,聚合只在内存) |
| 网络 | ① 官方用量 / 余额(可在设置里关);② 版本检查(GitHub Releases,可关自动更新) |
| 命令执行 | 无(唯一 spawn 是「后台自动更新」调用 dsh plugin add,默认开启但只在本插件运行 60s 后、发现新版本时执行一次;可在设置里关) |
| 凭据 | 仅按引用名(DEEPSEEK_API_KEY / DEEPSEEK_PLATFORM_TOKEN)向 DSH 凭据服务取值,不下发到浏览器、不写日志、不进文件 |
浏览器登录态读取(可选):只把 Chromium 系浏览器的 Local Storage/leveldb 复制到系统临时目录再解析,解析完立即删除;只取 platform.deepseek.com 这一条记录,不外发、不落盘。
兼容性与限制
- DSH 0.2.x(0.2.0-rc.2 实测);Node ≥ 22.19
- 平台:macOS 实测;Windows / Linux 由 CI 自检覆盖
- 金额为估算,不能替代官方账单
- 暂无 npm 发行;安装走 GitHub(源码或 Release tarball)
开发
npm install --cache /tmp/dsh-npm-cache
npm run setup # 链接 @deepseek-ai/ 与 esbuild
npm run build # 构建 lib/client.js(改 src/client/* 后必须执行)
npm test # verify-* / smoke-* / report 全套自检
node tools/preview.mjs --demo --view overview # 合成数据预览(不改真实日志)
node tools/preview.mjs --open # 真数据预览,直接开浏览器
产物 lib/client.js 需要入库;宿主半侧改动必须重启 DSH 才生效。
目录结构:
├── package.json # dsh.bundle.patch(宿主层)+ dsh.client(浏览器层) ├── cordis.patch.yml # 把宿主半侧插进 profile 层栈 ├── lib/index.js # 宿主半侧:路由、设置、官方用量 / 余额、更新检查 ├── lib/client.js # 浏览器半侧(esbuild 产物,勿手改) ├── src/core.mjs # 采集内核:扫描 / 聚合 / 计价 / dayModels ├── src/zstd.mjs # 多帧 zstd 解码 ├── src/client/index.js # 三视图面板源码(改这个) ├── tools/report.mjs # 独立 CLI 报表 ├── tools/preview.mjs # 预览 / 截图(--demo 合成数据) ├── docs/ # 截图 └── THIRD-PARTY-NOTICES.md
许可
本项目以 MIT 许可证发布,见 LICENSE。
它派生自 dsh-token-meter-panel
(MIT,Copyright (c) 2026 oli20);src/zstd.mjs 的帧扫描逻辑改写自 DSH 的
@deepseek-ai/dsh-session-persistence-jsonl(MIT,Copyright (c) 2026 DeepSeek)。
完整声明见 THIRD-PARTY-NOTICES.md。
致谢
- 上游作者 oli20:采集内核、计费口径、官方取数与工程实践
- DeepSeek Harness 团队:插件机制、会话日志格式与多帧 zstd 实现预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
catgrandfa/dsh-token-cost
查看每日模型花费、预算余额与缓存节省金额
相关插件 · 工具 / 效率
破甲管控台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
这是你的仓库?认领条目