SMTHN.GD Lockd'In Workspace
M0 status: baseline hardening in progress.
This repository currently contains both migration-source code and new canonical product paths.
- Migration sources:
jarvis.py,lockdin_mvp/,DeepSeek-V4-Pro/,csm/ - Canonical destinations for new code:
apps/web/,apps/desktop/,packages/,docs/
M0 operational commands:
# Python and local service checks
python scripts/dev_doctor.py
# Soft mode for CI environments where local services are intentionally absent
python scripts/dev_doctor.py --allow-warn
# Milestone critique score (example)
python scripts/critique_milestone.py --milestone M0 --scores-json '{"Repository Hygiene":4,"Secret Safety":5,"Developer Experience":4,"Build Reproducibility":4,"Architecture Governance":4,"Migration Clarity":4}'See docs/M0_EXECUTION.md for ongoing M0 execution and docs/critique/ for milestone critique skills.
Legacy reference: Jarvis (DeepSeek + Sesame CSM) integration
Overview
- This repo integrates DeepSeek-V4-Pro (text generation) with Sesame CSM (voice generation) into a simple assistant called Jarvis.
Quick start (recommended: conda/miniforge on macOS)
- Install Miniforge and create env
# Install Miniforge (if not installed) then open a new terminal
conda create -n jarvis python=3.11 -y
conda activate jarvis- Install PyTorch + torchaudio via conda
conda install -c pytorch -c conda-forge pytorch torchaudio -y- Install the rest of the requirements
pip install --upgrade pip setuptools wheel
# remove or skip torch in requirements if conda installed it
pip install -r requirements.txt --no-deps
pip install openai-whisper sounddevice soundfile- DeepSeek V4 asset status
./DeepSeek-V4-Pro currently contains the V4 tokenizer, encoding, configuration, and inference source, but not model weights. DeepSeek V4 Pro is a 1.6T-parameter model whose reference runtime is CUDA/model-parallel and requires Torch 2.10+ and Transformers 5+ in a dedicated environment.
- (Optional) Set Hugging Face token for downloads
export HUGGINGFACE_HUB_TOKEN="hf_xxx"Run Jarvis (dry-run, fast)
# dry-run skips heavy models and simulates behavior
python jarvis.py --dry-runLegacy local model command (not currently runnable)
python jarvis.py --ds-ckpt ./DeepSeek-V4-Pro --ds-config ./DeepSeek-V4-Pro/inference/config.jsonDo not use this command until compatible checkpoint shards and a dedicated provider runtime are configured. The legacy Jarvis loader is a migration source; production integration belongs behind the M4 model adapter.
Fetching large assets for team
- To avoid committing large binary files to git, use the provided script
scripts/fetch_assets.sh. - Example:
scripts/fetch_assets.sh assetswill download the Miniforge installer intoassets/. - You can set
DEEPSEEK_URLto a tar.gz that contains theDeepSeek-V4-Procheckpoint tree, andSESAME_PROMPTS_URLto prompts archive.
Example usage (download Miniforge and DeepSeek archive):
# export DEEPSEEK_URL="https://example.com/deepseek.tar.gz"
DEEPSEEK_URL="<url-to-deepseek-tar.gz>" scripts/fetch_assets.sh assetsTeam workflow
- Clone repository with submodules:
git clone --recurse-submodules <repo>
- Run
scripts/fetch_assets.sh(or set the environment variables and run) to fetch large installers and model checkpoints into place. - This keeps the main git history small and lets team members obtain large assets from an external host.
Flags
--dry-run: simulate responses without loading model weights (useful for development)--enable-wake: enable microphone wake-word listening (requiressounddeviceandopenai-whisper)--wake-word: set the wake word (defaultjarvis)--device:auto|cpu|mps|cuda(auto-detectsmpson macOS)--once: print greeting and exit
Notes
- On macOS, generated audio is played automatically with
afplay(non-dry runs). - DeepSeek V4 Pro is not a CPU or single-consumer-GPU runtime target. Use a dedicated multi-GPU provider process or a hosted adapter.
- The
csm/checkout is currently unavailable, so Sesame voice runs only in fallback/mock mode.
If you want, I can help automate environment setup or run a full end-to-end test if you provide model checkpoints and confirm you want me to proceed.
S3 upload/download helpers
- This repo now includes
scripts/s3_assets.pyand shell wrappersscripts/upload_to_s3.shandscripts/download_from_s3.sh. - Usage examples:
- Upload a file or folder:
scripts/upload_to_s3.sh my-bucket assets/Miniforge3-MacOSX-x86_64.sh models # or recursive folder upload: python3 scripts/s3_assets.py upload --bucket my-bucket --key-prefix models --recursive DeepSeek-V4-Pro - Download a single key:
scripts/download_from_s3.sh my-bucket models/Miniforge3-MacOSX-x86_64.sh assets
- Download recursively by prefix:
scripts/download_from_s3.sh my-bucket models assets prefix
- Upload a file or folder:
Security: prefer using IAM roles (CI) or environment variables from .env (see .env.example) — never commit real credentials.