1667writing environment, terminal
contents
forkinstall

Local model guide

Ollama · LM Studio · llama.cpp · KoboldCpp

Setup

Connect a local model server

Use 1667 with Ollama, LM Studio, llama.cpp, KoboldCpp, or another OpenAI-compatible server. Your stories stay in your project folder, and 1667 does not require an account.

Model server
runs on your computer or network
Requests
go to the endpoint you choose
Story files
your project folder

00 · install

Install 1667

After installation, start your model server and choose its provider in Settings.

curl -fsSL https://1667.ai/install.sh | sh

Installs 1667 0.11.0. Supports macOS arm64/x64 and glibc 2.17+ Linux arm64/x64. Run 1667 upgrade for later managed releases.

verify the installer first

This optional path needs GitHub CLI. It verifies version 0.11.0 before it runs the local file.

d=$(mktemp -d) && (trap 'rm -rf "$d"' EXIT && cd "$d" && gh release download v0.11.0 --repo github.com/1667-ai/1667 --pattern install-stable.sh && gh attestation verify install-stable.sh --hostname github.com --repo 1667-ai/1667 --signer-workflow 1667-ai/1667/.github/workflows/release-npm.yml --source-ref refs/tags/v0.11.0 --source-digest bc4dc6e316045c9e117db076cd41fe6bc8787762 --deny-self-hosted-runners && sh install-stable.sh)$d=Join-Path ([IO.Path]::GetTempPath()) ([Guid]::NewGuid()); New-Item -ItemType Directory -Path $d | Out-Null; try { gh release download v0.11.0 --repo 1667-ai/1667 --pattern install-stable.ps1 --dir $d; if ($LASTEXITCODE -ne 0) { throw 'GitHub release download failed.' }; gh attestation verify (Join-Path $d 'install-stable.ps1') --hostname github.com --repo 1667-ai/1667 --signer-workflow 1667-ai/1667/.github/workflows/release-npm.yml --source-ref refs/tags/v0.11.0 --source-digest bc4dc6e316045c9e117db076cd41fe6bc8787762 --deny-self-hosted-runners; if ($LASTEXITCODE -ne 0) { throw 'GitHub attestation verification failed.' }; powershell -ExecutionPolicy Bypass -File (Join-Path $d 'install-stable.ps1'); if ($LASTEXITCODE -ne 0) { throw '1667 install failed.' } } finally { Remove-Item -LiteralPath $d -Recurse -Force }

01 · compatibility

Choose your server

Choose the matching provider in Settings. llama.cpp and KoboldCpp support both chat and text completion.

ServerProvider choiceGeneration routeToken count
llama.cppllama.cppllama.cpp textChat, or native POST /completionNear-exact from POST /tokenize
KoboldCppKoboldCppKoboldCpp textChat, or native POST /api/extra/generate/streamNear-exact from POST /api/extra/tokencount
OllamaOllamaChatEstimate
LM StudioLM StudioChatEstimate
Any OpenAI-compatible serverOpenAI-compatibleOpenAI-compatible textChat, or POST /v1/completionsEstimate

Hosted providers are also supported. See the full provider list.

02 · protocol

Use chat or text completion

Use a chat route, a standard POST /v1/completions route, or the native text route for llama.cpp or KoboldCpp.

Prompt format

  • rawsends message text separated by blank lines
  • chatmladds ChatML markers
  • server-templateuses the template built into the model loaded by llama.cpp

03 · context meter

See how much context you are using

The context meter shows the size of the next request. A symbol tells you whether the token count is exact, near-exact, or estimated.

8.1k

Exact

The next request has 8,100 tokens.

≈8.1k

Near-exact

Leave a small margin below the model's context limit.

~8.1k

Estimate

Leave extra room below the model's context limit.

04 · inspection

Preview the next model request

Press Ctrl+R to review the model, messages, settings, and token counts before sending. API keys are hidden.

Request viewer

See the model, messages, context window, and token counts.

Generation Record

Each generated take keeps the provider, model, and settings used to create it.

Token probabilities

See other tokens the model considered when the route supports them. This is off by default.

05 · network boundary

What leaves the machine

Model requests go only to the endpoint you choose. With a server on the same computer, your story text stays on that computer.

  1. 011667builds the request
  2. 02Your endpointreceives the request
  3. 03Your modelstreams the take

Update check

1667 checks registry.npmjs.org for new releases. Turn this off in Settings if you do not want the check.

Local connection checks

On Linux, run the local model server under the same account as 1667. On macOS and Windows, enable insecure HTTP (LAN) in advanced Settings for a plain HTTP connection. Use the same setting for a server elsewhere on your private network.

06 · start here

Use the starter stories first

Run 1667 normally. A fresh library includes two starter stories, so you can learn the interface before you connect a model server.

1667

07 · limits

Current limits

These limits apply to every server and model.

  1. 01

    Bring your own model

    1667 connects to a model server. It does not run the model itself.

  2. 02

    Phrase bias varies

    Phrase bias and banned strings need tokenizer support. KoboldCpp can receive banned strings directly.

  3. 03

    Reasoning is chat-only

    Text completion routes do not show reasoning. Supported chat routes can.

  4. 04

    Open a project once

    Open each project in only one 1667 process at a time.

  5. 05

    Pre-1.0 project format

    1667 is still pre-1.0. Back up important projects and read the release notes before you update.

Compatibility

Ask us to test another server or model

Open a GitHub issue