[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-10245":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":34,"readmeContent":35,"aiSummary":36,"trendingCount":16,"starSnapshotCount":16,"syncStatus":37,"lastSyncTime":38,"discoverSource":39},10245,"RWKV-Runner","josStorer\u002FRWKV-Runner","josStorer","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.","https:\u002F\u002Fwww.rwkv.com",null,"TypeScript",6390,598,49,168,0,1,8,47,5,39.33,"MIT License",false,"master",true,[27,28,29,30,31,32,33],"api","api-client","chatgpt","llm","rwkv","tool","wails","2026-06-12 02:02:19","\u003Cp align=\"center\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fassets\u002F13366013\u002F65c46133-7506-4b54-b64f-fe49f188afa7\">\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">RWKV Runner\u003C\u002Fh1>\n\n\u003Cdiv align=\"center\">\n\nThis project aims to eliminate the barriers of using large language models by automating everything for you. All you\nneed is a lightweight executable program of just a few megabytes. Additionally, this project provides an interface\ncompatible with the OpenAI API, which means that every ChatGPT client is an RWKV client.\n\n[![license][license-image]][license-url]\n[![release][release-image]][release-url]\n[![py-version][py-version-image]][py-version-url]\n\nEnglish | [简体中文](README_ZH.md) | [日本語](README_JA.md)\n\n### Install\n\n[![Windows][Windows-image]][Windows-url]\n[![MacOS][MacOS-image]][MacOS-url]\n[![Linux][Linux-image]][Linux-url]\n\n[FAQs](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fwiki\u002FFAQs) | [Preview](#Preview) | [Download][download-url] | [Simple Deploy Example](#Simple-Deploy-Example) | [Server Deploy Examples](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Ftree\u002Fmaster\u002Fdeploy-examples) | [MIDI Hardware Input](#MIDI-Input)\n\n[license-image]: http:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg\n\n[license-url]: https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fblob\u002Fmaster\u002FLICENSE\n\n[release-image]: https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002FjosStorer\u002FRWKV-Runner.svg\n\n[release-url]: https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Freleases\u002Flatest\n\n[py-version-image]: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Ffastapi.svg\n\n[py-version-url]: https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Ftree\u002Fmaster\u002Fbackend-python\n\n[download-url]: https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Freleases\n\n[Windows-image]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-Windows-blue?logo=windows\n\n[Windows-url]: https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fblob\u002Fmaster\u002Fbuild\u002Fwindows\u002FReadme_Install.txt\n\n[MacOS-image]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-MacOS-black?logo=apple\n\n[MacOS-url]: https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fblob\u002Fmaster\u002Fbuild\u002Fdarwin\u002FReadme_Install.txt\n\n[Linux-image]: https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F-Linux-black?logo=linux\n\n[Linux-url]: https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fblob\u002Fmaster\u002Fbuild\u002Flinux\u002FReadme_Install.txt\n\n\u003C\u002Fdiv>\n\n## Tips\n\n- You can deploy [backend-python](.\u002Fbackend-python\u002F) on a server and use this program as a client only. Fill in\n  your server address in the Settings `API URL`.\n\n- If you are deploying and providing public services, please limit the request size through API gateway to prevent\n  excessive resource usage caused by submitting overly long prompts. Additionally, please restrict the upper limit of\n  requests' max_tokens based on your actual\n  situation: https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fblob\u002Fmaster\u002Fbackend-python\u002Futils\u002Frwkv.py#L567, the default is set\n  as le=102400, which may result in significant resource consumption for individual responses in extreme cases.\n\n- Default configs has enabled custom CUDA kernel acceleration, which is much faster and consumes much less VRAM. If you\n  encounter possible compatibility issues (output garbled), go to the Configs page and turn\n  off `Use Custom CUDA kernel to Accelerate`, or try to upgrade your gpu driver.\n\n- If Windows Defender claims this is a virus, you can try\n  downloading [v1.3.7_win.zip](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Freleases\u002Fdownload\u002Fv1.3.7\u002FRWKV-Runner_win.zip)\n  and letting it update automatically to the latest version, or add it to the trusted\n  list (`Windows Security` -> `Virus & threat protection` -> `Manage settings` -> `Exclusions` -> `Add or remove exclusions` -> `Add an exclusion` -> `Folder` -> `RWKV-Runner`).\n\n- For different tasks, adjusting API parameters can achieve better results. For example, for translation tasks, you can\n  try setting Temperature to 1 and Top_P to 0.3.\n\n## Features\n\n- RWKV model management and one-click startup.\n- Front-end and back-end separation, if you don't want to use the client, also allows for separately deploying the\n  front-end service, or the back-end inference service, or the back-end inference service with a WebUI.\n  [Simple Deploy Example](#Simple-Deploy-Example) | [Server Deploy Examples](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Ftree\u002Fmaster\u002Fdeploy-examples)\n- Compatible with the OpenAI API, making every ChatGPT client an RWKV client. After starting the model,\n  open http:\u002F\u002F127.0.0.1:8000\u002Fdocs to view more details.\n- Automatic dependency installation, requiring only a lightweight executable program.\n- Pre-set multi-level VRAM configs, works well on almost all computers. In Configs page, switch Strategy to WebGPU, it\n  can also run on AMD, Intel, and other graphics cards.\n- User-friendly chat, completion, and composition interaction interface included. Also supports chat presets, attachment\n  uploads, MIDI hardware input, and track editing.\n  [Preview](#Preview) | [MIDI Hardware Input](#MIDI-Input)\n- Built-in WebUI option, one-click start of Web service, sharing your hardware resources.\n- Easy-to-understand and operate parameter configuration, along with various operation guidance prompts.\n- Built-in model conversion tool.\n- Built-in download management and remote model inspection.\n- Built-in one-click LoRA Finetune. (Windows Only)\n- Can also be used as an OpenAI ChatGPT, GPT-Playground, Ollama and more clients. (Fill in the API URL and API Key in\n  Settings page)\n- Multilingual localization.\n- Theme switching.\n- Automatic updates.\n\n## Simple Deploy Example\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\n\n# Then\ncd RWKV-Runner\npython .\u002Fbackend-python\u002Fmain.py #The backend inference service has been started, request \u002Fswitch-model API to load the model, refer to the API documentation: http:\u002F\u002F127.0.0.1:8000\u002Fdocs\n\n# Or\ncd RWKV-Runner\u002Ffrontend\nnpm ci\nnpm run build #Compile the frontend\ncd ..\npython .\u002Fbackend-python\u002Fwebui_server.py #Start the frontend service separately\n# Or\npython .\u002Fbackend-python\u002Fmain.py --webui #Start the frontend and backend service at the same time\n\n# Help Info\npython .\u002Fbackend-python\u002Fmain.py -h\n```\n\n## API Concurrency Stress Testing\n\n```bash\nab -p body.json -T application\u002Fjson -c 20 -n 100 -l http:\u002F\u002F127.0.0.1:8000\u002Fchat\u002Fcompletions\n```\n\nbody.json:\n\n```json\n{\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Hello\"\n    }\n  ]\n}\n```\n\n## Embeddings API Example\n\nNote: v1.4.0 has improved the quality of embeddings API. The generated results are not compatible\nwith previous versions. If you are using embeddings API to generate knowledge bases or similar, please regenerate.\n\nIf you are using langchain, just use `OpenAIEmbeddings(openai_api_base=\"http:\u002F\u002F127.0.0.1:8000\", openai_api_key=\"sk-\")`\n\n```python\nimport numpy as np\nimport requests\n\n\ndef cosine_similarity(a, b):\n    return np.dot(a, b) \u002F (np.linalg.norm(a) * np.linalg.norm(b))\n\n\nvalues = [\n    \"I am a girl\",\n    \"我是个女孩\",\n    \"私は女の子です\",\n    \"广东人爱吃福建人\",\n    \"我是个人类\",\n    \"I am a human\",\n    \"that dog is so cute\",\n    \"私はねこむすめです、にゃん♪\",\n    \"宇宙级特大事件！号外号外！\"\n]\n\nembeddings = []\nfor v in values:\n    r = requests.post(\"http:\u002F\u002F127.0.0.1:8000\u002Fembeddings\", json={\"input\": v})\n    embedding = r.json()[\"data\"][0][\"embedding\"]\n    embeddings.append(embedding)\n\ncompared_embedding = embeddings[0]\n\nembeddings_cos_sim = [cosine_similarity(compared_embedding, e) for e in embeddings]\n\nfor i in np.argsort(embeddings_cos_sim)[::-1]:\n    print(f\"{embeddings_cos_sim[i]:.10f} - {values[i]}\")\n```\n\n## MIDI Input\n\nTip: You can download https:\u002F\u002Fgithub.com\u002FjosStorer\u002Fsgm_plus and unzip it to the program's `assets\u002Fsound-font` directory\nto use it as an offline sound source. Please note that if you are compiling the program from source code, do not place\nit in the source code directory.\n\nIf you don't have a MIDI keyboard, you can use virtual MIDI input software like `Virtual Midi Controller 3 LE`, along\nwith [loopMIDI](https:\u002F\u002Fwww.tobias-erichsen.de\u002Fwp-content\u002Fuploads\u002F2020\u002F01\u002FloopMIDISetup_1_0_16_27.zip), to use a regular\ncomputer keyboard as MIDI input.\n\n### USB MIDI Connection\n\n- USB MIDI devices are plug-and-play, and you can select your input device in the Composition page\n- ![image](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fassets\u002F13366013\u002F13bb92c3-4504-482d-ab82-026ac6c31095)\n\n### Mac MIDI Bluetooth Connection\n\n- For Mac users who want to use Bluetooth input,\n  please install [Bluetooth MIDI Connect](https:\u002F\u002Fapps.apple.com\u002Fus\u002Fapp\u002Fbluetooth-midi-connect\u002Fid1108321791), then click\n  the tray icon to connect after launching,\n  afterwards, you can select your input device in the Composition page.\n- ![image](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fassets\u002F13366013\u002Fc079a109-1e3d-45c1-bbf5-eed85da1550e)\n\n### Windows MIDI Bluetooth Connection\n\n- Windows seems to have implemented Bluetooth MIDI support only for UWP (Universal Windows Platform) apps. Therefore, it\n  requires multiple steps to establish a connection. We need to create a local virtual MIDI device and then launch a UWP\n  application. Through this UWP application, we will redirect Bluetooth MIDI input to the virtual MIDI device, and then\n  this software will listen to the input from the virtual MIDI device.\n- So, first, you need to\n  download [loopMIDI](https:\u002F\u002Fwww.tobias-erichsen.de\u002Fwp-content\u002Fuploads\u002F2020\u002F01\u002FloopMIDISetup_1_0_16_27.zip)\n  to create a virtual MIDI device. Click the plus sign in the bottom left corner to create the device.\n- ![image](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fassets\u002F13366013\u002Fb75998ff-115c-4ddd-b97c-deeb5c106255)\n- Next, you need to download [Bluetooth LE Explorer](https:\u002F\u002Fapps.microsoft.com\u002Fdetail\u002F9N0ZTKF1QD98) to discover and\n  connect to Bluetooth MIDI devices. Click \"Start\" to search for devices, and then click \"Pair\" to bind the MIDI device.\n- ![image](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fassets\u002F13366013\u002Fc142c3ea-a973-4531-9807-4c385d640a2b)\n- Finally, you need to install [MIDIberry](https:\u002F\u002Fapps.microsoft.com\u002Fdetail\u002F9N39720H2M05),\n  This UWP application can redirect Bluetooth MIDI input to the virtual MIDI device. After launching it, double-click\n  your actual Bluetooth MIDI device name in the input field, and in the output field, double-click the virtual MIDI\n  device name we created earlier.\n- ![image](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fassets\u002F13366013\u002F5ad6a1d9-4f68-4d95-ae17-4296107d1669)\n- Now, you can select the virtual MIDI device as the input in the Composition page. Bluetooth LE Explorer no longer\n  needs to run, and you can also close the loopMIDI window, it will run automatically in the background. Just keep\n  MIDIberry open.\n- ![image](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fassets\u002F13366013\u002F1c371821-c7b7-4c18-8e42-9e315efbe427)\n\n## Related Repositories:\n\n- RWKV-5-World: https:\u002F\u002Fhuggingface.co\u002FBlinkDL\u002Frwkv-5-world\u002Ftree\u002Fmain\n- RWKV-4-World: https:\u002F\u002Fhuggingface.co\u002FBlinkDL\u002Frwkv-4-world\u002Ftree\u002Fmain\n- RWKV-4-Raven: https:\u002F\u002Fhuggingface.co\u002FBlinkDL\u002Frwkv-4-raven\u002Ftree\u002Fmain\n- ChatRWKV: https:\u002F\u002Fgithub.com\u002FBlinkDL\u002FChatRWKV\n- RWKV-LM: https:\u002F\u002Fgithub.com\u002FBlinkDL\u002FRWKV-LM\n- RWKV-LM-LoRA: https:\u002F\u002Fgithub.com\u002FBlealtan\u002FRWKV-LM-LoRA\n- RWKV-v5-lora: https:\u002F\u002Fgithub.com\u002FJL-er\u002FRWKV-v5-lora\n- MIDI-LLM-tokenizer: https:\u002F\u002Fgithub.com\u002Fbriansemrau\u002FMIDI-LLM-tokenizer\n- ai00_rwkv_server: https:\u002F\u002Fgithub.com\u002Fcgisky1980\u002Fai00_rwkv_server\n- rwkv.cpp: https:\u002F\u002Fgithub.com\u002FsaharNooby\u002Frwkv.cpp\n- web-rwkv-py: https:\u002F\u002Fgithub.com\u002Fcryscan\u002Fweb-rwkv-py\n- web-rwkv: https:\u002F\u002Fgithub.com\u002Fcryscan\u002Fweb-rwkv\n\n## Preview\n\n### Homepage\n\n![image](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fassets\u002F13366013\u002Fc1923ed8-22f7-48b4-a274-e215e27a8e01)\n\n### Chat\n\n![image](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fassets\u002F13366013\u002F80009872-528f-4932-aeb2-f724fa892e7c)\n\n![image](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fassets\u002F13366013\u002Fde8d3fa7-c31f-4941-a22b-ded785427ac0)\n\n### Completion\n\n![image](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fassets\u002F13366013\u002Fbf49de8e-3b89-4543-b1ef-7cd4b19a1836)\n\n### Composition\n\nTip: You can download https:\u002F\u002Fgithub.com\u002FjosStorer\u002Fsgm_plus and unzip it to the program's `assets\u002Fsound-font` directory\nto use it as an offline sound source. Please note that if you are compiling the program from source code, do not place\nit in the source code directory.\n\n![image](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fassets\u002F13366013\u002Fe8ad908d-3fd2-4e92-bcdb-96815cb836ee)\n\n![image](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fassets\u002F13366013\u002Fb2ce4761-9e75-477e-a182-d0255fb8ac76)\n\n### Configuration\n\n![image](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fassets\u002F13366013\u002Ff41060dc-5517-44af-bb3f-8ef71720016d)\n\n### Model Management\n\n![image](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fassets\u002F13366013\u002Fb1581147-a6ce-4493-8010-e33c0ddeca0a)\n\n### Download Management\n\n![image](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fassets\u002F13366013\u002Fc8153cf9-c8cb-4618-8268-60c82a5be539)\n\n### LoRA Finetune\n\n![image](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fassets\u002F13366013\u002F4715045a-683e-4d2a-9b0e-090c7a5df63f)\n\n### Settings\n\n![image](https:\u002F\u002Fgithub.com\u002FjosStorer\u002FRWKV-Runner\u002Fassets\u002F13366013\u002F1067e635-8c07-4217-86a8-e48a5fcbb075)\n","RWKV Runner 是一个用于管理和启动 RWKV 大型语言模型的工具，实现了全自动化且体积仅8MB。它提供了一个与OpenAI API兼容的接口，使得每个ChatGPT客户端都能成为RWKV客户端。项目使用TypeScript编写，并采用Wails技术进行跨平台打包，支持Windows、MacOS和Linux系统。其核心功能包括一键式部署、轻量级执行文件以及对硬件MIDI输入的支持等。此外，RWKV Runner还提供了后端Python服务的部署选项，便于用户根据需求灵活选择运行模式。此工具非常适合需要快速集成或测试大型语言模型的应用场景，尤其是对于希望利用RWKV模型构建聊天机器人或其他自然语言处理应用的开发者而言。",2,"2026-06-11 03:27:24","top_topic"]