RWKV-Runner

josStorerMIT活跃维护

8MB 的 RWKV 模型管理与启动工具,全自动部署推理,并提供兼容 OpenAI API 的接口,方便直接接入现有客户端。

A RWKV management and startup tool, full automation, only 8MB. And provides an interface compatible with the OpenAI API. RWKV is a large language model that is fully open source and available for commercial use.

v1.9.12发布于 2026-07-07 03:52 UTC6,501star593fork同步于 2026-11-10 23:35 UTC

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/josStorer/RWKV-Runner
cd RWKV-Runner
python ./backend-python/main.py --webui
硬件要求按 README 说明

README 未给出具体显存数值,仅说明预置多级显存配置可适配几乎所有电脑;默认启用自定义 CUDA 内核加速以降低显存占用,切到 WebGPU 策略后可在 AMD、Intel 等显卡上运行。

需要 CUDA
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

几 MB 的 RWKV 模型管理与一键启动工具,自带 OpenAI 兼容 API,让 ChatGPT 客户端直接接入 RWKV

8MB 的 RWKV 模型管理与启动工具,全自动部署推理,并提供兼容 OpenAI API 的接口,方便直接接入现有客户端。

核心能力

  • 一键管理并启动 RWKV 模型,自动安装依赖
  • 提供 OpenAI 兼容 API,ChatGPT 客户端可直接接入
  • 前后端分离,可单独部署推理后端或 WebUI 服务
  • 预置多级显存配置,切到 WebGPU 可跑 AMD/Intel 显卡
  • 内置模型转换、下载管理与一键 LoRA 微调

容易踩的坑

启动后需调用 /switch-model API 加载模型,不会自动就绪;默认启用自定义 CUDA 内核加速,输出乱码时需在 Configs 页关闭或升级显卡驱动;Windows Defender 可能误报,需加信任或先用 v1.3.7 版本自动更新;对外提供服务时需在网关限制请求大小和 max_tokens(默认 le=102400)。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v1.9.12
  1. v1.9.12最新正式版2026-07-07 · 2026-07-07 03:52 UTC

    Changes

    • Support newer NVIDIA driver CUDA version output. This prevents invalid version strings from breaking dependency installation.

    Note: If you encounter WebView2 crash issues, please try opening the Windows Settings, click on Apps, search for WebView2, click Modify -> Repair to update your WebView2 runtime.

    Install

  2. v1.9.112026-05-08 · 2026-05-08 16:45 UTC
    查看更新说明

    Changes

    • Added the albatross inference backend, supporting batch inference while keeping API compatibility. The backend automatically handles batching. It works out of the box on Windows with RTX 30XX series and newer GPUs; select the option below in the client to get an immediate performance boost. Under concurrent workloads, 3060 and newer GPUs can typically reach 2000-10000 token/s inference speed for 3B and 7B scale models.
    • Added a batch generation button to the client, providing a friendlier batch generation preview interface.

    https://github.com/user-attachments/assets/28aa789e-ad52-41bd-b8b5-0bcf8e9cd25f

    • Bumped precompiled llama.cpp vulkan.

    Note: If you encounter WebView2 crash issues, please try opening the Windows Settings, click on Apps, search for WebView2, click Modify -> Repair to update your WebView2 runtime.

    Install

  3. v1.9.102026-02-01 · 2026-02-01 08:32 UTC
    查看更新说明

    Changes

    • fixed the inference issue of RWKV GGUF model caused by the API changes after the update of llama.cpp in the previous version

    Note: If you encounter WebView2 crash issues, please try opening the Windows Settings, click on Apps, search for WebView2, click Modify -> Repair to update your WebView2 runtime.

    Install

  4. v1.9.92026-01-27 · 2026-01-27 12:55 UTC
    查看更新说明

    Changes

    • add search input to Models page
    • add support for mermaid rendering
    • improve ThinkComponent
    • remove the compatibility support for top-level await; now only browsers/webviews with Chromium 89+ are supported
    • update manifest.json and defaultConfigs
    • small fixes

    Note: If you encounter WebView2 crash issues, please try opening the Windows Settings, click on Apps, search for WebView2, click Modify -> Repair to update your WebView2 runtime.

    Install

  5. v1.9.82026-01-25 · 2026-01-25 07:18 UTC
    查看更新说明

    Changes

    • disable auto throttling of @microsoft/fetch-event-source
    • bump precompiled llama.cpp vulkan
    • add stop_token_ids field to /completions and /chat/completions
    • allow stop sequences to accept multiple values or numeric token IDs, passed to the api server as arrays
    • update manifest.json and defaultConfigs
    • small fixes

    Note: If you encounter WebView2 crash issues, please try opening the Windows Settings, click on Apps, search for WebView2, click Modify -> Repair to update your WebView2 runtime.

    Install

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    This project aims to eliminate the barriers of using large language models by automating everything for you. All you need is a lightweight executable program of just a few megabytes. Additionally, this project provides an interface compatible with the OpenAI API, which means that every ChatGPT client is an RWKV client.

    license release py-version

    English | 简体中文 | 日本語

    Install

    Windows MacOS Linux

    FAQs | Preview | Download | Simple Deploy Example | Server Deploy Examples | MIDI Hardware Input

    Tips

    • You can deploy backend-python on a server and use this program as a client only. Fill in your server address in the Settings API URL.

    • If you are deploying and providing public services, please limit the request size through API gateway to prevent excessive resource usage caused by submitting overly long prompts. Additionally, please restrict the upper limit of requests' max_tokens based on your actual situation: https://github.com/josStorer/RWKV-Runner/blob/master/backend-python/utils/rwkv.py#L567, the default is set as le=102400, which may result in significant resource consumption for individual responses in extreme cases.

    • Default configs has enabled custom CUDA kernel acceleration, which is much faster and consumes much less VRAM. If you encounter possible compatibility issues (output garbled), go to the Configs page and turn off Use Custom CUDA kernel to Accelerate, or try to upgrade your gpu driver.

    • If Windows Defender claims this is a virus, you can try downloading v1.3.7_win.zip and letting it update automatically to the latest version, or add it to the trusted list (Windows Security -> Virus & threat protection -> Manage settings -> Exclusions -> Add or remove exclusions -> Add an exclusion -> Folder -> RWKV-Runner).

    • For different tasks, adjusting API parameters can achieve better results. For example, for translation tasks, you can try setting Temperature to 1 and Top_P to 0.3.

    Features

    • RWKV model management and one-click startup.
    • Front-end and back-end separation, if you don't want to use the client, also allows for separately deploying the front-end service, or the back-end inference service, or the back-end inference service with a WebUI. Simple Deploy Example | Server Deploy Examples
    • Compatible with the OpenAI API, making every ChatGPT client an RWKV client. After starting the model, open http://127.0.0.1:8000/docs to view more details.
    • Automatic dependency installation, requiring only a lightweight executable program.
    • Pre-set multi-level VRAM configs, works well on almost all computers. In Configs page, switch Strategy to WebGPU, it can also run on AMD, Intel, and other graphics cards.
    • User-friendly chat, completion, and composition interaction interface included. Also supports chat presets, attachment uploads, MIDI hardware input, and track editing. Preview | MIDI Hardware Input
    • Built-in WebUI option, one-click start of Web service, sharing your hardware resources.
    • Easy-to-understand and operate parameter configuration, along with various operation guidance prompts.
    • Built-in model conversion tool.
    • Built-in download management and remote model inspection.
    • Built-in one-click LoRA Finetune. (Windows Only)
    • Can also be used as an OpenAI ChatGPT, GPT-Playground, Ollama, llmman and more clients. (Fill in the API URL and API Key in Settings page)
    • Multilingual localization.
    • Theme switching.
    • Automatic updates.

    Simple Deploy Example

    git clone https://github.com/josStorer/RWKV-Runner
    
    # Then
    cd RWKV-Runner
    python ./backend-python/main.py #The backend inference service has been started, request /switch-model API to load the model, refer to the API documentation: http://127.0.0.1:8000/docs
    
    # Or
    cd RWKV-Runner/frontend
    npm ci
    npm run build #Compile the frontend
    cd ..
    python ./backend-python/webui_server.py #Start the frontend service separately
    # Or
    python ./backend-python/main.py --webui #Start the frontend and backend service at the same time
    
    # Help Info
    python ./backend-python/main.py -h
    

    API Concurrency Stress Testing

    ab -p body.json -T application/json -c 20 -n 100 -l http://127.0.0.1:8000/chat/completions
    

    body.json:

    {
      "messages": [
        {
          "role": "user",
          "content": "Hello"
        }
      ]
    }
    

    Embeddings API Example

    Note: v1.4.0 has improved the quality of embeddings API. The generated results are not compatible with previous versions. If you are using embeddings API to generate knowledge bases or similar, please regenerate.

    If you are using langchain, just use OpenAIEmbeddings(openai_api_base="http://127.0.0.1:8000", openai_api_key="sk-")

    import numpy as np
    import requests
    
    
    def cosine_similarity(a, b):
        return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))
    
    
    values = [
        "I am a girl",
        "我是个女孩",
        "私は女の子です",
        "广东人爱吃福建人",
        "我是个人类",
        "I am a human",
        "that dog is so cute",
        "私はねこむすめです、にゃん♪",
        "宇宙级特大事件!号外号外!"
    ]
    
    embeddings = []
    for v in values:
        r = requests.post("http://127.0.0.1:8000/embeddings", json={"input": v})
        embedding = r.json()["data"][0]["embedding"]
        embeddings.append(embedding)
    
    compared_embedding = embeddings[0]
    
    embeddings_cos_sim = [cosine_similarity(compared_embedding, e) for e in embeddings]
    
    for i in np.argsort(embeddings_cos_sim)[::-1]:
        print(f"{embeddings_cos_sim[i]:.10f} - {values[i]}")
    

    MIDI Input

    Tip: You can download https://github.com/josStorer/sgm_plus and unzip it to the program's assets/sound-font directory to use it as an offline sound source. Please note that if you are compiling the program from source code, do not place it in the source code directory.

    If you don't have a MIDI keyboard, you can use virtual MIDI input software like Virtual Midi Controller 3 LE, along with loopMIDI, to use a regular computer keyboard as MIDI input.

    USB MIDI Connection

    • USB MIDI devices are plug-and-play, and you can select your input device in the Composition page
    • image

    Mac MIDI Bluetooth Connection

    • For Mac users who want to use Bluetooth input, please install Bluetooth MIDI Connect, then click the tray icon to connect after launching, afterwards, you can select your input device in the Composition page.
    • image

    Windows MIDI Bluetooth Connection

    • Windows seems to have implemented Bluetooth MIDI support only for UWP (Universal Windows Platform) apps. Therefore, it requires multiple steps to establish a connection. We need to create a local virtual MIDI device and then launch a UWP application. Through this UWP application, we will redirect Bluetooth MIDI input to the virtual MIDI device, and then this software will listen to the input from the virtual MIDI device.
    • So, first, you need to download loopMIDI to create a virtual MIDI device. Click the plus sign in the bottom left corner to create the device.
    • image
    • Next, you need to download Bluetooth LE Explorer to discover and connect to Bluetooth MIDI devices. Click "Start" to search for devices, and then click "Pair" to bind the MIDI device.
    • image
    • Finally, you need to install MIDIberry, This UWP application can redirect Bluetooth MIDI input to the virtual MIDI device. After launching it, double-click your actual Bluetooth MIDI device name in the input field, and in the output field, double-click the virtual MIDI device name we created earlier.
    • image
    • Now, you can select the virtual MIDI device as the input in the Composition page. Bluetooth LE Explorer no longer needs to run, and you can also close the loopMIDI window, it will run automatically in the background. Just keep MIDIberry open.
    • image

    Related Repositories:

    Preview

    Homepage

    image

    Chat

    image

    image

    Completion

    image

    Composition

    Tip: You can download https://github.com/josStorer/sgm_plus and unzip it to the program's assets/sound-font directory to use it as an offline sound source. Please note that if you are compiling the program from source code, do not place it in the source code directory.

    image

    image

    Configuration

    image

    Model Management

    image

    Download Management

    image

    LoRA Finetune

    image

    Settings

    image