免登录免密钥,直接调用免费大模型对话
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add zhangmaorongXL/dsh-xl-free-model该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · model
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件写入剪贴板(不计风险)读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 21 处,展示前 21 条)
- 发起网络请求index.js:45
const res = await fetch(`http://127.0.0.1:${port}/health`, { - 执行外部命令来自配置/变量index.js:93
const npm = spawn(npmCmd, ["install"], { - 发起网络请求index.js:124
const res = await fetch(CLI_TARBALL_URL, { signal: AbortSignal.timeout(180000) }); - 执行外部命令固定命令index.js:132
const tar = spawn("tar", ["-xzf", tarball, "-C", extractDir], { - 读取密钥环境变量index.js:184
if (apiKey && !process.env.OPENCODE_PROXY_FREE_API_KEY) { - 读取密钥环境变量index.js:185
process.env.OPENCODE_PROXY_FREE_API_KEY = apiKey; - 执行外部命令来自配置/变量index.js:222
child = spawn(process.execPath, [proxyMain], { - 发起网络请求client.js:107
const res = await fetch(url, Object.assign({ signal: AbortSignal.timeout(5000) }, init || {})); - 写入剪贴板client.js:121
navigator.clipboard.writeText(text).then(done, () => {}); - 发起网络请求adapter.js:154
const res = await fetch(`http://127.0.0.1:${this.port}/v1/models`, { - 发起网络请求adapter.js:219
const res = await fetch(`http://127.0.0.1:${this.port}/v1/chat/completions`, { - 读取本地文件proxy.cjs:18
return JSON.parse(fs.readFileSync(CONFIG_PATH, "utf8")); - 读取本地文件proxy.cjs:61
if (!fs.existsSync(PEB_SCRIPT)) return null; - 执行外部命令固定命令proxy.cjs:62
const r = spawnSync( - 执行外部命令固定命令proxy.cjs:76
const tl = spawnSync("tasklist", ["/FI", "IMAGENAME eq OpenCode.exe", "/FO", "CSV", "/NH"], { - 执行外部命令固定命令proxy.cjs:90
const ns = spawnSync("netstat", ["-ano", "-p", "tcp"], { - 发起网络请求proxy.cjs:115
res = await fetch(base + "/config/providers?directory=" + encodeURIComponent(DIRECTORY), { - 读取本地文件proxy.cjs:166
if (!fs.existsSync(CLI_PATH)) { - 执行外部命令来自配置/变量proxy.cjs:178
cliChild = spawn(CLI_PATH, ["serve", "--hostname", CLI_HOST, "--port", String(CLI_PORT)], { - 读取密钥环境变量proxy.cjs:221
push(process.env.OPENCODE_SERVER_PASSWORD); - 发起网络请求proxy.cjs:304
res = await fetch(b.base + pathname, opts);
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
在 dsh 里装上这个插件即可无需登录、注册或填 API Key,就能使用mimo-v2.6-flash-free 等模型——完全免费,不限量。
README
由 DeepSeek 最新模型翻译生成dsh-xl-free-model
在 dsh 中自动运行本地 OpenAI 兼容代理的插件,经 OpenCode 免费通道使用 mimo-v2.6-flash-free 等 free 模型。支持流式、多轮会话复用、function calling 桥接与无头 CLI 后备(桌面版未打开时自动拉起)。
模型通过 Host 半身注册的 LlmAdapter 直接出现在会话的模型选择列表中(provider: xl-free-model),无需在 profile 的 cordis.patch.yml 手工配置 provider。设置页含 XL Free Model 插页,展示代理状态与模型卡片列表。
展开完整文档(README 剩余 1 节)
dsh-xl-free-model
在 dsh 中自动运行本地 OpenAI 兼容代理的插件,经 OpenCode 免费通道使用 mimo-v2.6-flash-free 等 free 模型。支持流式、多轮会话复用、function calling 桥接与无头 CLI 后备(桌面版未打开时自动拉起)。
模型通过 Host 半身注册的 LlmAdapter 直接出现在会话的模型选择列表中(provider: xl-free-model),无需在 profile 的 cordis.patch.yml 手工配置 provider。设置页含 XL Free Model 插页,展示代理状态与模型卡片列表。
功能特性
- 零配置模型接入:安装插件后,免费模型自动出现在会话的模型选择列表
- 本地代理:OpenAI 兼容 API(http://127.0.0.1:8787/v1),可被任意 OpenAI SDK 调用
- 自动管理:dsh 启动时自动拉起代理,退出时自动清理
- 桌面/无头双后端:优先复用已打开的 OpenCode 桌面版;未打开时自动启动无头 CLI 后备
- CLI 二进制自动安装:缺失时直接从 npm registry 下载 tarball 解压(无需 npm 在 PATH),npm install 兜底
- 流式支持:完整支持 SSE 流式响应
- Function Calling:通过提示词桥接模拟工具调用
- 会话复用:后端连接池自动复用,提升响应速度
- PEB 密码发现:无需手动配置密码,自动从 OpenCode 进程环境读取
安装
前置条件
- Windows 10/11 x64
- Node.js ≥ 22
- dsh 桌面版或 CLI
步骤
1. 克隆仓库
git clone https://github.com/zhangmaorongXL/dsh-xl-free-model.git
cd dsh-xl-free-model
2. 安装到 dsh
将本目录复制到 dsh 插件目录,或在 dsh 设置中指定插件路径。
5. 重启 dsh
重启后,会话模型选择列表中将出现 XL Free Model 分组,包含可用的免费模型。
使用
在 dsh 中使用
1. 新建会话
2. 在模型选择器中选择 XL Free Model 分组下的模型(如 mimo-v2.6-flash-free)
3. 正常对话即可
独立使用代理
代理兼容 OpenAI API,可被任意支持自定义 base URL 的工具调用:
启动代理(dsh 运行时会自动管理,通常无需手动)
node proxy.cjs
Python 示例 from openai import OpenAI
client = OpenAI(
base_url="http://127.0.0.1:8787/v1",
api_key="changeme-dsh-key" # proxy.config.json 中的 apiKey
)
response = client.chat.completions.create(
model="mimo-v2.6-flash-free",
messages=[{"role": "user", "content": "你好"}],
stream=True
)
// Node.js 示例 import OpenAI from "openai";
const client = new OpenAI({
baseURL: "http://127.0.0.1:8787/v1",
apiKey: "changeme-dsh-key",
});
const stream = await client.chat.completions.create({
model: "mimo-v2.6-flash-free",
messages: [{ role: "user", content: "你好" }],
stream: true,
});
配置
proxy.config.json 完整配置项:
{
"proxyHost": "127.0.0.1", // 代理监听地址 "proxyPort": 8787, // 代理监听端口 "apiKey": "changeme-dsh-key", // API Key(必改)
"backend": {
"host": "", // OpenCode 后端地址(留空自动发现) "port": 0, // OpenCode 后端端口(留空自动发现) "username": "opencode", // 后端用户名 "password": "", // 后端密码(留空自动 PEB 发现)
"cli": {
"enabled": true, // 是否启用无头 CLI 后备 "path": "cli\\node_modules\\opencode-windows-x64\\bin\\opencode.exe", "port": 4097 // CLI 后备端口 } } }
架构
dsh-xl-free-model/
├── index.js # Host 半身:挂载代理 + 注册 LlmAdapter + CLI 二进制自动安装 ├── adapter.js # LlmAdapter 实现(dsh 结构化契约) ├── client.js # Browser 半身:设置页插页 UI ├── proxy.cjs # 本地 OpenAI 兼容代理服务器 ├── peb_env.ps1 # PEB 密码发现脚本(PowerShell) ├── proxy.config.json # 代理配置 ├── cordis.patch.yml # dsh bundle patch(仅挂载 Host) ├── package.json # 插件清单 ├── cli/ # OpenCode 无头 CLI 后备 │ ├── package.json # npm 依赖清单(opencode-ai) │ └── node_modules/ # 自动下载/npm install 后生成(.gitignore 排除) ├── .gitignore # 排除大文件与运行时产物 ├── LICENSE # MIT └── README.md
工作流
1. dsh 加载插件 → index.js 的 apply() 执行
2. 读取 proxy.config.json,注入 API Key 环境变量
3. 检测代理是否已在运行;未运行则 spawn proxy.cjs
4. 通过 ctx.llm.registerAdapter() 注册 xl-free-model 服务商
5. adapter.js 的 listModels() 从代理拉取模型列表
6. 会话选择模型时,adapter.js 的 stream() 转发请求到代理
7. 代理转发到 OpenCode 后端(桌面版或无头 CLI),返回流式响应
故障排查
模型未出现在选择列表
- 检查 dsh 日志(~/.dsh/logs/)中 registerAdapter failed 错误
- 确认代理已启动:curl http://127.0.0.1:8787/health
- 重启 dsh
代理启动失败
- 检查端口占用:netstat -ano | findstr 8787
- 查看 cli-serve.log(CLI 后备日志)
- 确认 cli/node_modules/opencode-windows-x64/bin/opencode.exe 存在
密码获取失败
- 确认 OpenCode 桌面版已打开
- 手动测试:powershell -NoProfile -ExecutionPolicy Bypass -File peb_env.ps1 OPENCODE_SERVER_PASSWORD
- 或在 proxy.config.json 的 backend.password 中手动填写
开发
本地测试
语法检查
node --check index.js
node --check adapter.js
node --check client.js
node --check proxy.cjs
启动代理(前台运行)
node proxy.cjs
修改适配器
adapter.js 实现了 dsh 的结构化 LlmAdapter 契约:
- providerInfo(provider) → { id, name }
- listModels(provider) → LlmModelInfo[]
- resolveModel(provider, model) → ResolvedModelInfo
- prepareCall(provider, model) → { model, stream }
- stream(options) → AsyncIterable<StreamChunk>
参考 dsh 源码中的 LlmAdapter 类型定义。
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
zhangmaorongXL/dsh-xl-free-model
免登录免密钥,直接调用免费大模型对话
相关插件 · 模型接入
API 中继安全审计toby-bridges/api-relay-audit
面向 AI API 中转与 LLM 代理的本地安全审计。
★ 897已汉化DSH
69.4
免费搜索插件DDDMUC/dsh-free-search
DeepSeek Harness 免费搜索插件 —— 无需 API key,零成本,多引擎可切换。 一个给…
★ 761已汉化DSH
68.7
免费联网搜索liustack/modsearch
在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…
★ 863已汉化DSH
68.5
OpenCode 免费模型FishBottle7/opencode2dsh
在 DSHDeepSeek Harness里原生使用 OpenCode Zen 的免费匿名模型。
★ 379已汉化DSH
67.8
AI 模型网关tingly-dev/tingly-box
Tingly Box Web UI 演示
★ 373已汉化DSH
67.4
WorkBuddy 账号池XDTrees/dsh-xdpool
把你能白嫖的模型额度接进 DSH 同一个池:WorkBuddy 多账号自动容错、十三家扫码登录、76…
★ 359已汉化DSH
67.1