dsh-Mimir-Academic-research

1692775560MIT活跃维护

一站式科研工作台插件,把 LaTeX 边写边编译、arXiv 文献管理、实验追踪、指标图表和 GPU 服务器 SSH 任务编排整合在一起,覆盖科研全周期。

Mimir — 一站式科研工作台插件:LaTeX 论文边写边编译、arXiv 文献管理、实验追踪、指标图表、GPU 服务器 SSH 任务编排,管理科研全周期。An open-source research workbench plugin for the whole research cycle.

暂无版本564star +3 / 7 天19fork同步于 2026-11-11 05:53 UTC

怎么上手

由 README 提炼,执行前请确认
npm install -g @deepseek-ai/dsh
dsh plugin --profile web add dsh-mimir@latest
dsh web
硬件要求按 README 说明

README 未说明本地显存或 GPU 型号要求;远程 GPU 通过 SSH 连接已记住的服务器执行任务,工作台本身以 Node.js 运行。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

DeepSeek Harness 里的一站式科研工作台插件,覆盖文献、实验、图表、LaTeX 写作到组会 PPT 全周期

一站式科研工作台插件,把 LaTeX 边写边编译、arXiv 文献管理、实验追踪、指标图表和 GPU 服务器 SSH 任务编排整合在一起,覆盖科研全周期。

核心能力

  • 九视图 Web 工作台,SSE 实时刷新 agent 写入内容
  • Overleaf 式 LaTeX 编辑编译预览,支持一键 AI 修复
  • arXiv 与网页检索,AI 相关性打分并内置 PDF 阅读器
  • SSH 编排 GPU 服务器任务,含探活与远程作业管理
  • 内置 11 个科研技能与斜杠命令,无需额外配置

容易踩的坑

需 Node.js ≥ 22 并设置 DEEPSEEK_API_KEY,否则 agent 会话不可用;0.23.0 要求 dsh ≥ 0.2.0-rc.1,旧版 dsh 需固定安装 0.21.0 或 0.16.0;LaTeX 编译需另装 tectonic 等引擎,首次编译会下载宏包可能超时;网页搜索需先运行 bash scripts/setup-web-search.sh 配置 SearXNG。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

0 个版本

暂无 release 数据(可能没有发版,或尚未同步)。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    What it is

    Mimir is a single npm package (dsh-mimir) that plugs into dsh and gives you:

    • Nine-view web workbench (sidebar toggle → overlay, dark/light, 中/EN): Overview pipeline & stats · Paper Overleaf-style LaTeX studio (edit → compile → PDF preview, one-click AI fix) · Library arXiv + web search, AI relevance scoring, fullscreen PDF reader · Experiments metric charts, one-click paper figures · Figures upload/organize/insert into the paper · Meetings one-click group-meeting PPT (real paper figures + optional AI illustrations) · Servers GPU fleet probes + remote jobs · Ledger humanized research journal — idea evolution auto-captured into a worktree, six-perspective digest capsules, one-click progress report · Venues CCF conference-deadline countdown (ccfddl catalog, per-project watchlist) + CCF-A journal directory — every view live-refreshes over SSE as the agent writes, no manual reload
    • Agent tools & slash commands: /research-idea /research-plan /research-review /paper-write /paper-compile, plus arxiv_search, web_search, wiki_note, figure_save, latex_compile, meeting_deck, venue_search, and the remote-compute quartet server_list / server_check / server_submit_job / server_list_jobs (same remembered servers and jobs as the Servers tab)
    • Eleven bundled research skills (literature review, novelty check, experiment planning, citation audit, bilingual de-AI polish, rebuttal…) that teach the agent the workflow — no setup needed
    OverviewPaperLibraryExperiments
    OverviewPaperLibraryExperiments
    FiguresMeetingsServersLedger
    FiguresMeetingsServersLedger

    ▶ Full MP4 demo (22 MB)

    Quickstart

    Prerequisites: Node.js ≥ 22, the dsh CLI (npm install -g @deepseek-ai/dsh), and a DEEPSEEK_API_KEY for agent sessions.

    dsh plugin --profile web add dsh-mimir@latest   # installs and self-activates
    dsh web                                          # then open http://127.0.0.1:3080
    

    Got an old version (e.g. 0.11.x/0.12.x)? dsh's plugin store uses pnpm, which holds back freshly published releases by default. Pin the exact version instead: dsh plugin --profile web remove dsh-mimir && dsh plugin --profile web add [email protected]

    Version compatibility: 0.23.0 requires dsh ≥ 0.2.0-rc.1 (upstream removed the runtime-invariants package and replaced the global current-session API with mainView retention + uiWorkspace.openSession; verified against 0.2.1-alpha.2). 0.21.0 and 0.21.1 are broken on dsh 0.2.x — their Typert manifest still emitted the retired schema: codec, so the whole research Remote failed to compose and every workspace read as empty; upgrade to 0.23.0. On dsh 0.1.x, pin the previous release: dsh plugin --profile web add [email protected]. 0.18.x–0.21.1 require dsh ≥ 0.1.2-alpha.4; on an older dsh, pin 0.16.0.

    Click Mimir in the sidebar footer. The wiki persists at ~/.dsh/storages/research_wiki.json; artifacts land under ./.research.

    Optional capabilities:

    • Paper compilation — install a LaTeX engine (brew install tectonic is easiest), or set latex.engine to a binary path
    • Web search — the digdig CLI (dg) ships with the package; give it a SearXNG server with one command (Docker-free, local venv):
      bash scripts/setup-web-search.sh
      
    • Zotero — set zotero.apiKey / zotero.userId in the plugin config (keys at zotero.org/settings/keys)

    Related projects

    • Mimir-Desktop — a standalone Electron desktop edition of the workbench: no dsh install, no backend to run, same feature set. Community-maintained by @hxhy00, MIT.

    Configuration

    All keys are optional; set them in the profile's cordis.patch.yml (full commented example: examples/mimir-agent/cordis.yml).

    KeyDefaultMeaning
    workspaceDir.researchResearch workspace root (artifacts, backups)
    latex.engineautolatexmk / tectonic probe, or absolute binary path
    search.commandautoWeb search: auto uses dg from PATH or the bundled copy
    reviewer.maxRounds3Per-project review-round budget
    backup.enabled / intervalMinutes / keeptrue / 60 / 24Scheduled wiki snapshots
    skills.enabledtrueRegister the eleven bundled research skills

    Troubleshooting

    • Plugin not found — dsh resolves plugin names from the profile directory; install with dsh plugin --profile web add dsh-mimir@latest, not from your cwd.
    • Cannot find package '@deepseek-ai/dsh-…' at startup — the profile has the plugin but none of the dsh packages the host is supposed to provide. Mimir imports @deepseek-ai/dsh-storage-domain, dsh-tools, dsh-atomic-write, dsh-llm and dsh-typert-protocol at module scope, because @Remote decorators and the wiki domain spec are evaluated when the module loads; they cannot be loaded lazily or bundled (they hand the plugin the host's own Service and tool-registry instances). An installer that provisions a package's peers — dsh plugin … add, or npm/pnpm with peer installation left on — makes them resolvable; one that does not leaves the plugin unable to import. If you hit this, reinstall through dsh plugin --profile <profile> add dsh-mimir@latest rather than copying the package into the profile by hand.
    • LaTeX engine not found — brew install tectonic, or point latex.engine at an absolute path. First tectonic compile downloads packages; raise latex.timeoutMs if it times out.
    • arXiv fails — export HTTPS_PROXY before starting dsh when behind a proxy.
    • Web search unavailable — run bash scripts/setup-web-search.sh (local SearXNG), or dg init against your own instance, then restart dsh.

    Changelog

    • 0.23.0 — protocol version handshake between the panel and the host: version drift now surfaces as an upgrade banner instead of silent contract skew (#250) · wiki snapshot summary shows the real table set, the exclusions, and the per-table impact (#253) · imported projects with a non-main.tex entry file persist it across editing, compile, and snapshot reverts (#249) · nested figure scan with deep .tex reference rewriting (#255) · evidence graph polish: stable node hues, focus mode, keyboard navigation (community PR #287) · internal: the panel's double Result envelope unwrap collapsed into one helper (#251), and the Remote contract shed its dead fields behind a full inventory at docs/remote-contract.md (#245)

    • 0.22.0 — SSH password auth for remembered servers: passwords are stored locally and never cross the wire (list views carry only a hasPassword marker), an omitted password keeps the stored one and an empty string clears it (#263) · security-hardening batch from a four-way review: the write boundary now requires a loopback Host allowlist match on top of Origin==Host (DNS rebinding makes those trivially equal), trusted reads verify the socket peer is loopback, workspace file access is confined by realpath everywhere (~20 call sites), and a symlinked import source root is materialized as a real directory (#213) · paper_fetch rides the shared paper merge under the per-paper mutation lock, so re-fetching no longer drops notes or project links (R29 / #230); the remaining paper writers (wiki add/set, Zotero import) take the same lock · a rejected job driver now settles the job as failed instead of crashing the host · set_project accepts the lifecycle stage the skills instruct · the figures view's AI-organize marker times out on the poll tick instead of spinning "organizing" forever when the agent never answers

    • 0.21.2 — fixes the empty-workbench regression on dsh 0.2.x: the Typert manifest emitted the retired schema: codec shape, and dsh validates the manifest atomically, so one stale codec unregistered every strict endpoint of the research Remote — previously added workspaces vanished and new ones would not load (#276, #268); the generator now emits create() factories for all 165 strict codecs, and a new spec asserts the contract per face so a regression fails the suite instead of shipping · breaking: the web-search integration moves from the sxng CLI to the digdig CLI (dg) (#277) — search.command now resolves dg (its auto bundled copy ships with the package), the panel's config block and the getSxngConfig/setSxngConfig Remote methods are renamed to their digdig equivalents, and /skill-sync copies the digdig skill; rerun bash scripts/setup-web-search.sh or dg init after upgrading

    • 0.21.1 — adapt to dsh 0.2.x: the upstream runtime-invariants package is gone (both invariant companion plugins and the dsh-invariants peer removed), the reviewer subagent moves to subagents.startActivation, and sessions follow the new mainView retention semantics with switching via uiWorkspace.openSession · fixes 0.21.0 being uninstallable on dsh ≥ 0.2 (its peer depended on the removed dsh-invariants)

    • 0.21.0 — manage projects inside the panel: create, rename, and delete with a cascaded cleanup (experiments, figures, venue watches, ideas, paper links, meeting decks; the paper directory goes only for imported projects) plus the dsh session switcher for the "… with AI" target (#160); delete runs as a disk-first orchestrator under per-project/paper mutation locks, and deselecting a project flushes the draft and clears every per-project slice · venue_search timeline schema fix, arXiv search fallback, and a configurable arxiv.timeoutMs (#264) · meeting-deck paper picking reworked: preselected top-5 candidates, search, and per-paper score reasons

    • 0.20.0 — quality batch 4: compile status survives restarts (backfilled from the on-disk PDF as "compiled in a previous session") (#221) · scheduled tasks get bounded exponential backoff plus a per-task health view on the overview (#223) · unified remote-job lifecycle contract — duration-cap kills settle as unknown (outcome unobserved), capture-cap floods as an explicit failed (#225) · experiment metrics gain min/max directions and zero-baseline charts (negative bars extend left, best run shaded) (#220) · one cancellation contract for long tasks — compiles and deck generations abort on panel cancel AND host dispose, and the lastJob schema accepts cancelled (#247) · community merges: incremental evidence graph with retraction & audit timeline + ledger fixes by @EriXPsy (#262, #155) · PaperViz warm paper palette (#258) · pending wiki-import recovery by @hkwuks (#259) · host failure-code localization by @AshlynYang-dev (#260) · website & READMEs now link the community desktop edition Mimir-Desktop by @hxhy00

    • 0.19.0 — issue-batch fixes: figure extraction honors cancellation end to end (#233) · LaTeX main.log reads capped at a 1 MiB tail (#234) · per-record venue-cache guard + a guarded localStorage codec (#241) · reviewer rounds get a per-attempt timeout (new reviewer.timeoutMs, default 10 min), one fresh retry, and a structured failed outcome that no longer burns the round budget (#246) · the reading-notes panel no longer drops paragraphs or legacy notes (#248) · review-round merges by @hkwuks: research PDF/figure route hardening (#138), zotero 429 default wait (#139), meeting-deck path validation (#140), inverted moment-window guard (#143), calendar-day venue countdown in the panel (#142) · SSH jobs interrupted on host dispose, paper-source read/write lock coherence, figure insert/rename under the body lock (#156–#159) · CI style gate (check-style.mjs) with PR template and CONTRIBUTING hard gate

    • 0.18.1 — stale subscription-lock recovery (a crashed writer no longer wedges every later check) and workspace-scoped coalescing of concurrent venue-cache refreshes by @mikemikimike (#144, fixes #141) · sxng integration by @hkwuks (#137): optional sxng-cli tracks latest, missing-CLI guidance names your actual package manager, new /skill-sync command copies the upstream sxng skill into the dsh skills dir · devDependencies track dsh 0.1.2-rc.1 (verified against 0.1.3-alpha.1; peer floor unchanged)

    • 0.18.0 — Features: Venues (ninth view): CCF conference-deadline countdown on the ccfddl catalog, per-project watchlist, CCF-A journal directory, venue_search agent tool · SSE live refresh: wiki writes push to the open panel over /research/events, every warm view follows agent/teammate edits without a reload · collapsible sidebar, narrower outline rail, compact buttons · verified architecture docs: docs/architecture.md (中文). Fixes: two hardening rounds, 23 items — path-traversal / SSH-injection safety, load-time quarantine for unsafe library ids, SSE heartbeat write-guard + reconnect resync, autosave/save-lane races on project switch, subscription checks under the file lock, live-refresh starvation and stale-read guards; controller lifecycle isolation by @hkwuks (#129)

    • 0.17.1 — compact UI pass: all buttons one notch smaller (28px / 12px, one shared base style across every view); paper view panes keep usable min-widths (editor ≥ 360px) with a horizontal-scroll fallback instead of crushing the source column

    • 0.17.0 — adapts to dsh 0.1.2-alpha.4 (upstream removed dsh-client-runtime; injection now goes through dsh-api-session-controller + dsh-client-ui-renderer; breaking API alignment — fixes client type pollution and panel load failures on the new dsh). Requires dsh ≥ 0.1.2-alpha.4; on older dsh stay on 0.16.0. Also ships the moment timeline & eureka view by @EriXPsy (#127): five-source moment candidates (burst / return-after-dormancy / cross-line convergence / long-sitting / milestone), canonical-candidate-declined timeline, read-only remotes

    • 0.16.0 — Humanized ledger by @EriXPsy (#125): CBE cognitive map, brief view, idea-evolution worktree with ambient auto-capture, six-perspective digest capsules; research-paper-deai bilingual de-AI polish skill by @hkwuks (#126, synthesized from MIT-licensed aigc-humanizer-zh + blader/humanizer, LaTeX-safe with compile re-check)

    • 0.15.1 — cancelling web_search now terminates the sxng child process (no more zombie processes) by @hxhy (#124)

    • 0.15.0 — SearXNG web search by @hkwuks (#122): sxng-cli config panel (SxngConfig) in the Library web tab, agent search routed through the sxng skill; local LaTeX project import by @1692775560; tolerant project args + PDF fullscreen portal by @Nick (#120)

    • 0.14.0 — SearXNG web search by @hkwuks (#114): web_search tool + Library web-source tab; bundled sxng-cli + one-command SearXNG setup

    • 0.13.0 — figure-by-figure meeting decks from real paper PDFs, meeting_deck agent tool, academic-Group-meeting-skills pipeline integration

    • 0.12.0 — Meetings tab (group-meeting PPT), research-meeting-deck skill

    • 0.11.0 — single-package install: the workbench ships inside dsh-mimir itself

    • 0.10.0 — venue templates (CVPR/NeurIPS/ACL/IEEE/ACM…), custom kit upload, format-to-venue

    • 0.9.0 — per-project literature, AI relevance scoring, figure rename/caption + figure_organize, fullscreen PDF reader

    • 0.8.x — bundled research skills; collapsible subscriptions & project list

    • 0.7.0 — Zotero integration; Linear-style visual overhaul

    • Earlier — arXiv subscriptions, paper snapshots (diff/revert), metric→figure generation, related-work drafts, job writeback

    Contributing

    Branch off main (feature/<name> / fix/<name>), keep pnpm run build && pnpm test && pnpm run typecheck green, and open a PR — see CONTRIBUTING.md. Please merge PRs with a merge commit (not squash) so contributor authorship shows up on the contributors graph. For the big picture, start with the verified architecture overview: docs/architecture.md (中文).

    Contributors so far: @EriXPsy (Ledger view, humanized journal) · @hkwuks (SearXNG web search, sxng CLI, de-AI skill) · @hxhy (web_search cancellation fix) · @hxhy00 (Mimir-Desktop, the standalone desktop edition)

    Community

    Questions, ideas, or show-and-tell — join the WeChat group. The group QR refreshes every 7 days (the current one is valid until Nov 11); if it has expired, add Nick and he'll pull you in:

    Support

    If Mimir saved you time, buy the devs a coffee — every bit goes into keeping the project alive:

    Acknowledgments

    License

    MIT