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

AI Studio 接入 dtsummery/dsh-google-aistudio

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

用 Google 账号权益在 DSH 里出图、做视频和音乐

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dtsummery/dsh-google-aistudio
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · model
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 26 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 57 处,展示前 46 条)
  • 写入本地文件
    lib/index.js:166
    mkdirSync(dir, { recursive: true })
  • 读取本地文件
    lib/index.js:460
    if (!existsSync(target)) return
  • 写入本地文件
    lib/index.js:461
    mkdirSync(stashDir, { recursive: true })
  • 读取本地文件
    lib/index.js:463
    for (const name of readdirSync(stashDir).filter((n) => n.startsWith(`${clean}-`))) {
  • 删除本地文件递归
    lib/index.js:464
    rmSync(join(stashDir, name), { recursive: true, force: true })
  • 写入本地文件
    lib/index.js:467
    renameSync(target, backup)
  • 读取本地文件
    lib/index.js:474
    if (!existsSync(authDir)) return
  • 读取本地文件
    lib/index.js:475
    for (const name of readdirSync(authDir)) {
  • 写入本地文件
    lib/index.js:477
    mkdirSync(stashDir, { recursive: true })
  • 删除本地文件递归
    lib/index.js:479
    rmSync(target, { recursive: true, force: true })
  • 写入本地文件
    lib/index.js:481
    renameSync(join(authDir, name), target)
  • 读取本地文件
    lib/index.js:493
    if (!existsSync(bin)) {
  • 执行外部命令来自配置/变量
    lib/index.js:497
    execFile(bin, args, { cwd: dir, windowsHide: true, timeout: 600000 }, (error, stdout, stderr) =>
  • 读取本地文件
    lib/index.js:512
    ].filter((entry) => entry.path && existsSync(entry.path))
  • 删除本地文件
    lib/index.js:639
    rmSync(`${kernelPath()}.part`, { force: true })
  • 写入本地文件
    lib/index.js:718
    mkdirSync(staged, { recursive: true })
  • 发起网络请求
    lib/client.js:99
    return fetch(API + path, {
  • 执行外部命令固定命令
    lib/kernel.js:176
    execFile('tar', ['-xzf', archive, '-C', stage], { windowsHide: true, timeout: 120000 }, (error) =>
  • 读取本地文件
    lib/kernel.js:181
    if (!existsSync(found)) throw new Error('tar 包里没有找到 aistudio2api 可执行文件')
  • 写入本地文件
    lib/kernel.js:182
    renameSync(found, destExe)
  • 删除本地文件递归
    lib/kernel.js:183
    rmSync(stage, { recursive: true, force: true })
  • 写入本地文件
    lib/kernel.js:193
    mkdirSync(dir, { recursive: true })
  • 写入本地文件
    lib/kernel.js:197
    const out = createWriteStream(archive)
  • 读取本地文件
    lib/kernel.js:208
    const exe = extractFromZip(readFileSync(archive), (name) => /aistudio2api\.exe$/i.test(name))
  • 写入本地文件
    lib/kernel.js:209
    writeFileSync(staging, exe)
  • 删除本地文件
    lib/kernel.js:213
    rmSync(destExe, { force: true })
  • 写入本地文件
    lib/kernel.js:214
    renameSync(staging, destExe)
  • 删除本地文件
    lib/kernel.js:216
    rmSync(staging, { force: true })
  • 删除本地文件
    lib/kernel.js:219
    rmSync(archive, { force: true })
  • 读取本地文件
    lib/kernel.js:221
    return { path: destExe, bytes: readFileSync(destExe).length, archiveBytes }
  • 写入本地文件
    lib/kernel.js:226
    mkdirSync(join(path, '..'), { recursive: true })
  • 读取本地文件
    lib/kernel.js:233
    if (!existsSync(path)) return {}
  • 读取本地文件
    lib/kernel.js:235
    for (const line of readFileSync(path, 'utf8').split(/ ? /)) {
  • 发起网络请求
    lib/kernel.js:267
    const res = await fetch(`${this.base}${path}`, {
  • 发起网络请求
    lib/kernel.js:290
    const res = await fetch(`${this.base}/health`, { signal: AbortSignal.timeout(3000) })
  • 发起网络请求
    lib/kernel.js:299
    return this.request('/api/status')
  • 发起网络请求
    lib/kernel.js:303
    return this.request('/api/accounts')
  • 发起网络请求
    lib/kernel.js:307
    return this.request('/api/control/start', { method: 'POST', timeout: 900000 })
  • 发起网络请求
    lib/kernel.js:311
    return this.request('/api/control/stop', { method: 'POST', timeout: 120000 })
  • 读取本地文件
    lib/kernel.js:324
    if (!binPath || !existsSync(binPath)) throw new Error(`内核不存在:${binPath}`)
  • 执行外部命令来自配置/变量
    lib/kernel.js:328
    this.child = spawn(binPath, ['-open-ui=false'], { cwd: dir, stdio: ['ignore', 'pipe', 'pipe'], windowsHide: true })
  • 执行外部命令固定命令
    lib/kernel.js:368
    execFile('taskkill', ['/PID', String(pid), '/T', '/F'], { windowsHide: true, timeout: 20000 }, () => resolve(undefined))
  • 执行外部命令固定命令
    lib/kernel.js:399
    execFile('netstat', ['-ano', '-p', 'tcp'], { windowsHide: true, timeout: 15000 }, (_error, out) => resolve(String(out ?? '')))
  • 执行外部命令固定命令
    lib/kernel.js:406
    execFile('taskkill', ['/PID', pid, '/T', '/F'], { windowsHide: true, timeout: 15000 }, () => resolve(undefined))
  • 发起网络请求
    lib/adapter.js:202
    const res = await fetch(`${this.deps.getBaseUrl()}/models`, {
  • 发起网络请求
    lib/adapter.js:312
    res = await fetch(`${baseUrl}/chat/completions`, {
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

README

由 DeepSeek 最新模型翻译生成
dsh-google-aistudio 把 Google AI Studio(aistudio.google.com)接进 DeepSeek Harness。插件托管 AIStudio2API 反代内核,并注册 aistudio-web provider,让你在 DSH 里直接用 AI Studio 的模型——走你的 Google 账号权益,不消耗 Gemini Developer API 配额。 支持 Nano Banana Pro 出图、Nano Banana 2、Veo 3.1 视频、Lyria 音乐、Gemini TTS,以及 Gemini 3.8 Flash / 3.1 Pro 等全系文本模型(以账户实际权益为准)。 为什么需要它 AI Studio 网页能选到 gemini-3-pro-image(Nano Banana Pro)这类模型,是因为模型的访问方式字段里含 Pro/Ultra 订阅权益;而官方 Developer API 免费层对同一批图模型限制为 limit: 0。这是两套互不相通的配额。 本插件把 AI Studio 网页协议转成 OpenAI 兼容 API 接到 DSH,于是订阅权益能直接用在 DSH 里。
展开完整文档(README 剩余 1 节)
dsh-google-aistudio

把 Google AI Studio(aistudio.google.com)接进 DeepSeek Harness。插件托管 AIStudio2API 反代内核,并注册 aistudio-web provider,让你在 DSH 里直接用 AI Studio 的模型——走你的 Google 账号权益,不消耗 Gemini Developer API 配额。

支持 Nano Banana Pro 出图、Nano Banana 2、Veo 3.1 视频、Lyria 音乐、Gemini TTS,以及 Gemini 3.8 Flash / 3.1 Pro 等全系文本模型(以账户实际权益为准)。

为什么需要它

AI Studio 网页能选到 gemini-3-pro-image(Nano Banana Pro)这类模型,是因为模型的访问方式字段里含 Pro/Ultra 订阅权益;而官方 Developer API 免费层对同一批图模型限制为 limit: 0。这是两套互不相通的配额。

本插件把 AI Studio 网页协议转成 OpenAI 兼容 API 接到 DSH,于是订阅权益能直接用在 DSH 里。

工作原理

DSH 会话 │ aistudio-web provider ▼ dsh-google-aistudio(本插件,host 侧) │ HTTP + Bearer key ▼ AIStudio2API 内核 (127.0.0.1:<port>) │ ① cookie + 三段 SAPISIDHASH 签名 ② WAA proof ▼ Camoufox 无头浏览器 ──► alkalimakersuite-pa.clients6.google.com (AI Studio 私有 RPC)

关键点:AI Studio 的 GenerateContent 要求请求里带一个 fresh WAA proof(Google BotGuard 内容证明),它只能由官方 VM 在真实浏览器页面里生成,纯 HTTP 无法伪造。所以内核会常驻一个无头 Camoufox(指纹与出口按账户固定)来产出 proof 并代发生成请求。其余管理类 RPC 走 Go 的纯 HTTP。

环境要求

- Windows 10+ / macOS / Linux
- DSH 0.2.x(设置页走 0.2 的 Config / configForms 模型;0.1.x 上会因 @deepseek-ai/dsh-settings 没有 installSettingsSection 而整包加载失败)
- 能访问 Google 的网络(必须配出口代理,直连会超时)
- 一个已登录的 Google 账号(Pro / Ultra 权益能解锁更多模型)
- 磁盘约 400 MB(内核约 30 MB + Camoufox 约 300 MB)

安装

dsh plugin --profile web add github:dtsummery/dsh-google-aistudio

装好后重启 DSH Desktop,然后打开「设置 → Google AI Studio」。

更新远端版本需要先 remove 再 add:
dsh plugin --profile web remove dsh-google-aistudio
dsh plugin --profile web add github:dtsummery/dsh-google-aistudio

首次配置

1. 出口代理:在设置页填 http://127.0.0.1:7897 这类可用的 HTTP 代理;留空则沿用 DSH 进程的 HTTPS_PROXY / HTTP_PROXY。
2. 下载内核:点「下载 / 更新内核」,插件会从上游 Release 拉取对应平台的包并解压到 ~/.dsh/aistudio/bin/。
3. 导入账户(三选一,推荐第一种):
- 隔离登录(推荐):点「打开登录窗口」,会弹出一个独立的 Camoufox 浏览器窗口,在其中登录 Google 并进入 AI Studio。会话由内核自己的 Camoufox 持有,和生成时的 WAA 页面是同一指纹,能长期存活。
- 从浏览器导入:选一个本机已登录 AI Studio 的浏览器 User Data 目录(Chrome / Edge / Brave…),填上 Google 邮箱。这条路径尝试从浏览器里提取 DBSC 续签材料,成功的话可自动续期;但上游的导入实现是按 Chrome 写的,Edge 等派生浏览器不一定识别得到账号。
- 从文件导入:给一个 Playwright storage-state.json 路径(文件所在目录名或文件内 aistudio2api.source.email 会被当作账户标识)。⚠️ 这条路径只导入一次性 cookie,没有续签材料:Google 的 DBSC 票据(__Secure-1PSIDTS)在浏览器不活动时不会轮转,服务端几小时内就会作废,之后账户会变成「登录态已失效」,需要重新导出。适合临时试用,不适合长期使用。

4. 账户导入成功后内核会自动重启并重新载入;点「启动服务」拉起数据面(开了「自动拉起数据面」就不用管)。

重新导入会替换同名账户:点击导入前插件会先停掉内核,把已存在的 auth/<邮箱> 目录改名为 auth/.replaced-<邮箱>-<时间戳> 留档(同一邮箱只保留最近一份),再让内核写入新凭据。这一步是必需的——内核的 setup 用原子 rename 建目录,目标存在时会直接失败。

使用

在会话窗口的模型选择器里选 aistudio-web 下的模型即可。先确认设置页里已经勾选并保存了要用的模型。

设置页还能:

| 操作 | 说明 |
| 启动 / 停止服务 | 控制数据面。停止后生成请求返回 service_stopped |
| 重启内核 | 改完配置或账户后手动重启 |
| 打开内核管理页 | 进入内核自带的管理界面(日志、请求、模型、账户、配置) |
| 发送测试 | 用当前选中的第一个模型跑一次真实生成,验证链路 |

配置项

| 项 | 默认 | 说明 |
| enabled | true | 关闭后不启动内核、不注册 provider |
| port | 0 | 内核端口,0 = 首次启动自动分配并记住 |
| proxyUrl | 空 | 内核出口代理,影响下载与访问 Google |
| accountEmail | 空 | 账户标识,用于导入与展示 |
| browserRoot | 空 | 「从浏览器导入」的 User Data 目录 |
| storageStatePath | 空 | 「从文件导入」的 storage-state 路径 |
| autoStartService | true | 内核启动后自动拉起数据面 |
| temporaryChat | true | WAA 预热页用临时对话,API 请求不落 AI Studio 历史 |
| warmWorkers | 1 | 常驻预热账户数 |
| requestTimeoutMinutes | 5 | 单次请求最大执行时间 |
| kernelPath | 空 | 内核路径,留空用 ~/.dsh/aistudio/bin/ |
| models | 见下 | 暴露给 DSH 的模型 id 列表 |

默认模型:gemini-3.8-flash、gemini-3.1-pro-preview、gemini-3-pro-image。

文件位置

| 路径 | 内容 |
| ~/.dsh/aistudio/bin/ | 内核可执行文件 |
| ~/.dsh/aistudio/.env | 内核配置(插件写入托管键,其余键保留) |
| ~/.dsh/aistudio/plugin.env | 插件自有的端口与 API key |
| ~/.dsh/aistudio/auth/<邮箱>/ | 账户凭据与运行时状态 |
| ~/.dsh/aistudio/runtime/camoufox/ | 自动下载的 Camoufox |

排障

| 现象 | 处理 |
| 「尚未下载反代内核」 | 点「下载 / 更新内核」;确认出口代理能访问 GitHub |
| 内核起不来 | 看 DSH 日志里的 [dsh-google-aistudio] 行,以及内核管理页的日志 |
| 账户行报「登录态已失效」 | 用「隔离登录」重新登录一次;若之前是「从文件导入」,说明 DBSC 票据已作废,那条路径本来就只有几小时寿命 |
| 生成返回 service_stopped | 设置页点「启动服务」 |
| 生成报 account_required | 没有可用账户,导入或重新导入账户 |
| 内核启动失败且提到 Camoufox | 首次运行需要下载 Camoufox;检查网络与代理 |
| 请求很慢 | 首次请求要 bootstrap WAA worker;另外 AI Studio 有分钟级配额,密集调用会被限流 |

免责声明

本插件把 AI Studio 的网页会话转换为 API。这会绕过官方 Developer API 的计费与配额路径,可能不符合 Google 的服务条款,存在账号被限制的风险。请自行评估后再用,建议低频使用、不要拿主账号做高并发。

致谢

反代内核来自 Mag1cFall/AIStudio2API(MIT),本插件只做进程托管与 DSH 接入,不含其源码。

License

MIT
预览分享卡片长什么样 ↓dtsummery/dsh-google-aistudio
分享 · DeepSeek Harness Hub
dtsummery/dsh-google-aistudio

用 Google 账号权益在 DSH 里出图、做视频和音乐

回到顶部