Skip to content
dsh.fish
Bundle

@lovstudio/dsh-llm-config

Reusable LLM configuration profile library exposed to browser consumers as a Remote

Source
lovstudio
License
MIT
Updated
Updated 2 days ago

Readme

# @lovstudio/dsh-llm-config

English | [中文](README.zh.md)

Host-side reusable LLM profile library. It owns the `llm-config` settings namespace and exposes `llmConfig.runCompletion` through a generated Typert Remote contribution. Each profile selects a provider, model, and system prompt; consumers address profiles by stable id without depending on the Host LLM service directly.

The package is intentionally Host-only. Browser editors belong in downstream Client packages such as `@lovstudio/dsh-llm-config-ui`; `@deepseek-ai/dsh-api-remotes` imports the generated Remote contribution and bundles its runtime codec dependencies for the browser.

## Install

Prerequisites: Node.js 22.19+ or 24+, pnpm 11 (`corepack enable` or `npm i -g pnpm`) — `dsh plugin` forwards to pnpm inside the profile directory.

**From a DeepSeek Harness source checkout (recommended — you get the harness source too):**

```sh
git clone --depth 1 --branch dsh-v0.1.2-rc.1 https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness && pnpm install && pnpm run build
pnpm dsh plugin --profile web add -w github:lovstudio/dsh-llm-config#v0.1.2
pnpm dsh web
```

**Without a checkout (npx; compiled harness only):**

```sh
npx @deepseek-ai/dsh plugin --profile web add -w github:lovstudio/dsh-llm-config#v0.1.2
npx @deepseek-ai/dsh web
```

`web` is the profile `dsh web` boots. The tag pins a commit whose `lib/` is prebuilt and committed, so nothing is compiled on your machine. Verified on 2026-09-04 against `dsh-v0.1.2-rc.1` in both forms. Remove with `dsh plugin --profile web remove @lovstudio/dsh-llm-config`.

## Local development

```sh
pnpm install
pnpm run watch
DSH_HOME=/Users/mark/.dsh-lov-dev pnpm --dir /path/to/deepseek-harness dsh plugin --profile web add -w link:/path/to/dsh-llm-config
```

The checkout owns its Host build and committed Typert artifacts; the isolated
profile keeps local iteration out of the Harness repository and the default
`~/.dsh` profile.

## Model Experience

### Profile completion request

#### What the model sees

The model sees the selected profile's exact `systemPrompt` followed by the caller's `content` as one user message. The shipped `market-search` profile asks for a concise dshfind keyword query and no explanation.

#### Token effect

The profile prompt is a fixed per-request cost; user content and the generated answer vary by call. The auxiliary answer is capped at `512` output tokens.

#### KV Cache effect

Prefix-stable while the selected profile's provider, model, and prompt remain unchanged. Changing a profile may invalidate reuse from the changed system-prompt segment; user content appends after that prefix.

## Known Limitations and Deferred Work

- Profiles are selected by exact id; there is no fallback profile.
- A missing profile, provider, or model fails the Remote call instead of silently choosing another route.
- Profile editing is provided by a separate browser package.

Install

dsh plugin --profile web add github:lovstudio/dsh-llm-config

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source