explaingit

tivris/scinet-queue

17RustAudience · researcherComplexity · 3/5ActiveSetup · moderate

TLDR

Rust CLI named snq that manages Sci-Net paper requests, imports DOIs, drives a real browser for login, and stores a queue as a local JSONL file.

Mindmap

mindmap
  root((scinet-queue))
    Inputs
      DOI lists
      Sci-Net login
      Managed browser profile
    Outputs
      Local queue.jsonl
      Downloaded PDFs
      JSON command output
    Use Cases
      Track paper requests
      Bulk import DOIs
      Script with --json
    Tech Stack
      Rust
      Cargo
      Chrome DevTools Protocol
      WebDriver BiDi

Things people build with this

USE CASE 1

Bulk request academic PDFs from Sci-Net by importing a DOI list

USE CASE 2

Watch and fetch incoming PDFs into a local research folder

USE CASE 3

Mark reviewed papers as locally approved without notifying the network

USE CASE 4

Drive snq from a script or agent via the --json flag on every command

Tech stack

RustCargo

Getting it running

Difficulty · moderate Time to first run · 30min

Login flows need a Chromium or Firefox browser installed locally for snq to drive under a managed profile.

In plain English

scinet-queue is a small command line tool written in Rust for managing paper requests on Sci-Net, a peer-to-peer service where researchers ask each other to fetch academic PDFs. The binary is called snq. The author describes the project as early stage but says builds for macOS, Linux, and Windows are tested in CI. You can grab a precompiled binary from the GitHub releases page or install from source with Rust 1.85 or newer using cargo. The typical flow is short. Log in once, import a list of DOIs (the unique IDs that identify academic papers) from a Markdown or text file, send a request for each, wait until peers upload a PDF, fetch those PDFs to a local folder, and then mark the papers you have reviewed as approved in the local queue. The README is clear that approval only records a local note. It does not release tokens or send any approval action to Sci-Net, so nothing happens on the network until you confirm. For things that need to be logged in, snq drives a real browser under its own profile. Chromium-style browsers are controlled through the Chrome DevTools Protocol and Firefox-style browsers through WebDriver BiDi. The tool does not bundle a browser and does not try to read cookies from your existing browser profile or the system keychain. You log in once through the managed profile and snq reuses that session headlessly afterward. Most commands accept a --json flag so an agent or script can consume the output. Subcommands include add, import, list, remove, check, request, watch, view, fetch, approve, session, browsers, and doctor. The queue itself lives in a plain .snq/queue.jsonl file in the current working directory, which makes it easy to inspect or version control alongside a research project.

Copy-paste prompts

Prompt 1
Install snq from a precompiled GitHub release on macOS and log in once with the managed browser profile
Prompt 2
Import a Markdown file of DOIs into scinet-queue and send a request for each one
Prompt 3
Watch the queue with snq and auto-fetch PDFs as peers upload them on Sci-Net
Prompt 4
Pipe snq list --json into jq to filter pending requests older than seven days
Prompt 5
Explain how snq uses Chrome DevTools Protocol and WebDriver BiDi to reuse a logged-in browser session
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.