ZYR

Checking · ZY-S1 Preview

OpencodingAI,on your CPU.

ZY-S1 is a 1.18B open coding model. It plans, then writes, and runs on an ordinary processor in about 1.3 GB of RAM.

1.18B parameters✦
PrefixLM✦
4-bit GGUF✦
≈15.9 tok/s on 8 threads✦
CPU only✦
Apache-2.0✦
Thinking panel✦
Off · Low · High effort✦
OpenAI-compatible server✦
Built in India✦

→Why ZY-S1

The product

It plans, then it writes.

On Low or High effort a short numbered plan streams into the Thinking panel before the answer.

zyr3.vercel.app/chat
Write a function is_even(n) that returns True if n is even.
ZY-S1thinking · low
  1. 1Take n as input
  2. 2Return n % 2 == 0
  3. 3Check: handles negatives
def is_even(n):
    return n % 2 == 0
Reply to ZY-S1…

Capabilities

Small model. Sharp focus.

Everything ZY-S1 does, it does in the open and on hardware you already own.

01 / 06

Small functions, written fast

Ask for one self-contained function in Python, JavaScript, TypeScript, C++, Go or Rust. It answers in a highlighted block you can copy.

02 / 06

A plan before the code

On Low or High, a short numbered plan streams into the Thinking panel first. Read it, then collapse it.

03 / 06

Off, Low or High effort

Pick how much thinking you want per message. Off answers straight away, High adds a check round.

04 / 06

Streams as it types

Every token streams as it is generated, so you watch the answer build instead of waiting for it.

05 / 06

Routed to the right tool

The gateway sends code to ZY-S1, arithmetic to a calculator so numbers come back exact, and everything else to a 0.5B helper.

06 / 06

No GPU required

The 4-bit build is about 700 MB and needs about 1.3 GB of RAM. An ordinary processor is enough.

→How ZY-S1 thinks

From your message to the answer.

  1. 01

    Prompt

    You ask for something. The gateway routes it to ZY-S1, the calculator or the helper.

  2. 02

    Think

    On Low or High, a short numbered plan streams live into the Thinking panel. High adds a check round.

  3. 03

    Answer

    ZY-S1 reads the whole prompt bidirectionally, then streams the answer left to right.

Effort

You choose how hard it thinks.

The effort pill sits next to the input. Change it per message.

Off512 tok cap

Answers straight away. Best for quick, obvious requests.

Low768 tok cap

A short numbered plan streams into the Thinking panel, then the answer.

High1,024 tok cap

The plan plus a check round before it answers.

Runs on your CPU

15.9tok/s

About 15.9 tokens per second on 8 CPU threads with zy-engine. No GPU, no account, no network once it is downloaded.

≈700 MB
Q4_K_M file
≈1.3 GB
RAM at 2,048 ctx
~/ZY-S1-GGUF · bash
$ git clone https://huggingface.co/zyr-AGENT/ZY-S1-GGUF$ cd ZY-S1-GGUF/zy-engine$ cmake -S . -B build && cmake --build build -j --target zy-engine$ ./build/zy-engine -m ../ZY-S1-Q4_K_M.gguf -t 8 -i# CPU only · 8 threads · interactive chat> write a function add(a, b)def add(a, b):    return a + b
1.18Bparameters
701MiB · Q4_K_M file
4,096token context
15.9tok/s on 8 CPU threads

Run it

Five commands to local.

Build zy-engine, chat in the terminal, start an OpenAI-compatible server, or call it from Python.

# needs CMake 3.18+ and a C++17 compiler, no GPU$ git clone https://huggingface.co/zyr-AGENT/ZY-S1-GGUF$ cd ZY-S1-GGUF/zy-engine$ cmake -S . -B build && cmake --build build -j --target zy-engine$ ./build/zy-engine -m ../ZY-S1-Q4_K_M.gguf -p "Write a function add(a, b)."
↔Use cases

What people ask it for.

01

Write a function

Describe it in a sentence and watch it stream.

> write is_even(n)

def is_even(n):
    return n % 2 == 0
02

Explain a concept

A short, two-sentence explanation of one idea.

> explain recursion

A function that calls itself
on a smaller input…
03

Quick math, exact

Arithmetic goes to a calculator, so numbers come back exact.

> 15% of 240

= 36   (calculator · exact)
04

Run it offline

Download the 4-bit build and keep working without a network.

$ ./build/zy-engine \
   -m ZY-S1-Q4_K_M.gguf -i

Private by default

Your code stays yours.

Run the weights on your own machine and nothing leaves it. On this site, conversation text isn't stored; the server keeps only basic request logs to enforce rate limits.

  • Chats not stored
    Only time, token counts and IP address, for rate limits.
  • Offline once downloaded
    No GPU, no account, no network.
  • Your own server
    zy-engine speaks the OpenAI chat API on localhost.

Model card

ZY-S1 Preview

ZY-S1 Preview specifications
Parameters1.18B
ArchitecturePrefix language model (PrefixLM), based on Sapient AI HRM-Text-1B
AttentionPrompt read bidirectionally, response written causally
ContextUp to 4,096 tokens
Weights4-bit GGUF · Q4_K_M ≈ 700 MB (701 MiB)
MemoryAbout 1.3 GB RAM at a 2,048-token context
Runtimezy-engine, CPU only
Speed≈ 15.9 tok/s on 8 CPU threads
TrainingSupervised fine-tuning, 1,000 steps · corrective fine-tuning, 120 steps
LicenseApache-2.0 (declared in the repository)
StatusPreview, for research and evaluation

Latest from the blog

Introducing ZY-S1

How a 1.18B prefix language model was fine-tuned for small coding tasks, and why it runs on a CPU.

FAQ

Good questions.

What is ZY-S1 good at?
Short, self-contained tasks: a single small function, or a two-sentence explanation of a concept. Longer, multi-part requests are harder for it, so ask for one thing at a time.
Why does it run on a CPU?
The 4-bit file is 701 MiB and needs about 1.3 GB of RAM at a 2,048-token context. Generation is mostly limited by memory bandwidth, so an ordinary processor is enough.
Why do llama.cpp, Ollama and LM Studio give worse answers?
ZY-S1 is a prefix language model. Stock llama.cpp runs it with causal attention only, so the prompt is read the wrong way, and apps built on it share that limitation. zy-engine reads the prompt in one bidirectional pass.
Can I use it in my own project?
The repository declares Apache-2.0. The model builds on HRM-Text-1B and a public dataset, so check their terms too before you redistribute it.
Do you keep my chats?
No. Conversation text isn't stored. The server keeps basic request logs (time, token counts, IP address) to enforce rate limits.
Why is the demo sometimes busy?
It generates one reply at a time on a single machine. Other requests wait in a short queue, and each visitor can send 8 messages a minute.
Where are the weights?
Transformers weights are at zyr-AGENT/ZY-S1. GGUF files and zy-engine are at zyr-AGENT/ZY-S1-GGUF.

Ready when you are

Ask it for a function.