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 | shInstalls 1667 0.11.0. Supports macOS arm64/x64 and glibc 2.17+ Linux arm64/x64. Run 1667 upgrade for later managed releases.
powershell -ExecutionPolicy Bypass -c "irm https://1667.ai/install.ps1 | iex"Installs 1667 0.11.0 on Windows x64. Exit 1667 and run this command again to install a later release.
npm install --global @1667-ai/cli@latestNeeds Node 22. npm manages this installation. Use npm to install later releases.
git clone https://github.com/1667-ai/1667.gitcd 1667 && npm cicd tui && bun install --frozen-lockfile && bun startNeeds Bun 1.3.14 or later, and Node 22. Git manages this installation.
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.
Scroll sideways to read the full table.
| Server | Provider choice | Generation route | Token count |
|---|---|---|---|
| llama.cpp | llama.cppllama.cpp text | Chat, or native POST /completion | Near-exact from POST /tokenize |
| KoboldCpp | KoboldCppKoboldCpp text | Chat, or native POST /api/extra/generate/stream | Near-exact from POST /api/extra/tokencount |
| Ollama | Ollama | Chat | Estimate |
| LM Studio | LM Studio | Chat | Estimate |
| Any OpenAI-compatible server | OpenAI-compatibleOpenAI-compatible text | Chat, or POST /v1/completions | Estimate |
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 lineschatmladds ChatML markersserver-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.
- 011667builds the request
- 02Your endpointreceives the request
- 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.
166707 · limits
Current limits
These limits apply to every server and model.
- 01
Bring your own model
1667 connects to a model server. It does not run the model itself.
- 02
Phrase bias varies
Phrase bias and banned strings need tokenizer support. KoboldCpp can receive banned strings directly.
- 03
Reasoning is chat-only
Text completion routes do not show reasoning. Supported chat routes can.
- 04
Open a project once
Open each project in only one 1667 process at a time.
- 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