# Linux and WSL2 experience

This entry prepares a clean, user-owned DeepSeek Harness web profile with the public Foggy Bundle.
It has been designed for Ubuntu 22.04/24.04 x86_64 and WSL2.

## Prerequisites

- Node.js `>=24.0.0` (the DSH 0.1.5-rc.2 compatibility candidate)
- Java 17 or newer
- Git, npm, and `tar`
- At least 4 GiB free disk space and 2 GiB available memory; 4 GiB memory is recommended

Keep the experience root on the Linux-native filesystem, such as under `$HOME`. In WSL2, do not
put DSH, `node_modules`, Foggy's private Python environment, or Foggy data under `/mnt/c` or `/mnt/d`.

## Prepare

```bash
git clone https://github.com/foggy-projects/foggy-deepseek-harness-plugin.git
cd foggy-deepseek-harness-plugin
bash experience/linux/prepare.sh --dry-run
bash experience/linux/prepare.sh
```

The script installs pinned pnpm and DeepSeek Harness 0.1.5-rc.2 inside
`~/.local/share/foggy-deepseek-harness-experience`, clones and packs the public Foggy Bundle, and
adds it to a clean DSH web profile. It does not use `sudo`, install operating-system packages, write
model credentials, initialize Foggy components, or start the web process.

Start the prepared profile with:

```bash
~/.local/share/foggy-deepseek-harness-experience/run.sh
```

Open the URL printed by DSH, then choose **Settings → Plugins → Foggy Data Analysis** and select
**Initialize Foggy**. Private Python, the CLI, Launcher, and analysis Skill are downloaded from their
pinned public Releases and verified before installation. A system Python is not required.

Provider configuration remains a separate DSH setup step. Store API keys in a private environment
file or secret manager; do not add them to the DSH settings document or the project repository.

## Custom roots

```bash
bash experience/linux/prepare.sh \
  --experience-root "$HOME/.local/share/my-foggy-experience" \
  --project-root "$HOME/my-foggy-workspace"
```

The script refuses a non-empty experience root. This prevents an existing profile from being
silently overwritten. Remove an abandoned test root yourself after confirming that it contains no
data you need, or choose a new root.
