{
  "manifest_version": "1",
  "slug": "deepseek-harness",
  "title": "DeepSeek Harness",
  "headline": "Run DeepSeek Harness on a remote server",
  "description": "DeepSeek Harness's web app on an always-on exe.dev VM: private behind your exe.dev login, with DeepSeek V4.1 Flash and no API key to paste.",
  "category": "ai-agents",
  "tags": [
    "deepseek harness",
    "dsh",
    "deepseek",
    "dsh web",
    "ai coding agent",
    "superagent",
    "self-hosted ai agent"
  ],
  "url": "https://exe.dev/deploy/deepseek-harness",
  "markdown_url": "https://exe.dev/deploy/deepseek-harness.md",
  "upstream": {
    "website": "https://deepseek-harness.github.io/deepseek-harness/",
    "source": "https://github.com/deepseek-ai/deepseek-harness",
    "docs": "https://deepseek-harness.github.io/deepseek-harness/",
    "license": "MIT"
  },
  "example_vm_name": "my-dsh",
  "time": "5 minutes",
  "stack": [
    {
      "name": "DeepSeek Harness",
      "detail": "`dsh web`, managed by systemd",
      "port": 3080,
      "data": "~/.dsh"
    },
    {
      "name": "Your project",
      "data": "~/project"
    },
    {
      "name": "DeepSeek V4.1 Flash",
      "detail": "Connected through exe.dev's LLM integration"
    }
  ],
  "access": [
    {
      "url": "https://my-dsh.exe.xyz:3080/",
      "who": "private",
      "what": "DeepSeek Harness in your browser, after a one-time sign-in link"
    },
    {
      "url": "ssh my-dsh.exe.xyz",
      "who": "private",
      "what": "your terminal"
    }
  ],
  "delivers": [
    "DeepSeek Harness's web app at `https://\u003cvm\u003e.exe.xyz:3080/`, behind your exe.dev login and DeepSeek Harness's own sign-in link.",
    "DeepSeek V4.1 Flash through exe.dev's LLM integration, with no API key to paste.",
    "A project folder at `~/project` on persistent disk.",
    "A service that keeps running when you close the tab and comes back after a reboot."
  ],
  "deployable": true,
  "deploy": {
    "new_vm_url": "https://exe.dev/new?prompt=Set%20up%20DeepSeek%20Harness%20on%20this%20VM%20by%20following%20the%20exe.dev%20recipe%20at%20https%3A%2F%2Fexe.dev%2Fdeploy%2Fdeepseek-harness.md%20from%20top%20to%20bottom.%0A%0AThe%20recipe%27s%20example%20VM%20name%20is%20my-dsh.%20This%20VM%27s%20name%20is%20the%20output%20of%20%60hostname%60%3A%20use%20it%20wherever%20the%20recipe%20writes%20my-dsh.%20Skip%20the%20step%20that%20creates%20the%20VM%3B%20you%20are%20on%20it.%0A%0AYou%20are%20done%20when%20all%20of%20these%20are%20true.%20Check%20each%20one%20yourself%3A%0A-%20DeepSeek%20Harness%27s%20web%20app%20at%20%60https%3A%2F%2F%3Cvm%3E.exe.xyz%3A3080%2F%60%2C%20behind%20your%20exe.dev%20login%20and%20DeepSeek%20Harness%27s%20own%20sign-in%20link.%0A-%20DeepSeek%20V4.1%20Flash%20through%20exe.dev%27s%20LLM%20integration%2C%20with%20no%20API%20key%20to%20paste.%0A-%20A%20project%20folder%20at%20%60~%2Fproject%60%20on%20persistent%20disk.%0A-%20A%20service%20that%20keeps%20running%20when%20you%20close%20the%20tab%20and%20comes%20back%20after%20a%20reboot.%0A%0ARun%20the%20VM-side%20commands%20in%20%22Start%20DeepSeek%20Harness%22%20and%20%22Open%20it%20in%0Ayour%20browser%22.%20If%20~%2F.dsh%2Fprofiles%2Fweb%2Fcordis.patch.yml%20already%20holds%0Amore%20than%20%60%5B%5D%60%2C%20add%20the%20two%20rows%20to%20it%20instead%20of%20replacing%20it%3B%20same%20for%0A~%2F.dsh%2F.env.%20Keep%20%60dsh%20web%60%20on%20its%20default%20127.0.0.1%20address%20and%20never%0Arun%20share%20set-public.%20Verify%20with%20the%20%60dsh%20headless%60%20command%2C%20check%20that%0A%60systemctl%20is-enabled%20dsh-web%60%20prints%20enabled%20and%20%60systemctl%20is-active%0Adsh-web%60%20prints%20active.%20Skip%20the%20optional%20sections%20%28own%20DeepSeek%20key%2C%0Asuperagent%29%20unless%20the%20owner%20asks.%20Finish%20with%20the%20sign-in%20link%20from%0Athe%20journal%20command%20in%20%22Open%20it%20in%20your%20browser%22%3B%20this%20conversation%20is%0Aprivate%20to%20the%20owner.%0A%0AFinish%20with%20the%20URLs%20I%20should%20open.%0A",
    "terminal": "curl -fsSL https://exe.dev/deploy/deepseek-harness/prompt.txt | ssh exe.dev new --prompt=/dev/stdin",
    "prompt": "Set up DeepSeek Harness on this VM by following the exe.dev recipe at https://exe.dev/deploy/deepseek-harness.md from top to bottom.\n\nThe recipe's example VM name is my-dsh. This VM's name is the output of `hostname`: use it wherever the recipe writes my-dsh. Skip the step that creates the VM; you are on it.\n\nYou are done when all of these are true. Check each one yourself:\n- DeepSeek Harness's web app at `https://\u003cvm\u003e.exe.xyz:3080/`, behind your exe.dev login and DeepSeek Harness's own sign-in link.\n- DeepSeek V4.1 Flash through exe.dev's LLM integration, with no API key to paste.\n- A project folder at `~/project` on persistent disk.\n- A service that keeps running when you close the tab and comes back after a reboot.\n\nRun the VM-side commands in \"Start DeepSeek Harness\" and \"Open it in\nyour browser\". If ~/.dsh/profiles/web/cordis.patch.yml already holds\nmore than `[]`, add the two rows to it instead of replacing it; same for\n~/.dsh/.env. Keep `dsh web` on its default 127.0.0.1 address and never\nrun share set-public. Verify with the `dsh headless` command, check that\n`systemctl is-enabled dsh-web` prints enabled and `systemctl is-active\ndsh-web` prints active. Skip the optional sections (own DeepSeek key,\nsuperagent) unless the owner asks. Finish with the sign-in link from\nthe journal command in \"Open it in your browser\"; this conversation is\nprivate to the owner.\n\nFinish with the URLs I should open.\n",
    "prompt_url": "https://exe.dev/deploy/deepseek-harness/prompt.txt"
  },
  "updated": "2026-10-31",
  "verified": "2026-10-31",
  "related": [
    "opencode",
    "hermes-agent",
    "pi",
    "codex",
    "claude-code",
    "openclaw"
  ]
}
