### Install vLLM and Start Local Server Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Installs the academic-refchecker package with vLLM support and starts a local vLLM server for inference. ```bash pip install "academic-refchecker[vllm]" python scripts/start_vllm_server.py --model meta-llama/Llama-3.3-70B-Instruct --port 8001 ``` -------------------------------- ### Frontend Development Setup Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Set up and start the Web UI frontend development server. Can be run separately from the backend. ```bash cd web-ui && npm install && npm start # http://localhost:5173 ``` ```bash # Terminal 1 — Backend python -m uvicorn backend.main:app --reload --port 8000 # Terminal 2 — Frontend cd web-ui && npm run dev ``` -------------------------------- ### Install and Run RefChecker Web UI with pip Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Install the necessary packages for the web UI and LLM capabilities, then start the web UI service. ```bash pip install academic-refchecker[llm,webui] refchecker-webui ``` -------------------------------- ### Docker Compose Setup Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Set up RefChecker using Docker Compose. This involves cloning the repository, configuring environment variables, and starting the services. ```bash git clone https://github.com/markrussinovich/refchecker.git && cd refchecker cp .env.example .env # Add your API keys docker compose up -d ``` -------------------------------- ### Install RefChecker with Web UI Package Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Install the academic-refchecker package with web UI support. This is the recommended way to get started for users who want to use the web interface. ```bash pip install academic-refchecker[webui] refchecker-webui ``` -------------------------------- ### Install RefChecker from Source Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Clone the repository, set up a virtual environment, and install the package in editable mode for development. Includes development requirements. ```bash git clone https://github.com/markrussinovich/refchecker.git && cd refchecker python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -e ".[llm,webui]" pip install -r requirements-dev.txt # pytest, playwright, etc. ``` -------------------------------- ### CLI Output Examples Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Examples of the command-line interface output from RefChecker, showing various error, warning, suggestion, and verification messages. ```text ❌ Error: First author mismatch: cited 'Jian He', actual 'Kaiming He' ❌ Error: DOI mismatch: cited '10.5555/3295222.3295349', actual '10.48550/arXiv.1706.03762' ⚠️ Warning: Year mismatch: cited '2019', actual '2018' ℹ️ Suggestion: Add ArXiv URL https://arxiv.org/abs/1706.03762 ❓ Could not verify: Llama guard (M. A. Research, 2024) 🚩 Hallucination assessment: LIKELY — no matching paper found in academic databases ``` -------------------------------- ### Install Web UI Dependencies Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Install the RefChecker web UI dependencies using pip. Use the '[webui]' extra for a standard installation, or '.[llm,webui]' if LLM support is also needed. ```bash pip install academic-refchecker[webui] ``` ```bash pip install -e ".[llm,webui]" ``` -------------------------------- ### Local Development: Install JS Deps and Run Tauri Source: https://github.com/markrussinovich/refchecker/blob/main/tauri-app/README.md Installs JavaScript dependencies for the Tauri frontend and starts the Tauri development server. Requires Node.js 20+. ```bash npm ci npm run tauri dev ``` -------------------------------- ### Install Academic RefChecker Source: https://github.com/markrussinovich/refchecker/blob/main/paper/paper.md Install the academic-refchecker package from PyPI using pip. ```bash # Install from PyPI pip install academic-refchecker ``` -------------------------------- ### Run RefChecker Backend and Frontend Separately Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Starts the RefChecker backend server using uvicorn and the Vite frontend development server independently. ```bash # Terminal 1 python -m uvicorn backend.main:app --reload --port 8000 # Terminal 2 cd web-ui npm run dev ``` -------------------------------- ### Run Targeted Example Tests Source: https://github.com/markrussinovich/refchecker/blob/main/docs/testing.md Execute specific test files. Use this for focused testing on particular modules or functionalities. ```bash pytest tests/unit/test_text_utils.py ``` ```bash pytest tests/integration/test_api_integration.py ``` ```bash pytest tests/integration/test_cached_full_paper_regression.py ``` -------------------------------- ### Install RefChecker with PyPI Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Install the academic-refchecker package with optional features for Web UI and LLM providers. Recommended for best extraction and hallucination checks. ```bash pip install academic-refchecker[llm,webui] # Web UI + CLI + LLM providers pip install academic-refchecker[llm] # CLI + LLM providers; recommended for best extraction and hallucination checks pip install academic-refchecker # CLI only; PDFs can still fall back to GROBID when available ``` -------------------------------- ### Configure Environment Variables for Multi-User Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Copy the example environment file and configure essential variables for multi-user mode, including JWT secret, site URL, and OAuth provider credentials. ```bash cp .env.example .env ``` ```ini REFCHECKER_MULTIUSER=true JWT_SECRET_KEY= SITE_URL=https:// Https_ONLY=true # At least one OAuth provider GOOGLE_CLIENT_ID=... GOOGLE_CLIENT_SECRET=... GITHUB_CLIENT_ID=... GITHUB_CLIENT_SECRET=... MS_CLIENT_ID=... MS_CLIENT_SECRET=... # Optional REFCHECKER_ADMINS=github:you # comma-separated; first sign-in is auto-admin MAX_CHECKS_PER_USER=3 # max concurrent checks per user (default: 3) ``` -------------------------------- ### Install RefChecker in Development Mode Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Installs the academic-refchecker package in editable mode with LLM and web UI support, suitable for development. ```bash pip install -e ".[llm,webui]" cd web-ui npm install npm start ``` -------------------------------- ### Install and Launch RefChecker Manually Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Installs the academic-refchecker package with LLM and web UI support and launches the web UI with multi-user and JWT secret key configuration. ```bash pip install "academic-refchecker[llm,webui]" REFCHECKER_MULTIUSER=true JWT_SECRET_KEY= GOOGLE_CLIENT_ID=... GOOGLE_CLIENT_SECRET=... \ refchecker-webui --port 8000 ``` -------------------------------- ### Docker Deployment with Other LLM Providers Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Examples of running RefChecker with Docker using API keys for OpenAI or Google LLM providers. ```bash docker run -p 8000:8000 -e OPENAI_API_KEY=your_key ghcr.io/markrussinovich/refchecker:latest ``` ```bash docker run -p 8000:8000 -e GOOGLE_API_KEY=your_key ghcr.io/markrussinovich/refchecker:latest ``` -------------------------------- ### Run RefChecker Web UI with Custom Host Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Starts the RefChecker web UI and makes it accessible on all network interfaces, overriding the default localhost binding. ```bash refchecker-webui --host 0.0.0.0 ``` -------------------------------- ### Run RefChecker Web UI Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Start the RefChecker Web UI application. Can be run with the default port or a custom port. ```bash refchecker-webui # default: http://localhost:8000 refchecker-webui --port 9000 # custom port ``` -------------------------------- ### OpenReview Integration Example Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Scan accepted papers for a specific OpenReview venue and save the report. This command fetches the paper list and then runs a bulk scan. ```bash # Scan accepted papers academic-refchecker --openreview iclr2024 --report-file report.json ``` -------------------------------- ### Install RefChecker with LLM and Web UI Support Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Install the academic-refchecker package with support for both LLM features and the web UI. This is recommended for advanced features like LLM extraction and hallucination checks. ```bash pip install academic-refchecker[llm,webui] ``` -------------------------------- ### Local Signing Environment Setup for Tauri Source: https://github.com/markrussinovich/refchecker/blob/main/tauri-app/docs/SIGNING.md Sets up necessary environment variables for local Tauri application signing and building. Ensure you have the correct signing identities and keys configured. ```bash export APPLE_SIGNING_IDENTITY="Developer ID Application: Your Name (ABCD123456)" export APPLE_ID="you@example.com" export APPLE_PASSWORD="app-specific-password" export APPLE_TEAM_ID="ABCD123456" export TAURI_SIGNING_PRIVATE_KEY="$(cat tauri-app/refchecker-updater.key)" # export TAURI_SIGNING_PRIVATE_KEY_PASSWORD="..." # if you set one cd tauri-app ./scripts/build-sidecar.sh npm ci npx tauri build --target aarch64-apple-darwin ``` -------------------------------- ### CLI Bulk Checking Example Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Use this command to perform a bulk check of papers listed in a text file. The report will be saved to a JSON file. ```bash academic-refchecker --paper-list papers.txt --report-file bulk_report.json ``` -------------------------------- ### Example JSON Report Structure Source: https://github.com/markrussinovich/refchecker/blob/main/README.md This is an example of the structure of a JSON report generated by RefChecker, detailing summary statistics and paper/record information. ```json { "generated_at": "2026-03-15T19:50:52Z", "summary": { "total_papers_processed": 1, "total_references_processed": 7, "total_errors_found": 2, "total_warnings_found": 2, "total_unverified_refs": 4, "flagged_records": 3, "flagged_papers": 1 }, "papers": [ { "source_paper_id": "local_hallucination_7ref_sample", "source_title": "Hallucination 7Ref Sample", "total_records": 6, "flagged_records": 3, "max_flag_level": "high", "error_type_counts": { "unverified": 3, "multiple": 2, "year (v1 vs v2 update)": 1 }, "reason_counts": { "unverified": 3, "web_search_not_found": 3 } } ], "records": [ { "ref_title": "Deep Residual Learning for Image Recognition", "ref_authors_cited": "Jian He, Xiangyu Zhang, Shaoqing Ren, Jian Sun", "ref_authors_correct": "Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun", "error_type": "multiple", "error_details": "- First author mismatch ...\n- Year mismatch ...", "ref_corrected_bibtex": "@inproceedings{he2016resnet, ... year = {2015} ...}", "hallucination_assessment": { "verdict": "UNLIKELY", "explanation": "..." } } ] } ``` -------------------------------- ### Launch RefChecker with Docker Compose Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Starts the RefChecker service in detached mode using Docker Compose. ```bash docker compose up -d ``` -------------------------------- ### Local Development: Build React Web UI Source: https://github.com/markrussinovich/refchecker/blob/main/tauri-app/README.md Builds the React web UI and copies its static assets to the backend's static directory. Ensure Node.js 20+ is installed. ```bash cd ../web-ui && npm ci && npm run build && cp -R dist/* ../backend/static/ ``` -------------------------------- ### Start a new check Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Initiates a new reference check. This can be done by uploading a document or providing a URL. ```APIDOC ## POST /api/check ### Description Start a new check from upload or URL ### Method POST ### Endpoint /api/check ``` -------------------------------- ### Run RefChecker Web UI with Custom Port Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Starts the RefChecker web UI on a specified port, overriding the default port 8000. ```bash refchecker-webui --port 8080 ``` -------------------------------- ### Sign Windows Binaries with Signtool Source: https://github.com/markrussinovich/refchecker/blob/main/tauri-app/docs/SIGNING.md This YAML snippet is for GitHub Actions workflows to sign Windows MSI installers using a PFX certificate and password. It requires the WINDOWS_CERTIFICATE environment variable to be set. ```yaml - name: Sign Windows binaries if: matrix.platform.os == 'windows-latest' && env.WINDOWS_CERTIFICATE != '' env: WINDOWS_CERTIFICATE: ${{ secrets.WINDOWS_CERTIFICATE }} WINDOWS_CERTIFICATE_PASSWORD: ${{ secrets.WINDOWS_CERTIFICATE_PASSWORD }} shell: pwsh run: | $cert = "$env:RUNNER_TEMP\cert.pfx" [IO.File]::WriteAllBytes($cert, [Convert]::FromBase64String($env:WINDOWS_CERTIFICATE)) & "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\signtool.exe" ` sign /f $cert /p $env:WINDOWS_CERTIFICATE_PASSWORD ` /tr http://timestamp.digicert.com /td sha256 /fd sha256 ` tauri-app/src-tauri/target/${{ matrix.platform.rust_target }}/release/bundle/msi/*.msi ``` -------------------------------- ### Docker Compose Management Commands Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Commands to manage the RefChecker Docker Compose setup, including viewing logs, stopping services, and updating the image. ```bash docker compose logs -f # View logs ``` ```bash docker compose down # Stop ``` ```bash docker compose pull # Update to latest ``` -------------------------------- ### Run RefChecker CLI for a Single Paper Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Install the academic-refchecker package with LLM support and use the CLI to check a paper by its ArXiv ID or local PDF path. ```bash pip install academic-refchecker[llm] academic-refchecker --paper 1706.03762 academic-refchecker --paper /path/to/paper.pdf ``` -------------------------------- ### Live progress updates via WebSocket Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Connect to the WebSocket endpoint for real-time updates on the progress of ongoing checks. This includes messages like 'started', 'progress', and 'completed'. ```APIDOC ## WebSocket Connect to `WS /api/ws/{session_id}` for live progress. Common message types: - `started` - `extracting` - `progress` - `reference_result` - `summary_update` - `completed` - `error` ### Method WS ### Endpoint /api/ws/{session_id} #### Path Parameters - **session_id** (string) - Required - The session ID for live updates ``` -------------------------------- ### RefChecker WebSocket Endpoint Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Connect to the WebSocket endpoint for live progress updates during checks. Common message types include 'started', 'progress', and 'completed'. ```text WS /api/ws/{session_id} ``` -------------------------------- ### RefChecker REST API Endpoints Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Overview of available REST API endpoints for interacting with the RefChecker service, including starting checks, managing history, and configuring LLM settings. ```text POST /api/check | Start a new check from upload or URL GET /api/history | List prior checks GET /api/history/{id} | Fetch one check result POST /api/recheck/{id} | Re-run a saved check DELETE /api/history/{id} | Delete a saved check PUT /api/history/{id} | Update stored metadata such as title GET /api/llm-configs | List saved LLM configurations POST /api/llm-configs | Create a saved LLM configuration PUT /api/llm-configs/{config_id} | Update a saved LLM configuration DELETE /api/llm-configs/{config_id} | Delete a saved LLM configuration POST /api/llm-configs/{config_id}/set-default | Set the default extraction LLM configuration POST /api/llm-configs/validate | Validate an LLM provider/model/key combination ``` -------------------------------- ### Generate JWT Secret Key Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Generate a secure JWT secret key required for multi-user server setup. This key is used for signing authentication tokens. ```bash python -c "import secrets; print(secrets.token_hex(32))" ``` -------------------------------- ### Run Full Test Suite Source: https://github.com/markrussinovich/refchecker/blob/main/docs/testing.md Execute all tests in the project. This command initiates the comprehensive testing process. ```bash pytest tests/ ``` -------------------------------- ### Reinstall Frontend Dependencies Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Troubleshoot frontend startup issues by removing the 'node_modules' directory and reinstalling dependencies using npm. ```bash rm -rf node_modules && npm install ``` -------------------------------- ### Run RefChecker Web UI with Docker Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Use this command to run the RefChecker web interface using Docker. Access the UI by navigating to http://localhost:8000 in your browser. ```bash docker run -p 8000:8000 ghcr.io/markrussinovich/refchecker:latest ``` -------------------------------- ### Docker Deployment with LLM API Key Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Deploy RefChecker using Docker, passing an LLM API key (e.g., Anthropic) via an environment variable. This is recommended for full functionality. ```bash docker run -p 8000:8000 -e ANTHROPIC_API_KEY=your_key ghcr.io/markrussinovich/refchecker:latest ``` -------------------------------- ### Configure OpenAI LLM Provider and Model Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Runs academic-refchecker using a PDF file, specifying OpenAI as the LLM provider and a specific GPT model for extraction. ```bash academic-refchecker --paper paper.pdf --llm-provider openai --llm-model gpt-4.1 ``` -------------------------------- ### Run Tests with Coverage Source: https://github.com/markrussinovich/refchecker/blob/main/docs/testing.md Execute tests and generate an HTML coverage report. This helps in identifying which parts of the code are covered by tests. ```bash pytest --cov=src --cov-report=html tests/ ``` -------------------------------- ### Configure vLLM Local LLM Provider and Model Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Runs academic-refchecker using a PDF file, specifying a local vLLM provider and a Llama model for extraction. ```bash academic-refchecker --paper paper.pdf --llm-provider vllm --llm-model meta-llama/Llama-3.3-70B-Instruct ``` -------------------------------- ### Frontend Project Structure Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md The directory structure for the RefChecker web UI frontend. Key directories include 'src' for components and utilities, and 'public' for static assets. ```text web-ui/ ├── src/ │ ├── components/ │ ├── stores/ │ ├── utils/ │ └── App.jsx ├── e2e/ ├── public/ ├── start.js └── package.json ``` -------------------------------- ### Run RefChecker Web UI with Custom Database Directory Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Specifies a custom directory for the local database files used by RefChecker. ```bash refchecker-webui --database-dir /path/to/local-db-folder ``` -------------------------------- ### CLI - Local File Input Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Use the CLI to check references by providing paths to local files such as PDF, LaTeX, text, or BibTeX. ```bash # Local files (PDF, LaTeX, text, BibTeX) academic-refchecker --paper paper.pdf academic-refchecker --paper paper.tex academic-refchecker --paper refs.bib ``` -------------------------------- ### Set LLM Provider and API Key Environment Variables Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Sets environment variables to configure the default LLM provider to Anthropic and provides a placeholder for the API key. ```bash # LLM export REFCHECKER_LLM_PROVIDER=anthropic export ANTHROPIC_API_KEY=your_key # Also: OPENAI_API_KEY, GOOGLE_API_KEY ``` -------------------------------- ### CLI - Output to File Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Save the human-readable output of the reference check to a specified file. ```bash # Save human-readable output academic-refchecker --paper 1706.03762 --output-file errors.txt ``` -------------------------------- ### Configure LLM Providers for Reference Extraction Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Sets an environment variable for the Anthropic API key and then runs academic-refchecker using the Anthropic LLM provider. ```bash export ANTHROPIC_API_KEY=your_key academic-refchecker --paper 1706.03762 --llm-provider anthropic ``` -------------------------------- ### Run All Tests Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Executes all unit, integration, and end-to-end tests for the RefChecker project. Coverage can be included. ```bash pytest tests/ ``` ```bash pytest tests/unit/ ``` ```bash pytest tests/e2e/ # End-to-end (Playwright) ``` ```bash pytest --cov=src tests/ # With coverage ``` -------------------------------- ### Production Build for Tauri App Source: https://github.com/markrussinovich/refchecker/blob/main/tauri-app/README.md Builds the production-ready version of the Tauri application for all target platforms. This command packages the frontend and the Python sidecar. ```bash npm run tauri build ``` -------------------------------- ### CLI - ArXiv Input Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Use the CLI to check references for a paper by providing its ArXiv ID or full URL. ```bash # ArXiv (ID or URL) academic-refchecker --paper 1706.03762 academic-refchecker --paper https://arxiv.org/abs/1706.03762 ``` -------------------------------- ### Configure Separate LLM Providers for Extraction and Hallucination Checks Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Runs academic-refchecker specifying a local vLLM model for extraction and an Anthropic model for hallucination checks. ```bash academic-refchecker --paper paper.pdf \ --llm-provider vllm --llm-model meta-llama/Llama-3.3-70B-Instruct \ --hallucination-provider anthropic --hallucination-model claude-sonnet-4-6 ``` -------------------------------- ### Local Development: Build PyInstaller Sidecar Source: https://github.com/markrussinovich/refchecker/blob/main/tauri-app/README.md Builds the PyInstaller sidecar for the Python backend. This step is necessary for local development to create the executable that Tauri will run. ```bash cd ../tauri-app ./scripts/build-sidecar.sh # macOS/Linux ``` ```powershell # scripts\build-sidecar.ps1 # Windows ``` -------------------------------- ### Run Tests by Directory Source: https://github.com/markrussinovich/refchecker/blob/main/docs/testing.md Execute tests within specific directories. Use this to focus on unit, integration, or end-to-end tests. ```bash pytest tests/unit/ ``` ```bash pytest tests/integration/ ``` ```bash pytest tests/e2e/ ``` -------------------------------- ### Download Local Database Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Downloads the specified academic database. Use this to prepare for offline verification or faster processing. ```bash python scripts/download_db.py \ --field "computer science" \ --start-year 2020 --end-year 2024 ``` -------------------------------- ### Run RefChecker with Local vLLM Endpoint Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Runs academic-refchecker using a PDF file, specifying a local vLLM server endpoint for LLM processing. ```bash academic-refchecker --paper paper.pdf --llm-provider vllm --llm-endpoint http://localhost:8001/v1 ``` -------------------------------- ### Set Google API Key Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Configures the Google API key as an environment variable for LLM services. ```bash export GOOGLE_API_KEY=your_key_here ``` -------------------------------- ### Run RefChecker with Local Database Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Configures RefChecker to use a local Semantic Scholar database or a directory containing local databases. This enables offline verification. ```bash academic-refchecker --paper paper.pdf --s2-db semantic_scholar_db/semantic_scholar.db ``` ```bash academic-refchecker --paper paper.pdf --database-dir /path/to/local-db-folder ``` -------------------------------- ### Fetch and Scan OpenReview Venue Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Fetches papers from a specified OpenReview venue and scans them, saving the report. ```bash academic-refchecker --openreview iclr2024 --report-file report.json ``` -------------------------------- ### Verify Signed macOS Build Source: https://github.com/markrussinovich/refchecker/blob/main/tauri-app/docs/SIGNING.md Verifies the integrity and signature of a locally built macOS application. Use these commands to ensure your application is correctly signed. ```bash codesign --verify --deep --strict --verbose=2 /Applications/RefChecker.app spctl --assess -vv /Applications/RefChecker.app # → "accepted" ``` -------------------------------- ### Fetch OpenReview Paper List Only Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Fetches only the paper list from a specified OpenReview venue and saves it to a custom file path. ```bash academic-refchecker --openreview aistats2025 --openreview-list-only --openreview-output-file paper_lists/aistats2025.txt ``` -------------------------------- ### Debug Workflow Commands Source: https://github.com/markrussinovich/refchecker/blob/main/docs/testing.md Commands for debugging tests. Use '-v -s' for verbose output and to see print statements, and '--pdb' to enter the debugger on failure. ```bash pytest -v -s tests/ ``` ```bash pytest --pdb tests/unit/test_text_utils.py ``` ```bash pytest -v -s tests/unit/test_text_utils.py::TestNameMatching::test_exact_name_match ``` -------------------------------- ### Create a saved LLM configuration Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Saves a new Large Language Model (LLM) configuration. ```APIDOC ## POST /api/llm-configs ### Description Create a saved LLM configuration ### Method POST ### Endpoint /api/llm-configs ``` -------------------------------- ### Docker Deployment with Persistent Data Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Configure Docker to use a persistent volume for data storage and pass an LLM API key. This ensures data is not lost when the container is stopped or removed. ```bash docker run -p 8000:8000 \ -e ANTHROPIC_API_KEY=your_key \ -v refchecker-data:/app/data \ ghcr.io/markrussinovich/refchecker:latest ``` -------------------------------- ### Update Local Databases with CLI Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Use the academic-refchecker CLI to build or refresh local databases. You can specify a minimum year for OpenAlex database updates. ```bash academic-refchecker --database-dir /path/to/local-db-folder --update-databases ``` ```bash academic-refchecker --database-dir /path/to/local-db-folder --update-databases --openalex-min-year 2020 ``` -------------------------------- ### Set OpenAI API Key Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Configures the OpenAI API key as an environment variable for LLM services. ```bash export OPENAI_API_KEY=your_key_here ``` -------------------------------- ### List saved LLM configurations Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Retrieves a list of all saved Large Language Model (LLM) configurations. ```APIDOC ## GET /api/llm-configs ### Description List saved LLM configurations ### Method GET ### Endpoint /api/llm-configs ``` -------------------------------- ### CLI - Single Paper Check Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Process a single paper using its ArXiv ID or URL. Displays processing status, reference details, and summary statistics including errors and warnings. ```bash 📄 Processing: Attention Is All You Need URL: https://arxiv.org/abs/1706.03762 [1/45] Neural machine translation in linear time Nal Kalchbrenner et al. | 2017 ⚠️ Warning: Year mismatch: cited '2017', actual '2016' [2/45] Effective approaches to attention-based neural machine translation Minh-Thang Luong et al. | 2015 ❌ Error: First author mismatch: cited 'Minh-Thang Luong', actual 'Thang Luong' [3/45] Deep Residual Learning for Image Recognition Kaiming He et al. | 2016 | https://doi.org/10.1109/CVPR.2016.91 ❌ Error: DOI mismatch: cited '10.1109/CVPR.2016.91', actual '10.1109/CVPR.2016.90' ============================================================ 📋 SUMMARY 📚 Total references processed: 68 ❌ Total errors: 55 ⚠️ Total warnings: 16 ❓ Unverified: 15 ``` -------------------------------- ### Verify Tauri Updater Signature Locally Source: https://github.com/markrussinovich/refchecker/blob/main/tauri-app/docs/SIGNING.md Verifies the signature of a downloaded Tauri updater artifact using the provided public key. This ensures the integrity of the downloaded update file. ```bash # After downloading RefChecker_0.1.0_aarch64.app.tar.gz and .sig from a release: npx --yes @tauri-apps/cli@2 signer sign \ --verify \ -k tauri-app/refchecker-updater.key.pub \ -s RefChecker_0.1.0_aarch64.app.tar.gz.sig \ RefChecker_0.1.0_aarch64.app.tar.gz ``` -------------------------------- ### Run Tests by Marker Source: https://github.com/markrussinovich/refchecker/blob/main/docs/testing.md Execute tests filtered by markers. Useful for running tests with specific characteristics, like excluding slow tests or including network-dependent ones. ```bash pytest -m "not slow" ``` ```bash pytest -m network ``` ```bash pytest -m llm ``` -------------------------------- ### Set Semantic Scholar API Key Environment Variable Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Sets the environment variable for the Semantic Scholar API key to potentially increase rate limits and speed up verification. ```bash # Performance export SEMANTIC_SCHOLAR_API_KEY=your_key # Higher rate limits / faster verification ``` -------------------------------- ### OpenReview Integration with Submitted Status Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Scan all public submissions for a specific OpenReview venue and save the report. This command allows for checking submitted papers. ```bash # Scan all public submissions instead academic-refchecker --openreview iclr2024 --openreview-status submitted --report-file report.json ``` -------------------------------- ### Set Anthropic API Key Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Configures the Anthropic API key as an environment variable for LLM services. ```bash export ANTHROPIC_API_KEY=your_key_here ``` -------------------------------- ### CLI - LLM Extraction Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Perform reference checking using LLM extraction for more complex bibliographies. Specify the LLM provider to use. ```bash # With LLM extraction (recommended for complex bibliographies) academic-refchecker --paper paper.pdf --llm-provider anthropic ``` -------------------------------- ### Generate Tauri Updater Ed25519 Keypair Source: https://github.com/markrussinovich/refchecker/blob/main/tauri-app/docs/SIGNING.md Generates a new Ed25519 keypair for signing Tauri updater artifacts. Prompts for a passphrase if --password is used. The private key should be kept secret and added to GitHub secrets. ```bash cd tauri-app ./scripts/generate-updater-key.sh --password # prompts you for a passphrase # or, ./scripts/generate-updater-key.sh ``` -------------------------------- ### Verify RefChecker API Authentication Providers Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Uses curl to check the available authentication providers exposed by the RefChecker API. ```bash curl http://localhost:8000/api/auth/providers # {"providers":["google","github"]} ``` -------------------------------- ### Set GROBID URL Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Overrides the default GROBID service URL with a custom endpoint. ```bash export GROBID_URL=http://localhost:8070 ``` -------------------------------- ### Bulk Check Papers Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Checks a list of papers provided in a text file and saves the report. ```bash academic-refchecker --paper-list papers.txt --report-file report.json ``` -------------------------------- ### Set default LLM configuration Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Designates a specific saved LLM configuration as the default for extraction tasks. ```APIDOC ## POST /api/llm-configs/{config_id}/set-default ### Description Set the default extraction LLM configuration ### Method POST ### Endpoint /api/llm-configs/{config_id}/set-default #### Path Parameters - **config_id** (string) - Required - The ID of the LLM configuration to set as default ``` -------------------------------- ### Audit Local Manuscript Source: https://github.com/markrussinovich/refchecker/blob/main/paper/paper.md Audit a local manuscript file (e.g., PDF) and save the results to a text file. ```bash # Audit a local manuscript and save a report academic-refchecker my_draft.pdf --output results.txt ``` -------------------------------- ### Validate LLM configuration Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Validates a combination of LLM provider, model, and API key to ensure it is correctly configured and functional. ```APIDOC ## POST /api/llm-configs/validate ### Description Validate an LLM provider/model/key combination ### Method POST ### Endpoint /api/llm-configs/validate ``` -------------------------------- ### Check Paper by arXiv ID Source: https://github.com/markrussinovich/refchecker/blob/main/paper/paper.md Use Academic RefChecker to check a paper identified by its arXiv ID, specifying the LLM provider and model. ```bash # Check a canonical paper by arXiv ID academic-refchecker --llm-provider openai --llm-model gpt-4.1 --paper 1706.03762 ``` -------------------------------- ### Save Structured Report Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Saves a structured report of reference checks in JSON format for a single paper. ```bash academic-refchecker --paper 1706.03762 --report-file report.json --report-format json ``` -------------------------------- ### Clean Project Artifacts Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Removes generated local artifacts such as logs, debug output, cache, and build files from the project. ```bash make clean # Remove generated local artifacts (logs, debug output, cache, build files) ``` -------------------------------- ### CLI - Hallucination Flagging Source: https://github.com/markrussinovich/refchecker/blob/main/README.md Checks for potential paper hallucinations by assessing if a paper is likely fabricated based on search results. Indicates when a paper could not be verified. ```bash [5/7] Efficient Neural Network Pruning Using Iterative Sparse Retraining Shuang Li, Yifan Chen | 2019 ❓ Could not verify 🚩 Hallucination assessment: LIKELY A web search for the exact title and authors yields no results in any academic database. The paper does not appear in ICML 2019 proceedings, indicating it is probably fabricated. ``` -------------------------------- ### List prior checks Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Retrieves a list of all previously performed reference checks. ```APIDOC ## GET /api/history ### Description List prior checks ### Method GET ### Endpoint /api/history ``` -------------------------------- ### Reference Status Icon Precedence Logic Source: https://github.com/markrussinovich/refchecker/blob/main/AGENTS.md This JavaScript code snippet defines the precedence for rendering reference status icons in the WebUI. It prioritizes hallucination, then errors, then warnings, and finally verification status. ```javascript export function getEffectiveReferenceStatus(reference) { if (reference.hallucination) { return 'hallucination'; } if (reference.error) { return 'error'; } if (reference.warning) { return 'warning'; } return reference.verified ? 'verified' : 'unverified'; } ``` -------------------------------- ### Fetch one check result Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Retrieves the detailed results for a specific reference check using its ID. ```APIDOC ## GET /api/history/{id} ### Description Fetch one check result ### Method GET ### Endpoint /api/history/{id} #### Path Parameters - **id** (string) - Required - The ID of the check to fetch ``` -------------------------------- ### Re-run a saved check Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Executes a previously saved reference check again, identified by its ID. ```APIDOC ## POST /api/recheck/{id} ### Description Re-run a saved check ### Method POST ### Endpoint /api/recheck/{id} #### Path Parameters - **id** (string) - Required - The ID of the check to re-run ``` -------------------------------- ### Update a saved LLM configuration Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Modifies an existing saved Large Language Model (LLM) configuration, identified by its configuration ID. ```APIDOC ## PUT /api/llm-configs/{config_id} ### Description Update a saved LLM configuration ### Method PUT ### Endpoint /api/llm-configs/{config_id} #### Path Parameters - **config_id** (string) - Required - The ID of the LLM configuration to update ``` -------------------------------- ### Encode macOS Certificate to Base64 Source: https://github.com/markrussinovich/refchecker/blob/main/tauri-app/docs/SIGNING.md Encodes the macOS Developer ID Application .p12 certificate to base64 format for use in GitHub secrets. Can be copied directly to the clipboard or saved to a file. ```bash base64 -i DeveloperIDApplication.p12 | pbcopy # macOS — clipboard # or base64 -i DeveloperIDApplication.p12 -o cert.p12.base64 ``` -------------------------------- ### Find macOS Signing Identity Source: https://github.com/markrussinovich/refchecker/blob/main/tauri-app/docs/SIGNING.md Retrieves the full signing identity string from the macOS keychain, which is required for code signing applications. ```bash security find-identity -v -p codesigning # → "Developer ID Application: Your Name (ABCD123456)" ``` -------------------------------- ### Delete a saved LLM configuration Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Removes a saved Large Language Model (LLM) configuration using its configuration ID. ```APIDOC ## DELETE /api/llm-configs/{config_id} ### Description Delete a saved LLM configuration ### Method DELETE ### Endpoint /api/llm-configs/{config_id} #### Path Parameters - **config_id** (string) - Required - The ID of the LLM configuration to delete ``` -------------------------------- ### Update stored metadata Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Modifies stored metadata for a saved check, such as its title, using its ID. ```APIDOC ## PUT /api/history/{id} ### Description Update stored metadata such as title ### Method PUT ### Endpoint /api/history/{id} #### Path Parameters - **id** (string) - Required - The ID of the check to update ``` -------------------------------- ### Delete a saved check Source: https://github.com/markrussinovich/refchecker/blob/main/docs/web-ui.md Removes a previously saved reference check from the system using its ID. ```APIDOC ## DELETE /api/history/{id} ### Description Delete a saved check ### Method DELETE ### Endpoint /api/history/{id} #### Path Parameters - **id** (string) - Required - The ID of the check to delete ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.