← Back to home@2239058652

dsh-loomy-connect

Fork of gdrpzym/dsh-loomy-connect adapted to DeepSeek Harness 0.2.1.

Stars
1
Language
TypeScript
Created
Oct 21, 2026
Updated
Oct 26, 2026
GitHub repo

Introduction

DSH Loomy Connect

License: MIT

简体中文 | English

派生声明:本项目是 gdrpzym/dsh-loomy-connect 的衍生版本,上游基线 0.2.0(MIT,原始版权归 gdrpzym 所有),本仓库将其适配到 DSH 0.2.1。改动范围与许可说明见 FORK.md。

将 Loomy 桌面应用内置的文本模型接入 DeepSeek Harness(DSH),无需 API Key。

插件以只读方式读取 Loomy 落盘的登录态与模型清单,不复制、不上传、不改写任何文件。

能力位置说明
模型 Provider宿主端注册 loomy provider,模型列表在启动时从 Loomy 发现
设置卡片浏览器端设置 → 插件配置 下分「账户」「模型」两个标签页:账户展示登录态、脱敏手机号与积分余额;模型以表格列出名称、上下文窗口与倍率,图像模型排在最后

目录

功能

  • 零配置:安装启用后,Loomy 的模型直接出现在 DSH 的模型选择器里。
  • 模型自动发现:启动时拉取当前账号可用的模型清单,只纳入支持文本输出的模型。
  • 倍率与优惠:插件页的「模型」标签页列出全部模型及各自的积分倍率(如 x3.0、限时免费),数据随 Loomy 侧调整而变化。
  • 账号与积分:插件页顶部状态行显示当前登录账号(脱敏手机号),「积分」标签页显示永久积分与每日赠送积分——数值取自 Loomy 自身展示所依赖的同一份数据。
  • 模型明细:插件页的「模型」标签页以三列表格列出每个模型的名称、上下文窗口大小(若 Loomy 的清单提供了该字段)与积分倍率,图像模型排在文本模型之后。
  • 模型页状态条:「设置 → 模型」的 Loomy 卡片内直接显示登录态与永久积分。
  • 中英双语:界面文案跟随 DSH 界面语言。

界面位置(DSH 0.2.1)

位置内容
设置 → 插件 → DSH Loomy Connect账号、积分、模型表、手动刷新
该插件的 llm-loomy 行 → 配置页authFile / configFile 路径覆盖,可保存并立即生效
设置 → 模型 → Loomy 卡片精简状态条(登录态、永久积分、刷新)

安装

Loomy 桌面应用已安装,且至少登录过一次
DeepSeek Harness>= 0.2.1-rc.2 < 0.3.0
Node.js>= 22.19
pnpm必需。dsh plugin 内部通过 pnpm 管理 profile 依赖,只装有 npm 不够

从 GitHub 安装(推荐)

dsh plugin --profile web add github:2239058652/dsh-loomy-connect
dsh web

本仓库已提交构建产物 lib/,安装时不会触发构建,无需 tsdown 或 TypeScript。

没有全局 dsh 时,把 dsh 换成以下任一即可(两者都只是下载 dsh 本身,插件安装仍走 pnpm):

npx @deepseek-ai/dsh plugin --profile web add github:2239058652/dsh-loomy-connect
pnpm dlx @deepseek-ai/dsh plugin --profile web add github:2239058652/dsh-loomy-connect

从本地目录安装(改代码时)

git clone https://github.com/2239058652/dsh-loomy-connect.git
cd dsh-loomy-connect
pnpm install
pnpm run build          # 仅改了 src/ 时需要,产物在 lib/
dsh plugin --profile web add /绝对路径/dsh-loomy-connect
dsh web

验证:

dsh --profile web --dump-config     # 应出现 llm-loomy 条目

--dump-config 只组合配置树,不实例化插件。确认插件能否真正启动,需运行 dsh web 后检查模型选择器中是否出现 Loomy。

配置

路径按平台自动探测,一般无需配置。以下覆盖项面向非标准安装。

变量覆盖对象
LOOMY_AUTH_FILE登录态 auth-session.json 路径
LOOMY_CONFIG_FILE模型清单 opencode.json 路径
LOOMY_LOCAL_STORAGE_DIR积分缓存 Local Storage/leveldb 目录

每项查找的优先级:插件配置(authFile / configFile)→ 环境变量 → 探测到的默认值。

默认路径按 macOS / Windows 顺序探测,取第一个存在的:

平台登录态模型清单积分缓存
Windows%APPDATA%/loomy/auth-session.json%APPDATA%/loomy-opencode/opencode.json%APPDATA%/loomy/Local Storage/leveldb

安全边界

边界机制
网络暴露面网关仅绑定 127.0.0.1
客户端鉴权进程内随机密钥,timingSafeEqual 比较
DNS 重绑定Host 必须为 loopback
跨站简单请求携带 Origin 时须为 loopback;请求体须为 application/json
Token 保管Loomy session token 仅在网关内按需从磁盘读取,DSH 不持有

威胁模型:防御本机其他进程与浏览器中运行的网页;不防御以同一用户身份运行的代码——其可读取插件所读的同样文件。

已知限制

  • 依赖 Loomy 的客户端接口(非官方开放 API),Loomy 更新后插件可能需要随之调整。
  • 模型清单与倍率取自 Loomy 的接口;接口不可达时回落到 Loomy 生成的配置文件,两者都不可用时才使用内置快照。
  • 积分读自 Loomy 的本地缓存,Loomy 未公开积分接口;缓存不存在时卡片不显示积分,而非显示 0。
  • 模型清单在启动时读取,Loomy 侧增删模型后需重启 DSH 才会同步。
  • Windows 下若登录态路径未被探测到,需通过 LOOMY_AUTH_FILE 手动指定。

故障排查

现象原因
「插件配置」下始终无卡片宿主端未注册命名空间,见 docs/internals.md 第 4 项
插件列表有条目但无卡片同上——「插件」tab 反映已安装条目,非已提供命名空间
启动时报 Cannot read properties of undefined (reading 'authFile')缺少运行时 Config 导出,见 docs/internals.md
Loomy 已登录,卡片显示未登录登录态路径未探测到,设置 LOOMY_AUTH_FILE
每次对话请求均 502网关读不到有效 session,多为登录态路径问题
模型列表陈旧重启 DSH 或触发一次配置变更
积分为空Loomy 尚未缓存积分摘要,或 LOOMY_LOCAL_STORAGE_DIR 配置有误

深入文档

架构、网关、浏览器卡片的实现约束与踩坑记录见 docs/internals.md(英文版 docs/internals.en.md)。

许可

MIT

免责声明

  • 本项目仅供个人学习和研究使用,仅驱动使用者本人的 Loomy 账号在本机调用,请勿用于商业用途或超出个人合理使用的场景。
  • 使用者须遵守 Loomy 服务条款;因使用本项目产生的一切后果(包括但不限于账号被限制、额度被清空、服务中断)由使用者自行承担。
  • 作者不对因使用或滥用本项目导致的任何直接或间接损失负责。
  • 本项目与 Loomy、讯飞(iFlytek)、DeepSeek 均无关联,未获其授权或认可;文中名称仅用于描述兼容关系,商标权利归各自所有者。

致谢