Adapt Pinscope to DeepSeek, auto datasheets, and a shared library.

Based on manvalan/pinscope main. Default LLM is DeepSeek with local
skills and PDF ingest. Datasheets are fetched from LCSC/TI, stored in
the component library, and review extracts abs-max with a deeper
checklist. Adds scripts/update-pinscope.sh for the production host.
This commit is contained in:
Cursor Agent
2026-08-27 23:06:23 +00:00
parent ab1c5b081c
commit 48246f31bd
53 changed files with 3005 additions and 314 deletions
+41 -28
View File
@@ -1,39 +1,51 @@
# Pinscope Backend — Environment Variables
# Copy to .env and fill in values. Only ANTHROPIC_API_KEY is required.
# Copy to backend/.env and fill in values. Only DEEPSEEK_API_KEY is required.
# -- AI ----------------------------------------------------------------------
ANTHROPIC_API_KEY=sk-ant-...
ANTHROPIC_MODEL=claude-sonnet-4-6
# Per-stage Anthropic model overrides (leave empty to use ANTHROPIC_MODEL)
MODEL_PINTABLE=
MODEL_PATTERN=
MODEL_VALIDATION=
# -- AI (DeepSeek, default) --------------------------------------------------
# Key from https://platform.deepseek.com/
DEEPSEEK_API_KEY=sk-...
DEEPSEEK_BASE_URL=https://api.deepseek.com
DEEPSEEK_MODEL=deepseek-v4-flash
DEEPSEEK_VISION_MODEL=deepseek-v4-flash-vision-exp
# enabled (default) | disabled — thinking mode on DeepSeek V4
DEEPSEEK_THINKING=enabled
DEEPSEEK_REASONING_EFFORT=medium
# PDF ingest (DeepSeek cannot take native PDFs)
# DEEPSEEK_PDF_MAX_CHARS=500000
# DEEPSEEK_PDF_IMAGE_PAGES=32
# Per-stage DeepSeek model overrides (leave empty to use the defaults below)
# Extraction stages default to the vision model so pin diagrams are readable.
# Review defaults to deepseek-v4-pro.
# MODEL_PINTABLE_DEEPSEEK=deepseek-v4-flash-vision-exp
# MODEL_PATTERN_DEEPSEEK=deepseek-v4-flash-vision-exp
# MODEL_SPECS_DEEPSEEK=deepseek-v4-flash-vision-exp
# MODEL_VALIDATION_DEEPSEEK=deepseek-v4-pro
# MODEL_AUTO_RESOLVE_DEEPSEEK=deepseek-v4-flash
# MODEL_NORMALIZE_DEEPSEEK=deepseek-v4-flash
# -- AI provider routing -----------------------------------------------------
# Default provider for every stage; per-stage env vars override.
# Valid values: anthropic | gemini
PROVIDER_DEFAULT=anthropic
# Set a specific stage to "gemini" to route just that stage to Gemini
# (leaves the rest on Anthropic). Skills-based extraction stages
# (pintable / pattern / specs) require Anthropic — Gemini has no
# equivalent of Anthropic Console Skills.
# PROVIDER_VALIDATION=gemini
# PROVIDER_POWER_TREE=gemini
# PROVIDER_AUTO_RESOLVE=
# Valid values: deepseek | anthropic | gemini
PROVIDER_DEFAULT=deepseek
# PROVIDER_VALIDATION=deepseek
# PROVIDER_AUTO_RESOLVE=deepseek
# -- Gemini (required when any PROVIDER_* is set to "gemini") ----------------
GEMINI_API_KEY=
GEMINI_MODEL=gemini-3-flash-preview
# Per-stage Gemini model overrides (leave empty to use GEMINI_MODEL)
# -- Anthropic (optional fallback) -------------------------------------------
# ANTHROPIC_API_KEY=sk-ant-...
# ANTHROPIC_MODEL=claude-sonnet-4-6
# MODEL_PINTABLE=
# MODEL_PATTERN=
# MODEL_VALIDATION=
# -- Gemini (optional) -------------------------------------------------------
# GEMINI_API_KEY=
# GEMINI_MODEL=gemini-3-flash-preview
# MODEL_VALIDATION_GEMINI=
# MODEL_POWER_TREE_GEMINI=
# -- Per-stage fallback ------------------------------------------------------
# If set, the stage retries once with FALLBACK_PROVIDER_<STAGE> /
# FALLBACK_MODEL_<STAGE> when the primary provider raises (e.g. Gemini 503
# UNAVAILABLE). FALLBACK_MODEL_<STAGE> may be empty — defaults to that
# provider's default model (ANTHROPIC_MODEL or GEMINI_MODEL). Leave
# FALLBACK_PROVIDER_<STAGE> empty to disable fallback for that stage.
# FALLBACK_MODEL_<STAGE> when the primary provider raises.
# FALLBACK_PROVIDER_VALIDATION=anthropic
# FALLBACK_MODEL_VALIDATION=claude-sonnet-4-6
@@ -44,10 +56,11 @@ GCS_BUCKET=
# -- CORS --------------------------------------------------------------------
# Frontend URL(s), JSON list
CORS_ORIGINS=["http://localhost:3000"]
CORS_ORIGINS=["http://localhost:3000","http://127.0.0.1:3000","http://localhost:18742","http://127.0.0.1:18742"]
# -- DigiKey (optional) ------------------------------------------------------
# Enables datasheet auto-fetch and parameter-based passive auto-resolve.
# Optional third datasheet source and parameter-based passive auto-resolve.
# Datasheets are fetched from LCSC (no key) and TI first; DigiKey is extra.
# DIGIKEY_CLIENT_ID=
# DIGIKEY_CLIENT_SECRET=
# DIGIKEY_ENVIRONMENT=production