Bundle
dsh-llm-friendli
FriendliAI serverless LLM adapter for DeepSeek Harness — OpenAI-compatible chat completions with dynamic model discovery and reasoning support
- Source
- Lee-Si-Yoon
- stars
- 1 stars
- License
- MIT
- Updated
- Updated yesterday
Readme
# dsh-llm-friendli
[](https://www.npmjs.com/package/dsh-llm-friendli)
A [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) plugin that adds [FriendliAI](https://friendli.ai) as an LLM provider. Friendli speaks the OpenAI-compatible chat API, so the adapter implements the harness `LlmAdapter` contract over it and fetches the model catalog from Friendli at runtime.
## Quick start
Install the `dsh` CLI, add the plugin to a profile, export your key, and launch:
```bash
npm i -g @deepseek-ai/dsh # the dsh CLI (needs Node.js)
dsh plugin --profile web add dsh-llm-friendli # register the friendli provider
export FRIENDLIAI_API_KEY="flp_..." # your Friendli key
dsh web # friendli is now a provider
```
That's it. `dsh plugin add` merges the plugin's bundle patch into the profile, so the `friendli` provider is registered with working defaults — no config file to touch. Open the web UI, pick a Friendli model, and go. The model list is pulled live from Friendli.
Prefer not to install globally? Prefix each command with `npx @deepseek-ai/dsh` instead.
Confirm the layer loaded without booting:
```bash
dsh --profile web --dump-config # look for a "# == dsh-llm-friendli" layer
```
Get a key from the [Friendli dashboard](https://friendli.ai). It's read from the environment on every request, so never inline it in a config file or commit it.
## Configuration
The defaults work out of the box. To override any of them, add a config block in your profile's own `cordis.patch.yml`:
```yaml
- id: dsh-llm-friendli
name: 'dsh-llm-friendli'
config:
apiKeyEnv: FRIENDLIAI_API_KEY # default
baseURL: https://api.friendli.ai/serverless/v1 # default
providers: [friendli] # default
thinking: enabled # optional; on/off for controllable models
modelCacheTtlMs: 60000 # default; model-catalog cache
```
To use it outside `dsh web`, point an agent at a Friendli model id (as returned by `GET /models`). See [`examples/cordis.yml`](examples/cordis.yml) for a full fragment.
```yaml
- id: agent-loop
name: '@deepseek-ai/dsh-agent-loop'
config:
agents:
- id: main
provider: friendli
model: zai-org/GLM-5.2
```
## License
MIT © Lee-Si-Yoon
Install
dsh plugin --profile web add github:Lee-Si-Yoon/dsh-llm-friendli
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-llm-friendli from the hub
- 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.