DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Better Overleaf — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
B

dsh-better-overleaf

Better Overleaf

dsh-better-sidebar 的 Overleaf 标签页:通过 direct-CDP 浏览器登录账户(支持第三方 Chromium)、项目列表/切换、<workspace>/overleaf/ 下的工作区镜像、git/API 同步,以及通过侧边栏工作台预览文件

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:Hoemr/dsh-better-overleaf#8a2cf09572e5662b3cbe5f66c9b79779919bc69e
README兼容性版本

兼容性与来源证明

Better Overleaf 以 dsh-better-overleaf 发布,当前版本为 0.2.2。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/8

版本

0.2.2stable
2026/9/8
0.2.1stable
2026/8/27
0.2.0stable
2026/8/24

相关插件

正在加载相关插件…

最新版
0.2.2
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 2
周下载
0
最近提交
2026/9/10
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 productivity-workflow 分类下经过校验的插件。

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / git-graph / pet / remote-web-ui / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。Agent Teams@nanmicoder/dsh-agent-teamsAgentTeams for DeepSeek Harness:通过自然语言驱动多智能体团队协作(队长、成员、具有依赖关系的任务、消息传递),并在 Web GUI 中提供树状监视器

README

dsh-better-overleaf

Overleaf integration for DeepSeek Harness (DSH), built on dsh-better-sidebar's workbench. One Overleaf project ↔ one local git mirror under <workspace>/overleaf/<name>/, so the sidebar's explorer, editor, image/PDF previewers, Git panel, and conversation file references (@-mention) operate on Overleaf content directly.

How it works

Overleaf project ──┬── git bridge (git.overleaf.com/<id>)   ← two-way pull/push
                   └── website zip snapshot (cookie auth)   ← pull-only fallback
        │
        ▼
<workspace>/overleaf/<name>/   ← real git repo + .overleaf.json binding
        │
        ▼
dsh-better-sidebar workbench   ← explorer / editor / preview / Git panel / @引用
  • host (src/index.ts → lib/index.js): provides ctx.overleaf and the loopback-only /overleaf/* JSON routes (status / projects / bindings / login / cookie / bind / unbind / sync).
  • client (src/client/index.ts → lib/client.js): registers the Overleaf tab with dsh-better-sidebar when that optional peer is mounted; without it the plugin stays dormant but harmless (hot-pluggable).

Credentials never enter the browser bundle or route payloads: the host resolves OVERLEAF_COOKIE and OVERLEAF_GIT_TOKEN through ctx.credentials.

Compatibility

0.2.2 is aligned with DSH Desktop 2.0.5 / @deepseek-ai/dsh 0.1.2-rc.1:

  • peer deps are @deepseek-ai/cordis ^4.0.2, @deepseek-ai/dsh-credentials, @deepseek-ai/dsh-host-webserver, @deepseek-ai/dsh-tools at ^0.1.2-rc.1, and dsh-better-sidebar >=0.13.1 <0.19;
  • dsh.client.inject names dsh-better-sidebar (the client-module graph edge that guarantees the sidebar bundle arrives first). The retired @deepseek-ai/dsh-client-runtime package no longer exists in the harness — the client module system is @deepseek-ai/dsh-client-modules, which the shell loads itself.

Login

Direct-CDP login launches an installed Chromium-family browser with a loopback CDP port; after you log in, the session cookie is captured browser-side and stored host-side. No Playwright download, no ChromeDriver.

Persistent profile (default) — the login window uses a dedicated dsh profile at ~/.dsh/plugin-data/dsh-better-overleaf/browser-profile. You enter your credentials (or link Google OAuth) once; every later login opens that profile already authenticated and captures the cookie without typing anything. Set loginProfile: temporary to wipe the profile after each attempt instead.

Third-party Chromium browsers (CentBrowser, Brave, Vivaldi, …) are supported:

  • browserPath — set it in config, or pick 指定浏览器路径 in the tab, to point at any Chromium-family executable directly; it is tried first.
  • browserChannel: auto tries the Windows default browser first (registry lookup), then common install paths.
  • browserChannel: real (advanced) launches your daily browser with its REAL profile so saved accounts apply — requires that browser fully closed first (a running instance swallows the debug-port flag), and newer Chrome builds refuse CDP on the default profile entirely.
  • Manual fallback: copy the httpOnly overleaf_session2 cookie from DevTools → Application → Cookies (document.cookie cannot see it); saved values are verified against Overleaf before being stored.

Install

dsh plugin --profile desktop add dsh-better-sidebar@0.18.0   # >=0.13.1 <0.19
dsh plugin --profile desktop add dsh-better-overleaf@0.2.2
# then restart the app so the host halves mount; hard-refresh the web view

# dev flow:
# dsh plugin --profile desktop add link:D:/Coding/dsh-better-overleaf

If pnpm reports ignored build scripts for node-pty, set allowBuilds: { node-pty: true } in the profile's pnpm-workspace.yaml (the terminal feature needs it; everything else works without it).

Config

- insert:
    - id: overleaf
      name: dsh-better-overleaf
      config:
        transport: auto          # auto | git | api
        baseUrl: https://www.overleaf.com
        gitOrigin: https://git.overleaf.com
        browserChannel: auto     # auto | default | msedge | chrome
        browserPath: ''          # explicit executable, tried first
        playwrightHeadless: false
        loginTimeoutMs: 600000

transport: auto prefers git whenever OVERLEAF_GIT_TOKEN is stored; pulls degrade to API snapshots when only a cookie exists. The API transport cannot push (website endpoints are read-only for content); pushing requires the git bridge credential (account password, or the Git-integration token for SSO accounts).

Sync semantics

TransportPullPushNotes
git✅ pull --ff-only✅ push HEADfull history; better-sidebar Git panel shows real diffs
api✅ zip snapshot → wipe & commit❌refuses when the mirror has uncommitted changes

Binding writes .overleaf.json inside the mirror and excludes it via .git/info/exclude; unbind removes only the binding file, never your files.

Status / roadmap

Done: project list/switch, mirror bind/unbind, git clone/pull/push, API snapshot pull, direct-CDP login with custom browser path, manual cookie fallback, loopback-only routes, hot-pluggable optional peer.

Ideas welcome: agent-facing pull/push tool (so the model can sync itself), API push via folder/file upload endpoints, PDF compile preview.