chore: refactor README.md
Browse files
README.md
CHANGED
|
@@ -4,7 +4,47 @@
|
|
| 4 |
<img src="assets/VersperAI_Banner.png" alt="VersperAI">
|
| 5 |
</div>
|
| 6 |
|
| 7 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
|
| 9 |
```bash
|
| 10 |
# script install
|
|
@@ -15,57 +55,44 @@ git clone https://github.com/versperai/VersperClaw.git && cd VersperClaw && bun
|
|
| 15 |
|
| 16 |
# if want global use bin file
|
| 17 |
cp VersperClaw ~/.local/bin
|
| 18 |
-
# then can use VersperClaw in everywhere after /login
|
| 19 |
```
|
| 20 |
|
| 21 |
-
## 2. Auto Compact & Dream & SubAgent
|
| 22 |
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
|
|
|
|
|
|
|
|
|
| 28 |
|
| 29 |
```bash
|
| 30 |
# Maximum_Context_Window = min(CLAUDE_CODE_MAX_CONTEXT_TOKENS, CLAUDE_CODE_AUTO_COMPACT_WINDOW) - 20000
|
| 31 |
# set 200k env in ~/.claude/settings.json or terminal
|
| 32 |
# the 20k is used to compact as buffer band
|
|
|
|
| 33 |
{
|
| 34 |
"env": {
|
| 35 |
"USER_TYPE": "ant",
|
| 36 |
"CLAUDE_CODE_MAX_CONTEXT_TOKENS": "200000",
|
| 37 |
-
"CLAUDE_CODE_AUTO_COMPACT_WINDOW": "200000"
|
|
|
|
|
|
|
| 38 |
}
|
| 39 |
-
}
|
| 40 |
-
```
|
| 41 |
|
| 42 |
-
|
| 43 |
-
# set auto-dream config
|
| 44 |
-
nvim ~/.claude/settings.json
|
| 45 |
-
|
| 46 |
-
{
|
| 47 |
"autoMemoryEnabled": true,
|
| 48 |
"autoDreamEnabled": true
|
| 49 |
}
|
| 50 |
-
```
|
| 51 |
-
|
| 52 |
-
## 3. WebSearch & WebFetch Tools
|
| 53 |
-
|
| 54 |
-
<table align="center">
|
| 55 |
-
<tr>
|
| 56 |
-
<td><img src="assets/WebSearchTool.png"></td>
|
| 57 |
-
<td><img src="assets/WebSearchTool2.png"></td>
|
| 58 |
-
<td><img src="assets/WebSearchTool3.png"></td>
|
| 59 |
-
</tr>
|
| 60 |
-
</table>
|
| 61 |
-
|
| 62 |
-
### Choice One - SearXNG:
|
| 63 |
-
|
| 64 |
-
> 100% local free no remote api fee
|
| 65 |
|
| 66 |
-
|
| 67 |
|
| 68 |
```bash
|
|
|
|
|
|
|
|
|
|
| 69 |
# local config search engine - searxng in archlinux
|
| 70 |
# make sure have install docker and docker-compose
|
| 71 |
sudo pacman -S docker-compose && docker
|
|
@@ -74,168 +101,51 @@ sudo usermod -aG docker $USER
|
|
| 74 |
|
| 75 |
# make sure open pc and now start docker daemon
|
| 76 |
sudo systemctl enable --now docker
|
| 77 |
-
```
|
| 78 |
-
|
| 79 |
-
#### 2. Docker-Compose Pull
|
| 80 |
-
|
| 81 |
-
> use VersperSearch a pre-build docker config in https://github.com/versperai/VersperSearch
|
| 82 |
|
| 83 |
-
|
|
|
|
| 84 |
# or install searxng in docker-compose by yourself
|
| 85 |
curl -fsSL \
|
| 86 |
-
|
| 87 |
-
|
| 88 |
|
| 89 |
# add json source in formats behind html - jsonl in 87 lines
|
| 90 |
cd searxng/core-config/ && sudo nvim settings.yml
|
| 91 |
|
| 92 |
# start searxng engine
|
| 93 |
docker compose up -d
|
| 94 |
-
```
|
| 95 |
-
|
| 96 |
-
#### 3. Check Search Feature
|
| 97 |
|
| 98 |
-
|
| 99 |
# check in every browser
|
| 100 |
firefox http://localhost:8080
|
| 101 |
-
|
| 102 |
-
# set tool_search env in ~/.claude/settings.json
|
| 103 |
-
{
|
| 104 |
-
"env": {
|
| 105 |
-
"ENABLE_TOOL_SEARCH": "true"
|
| 106 |
-
}
|
| 107 |
-
}
|
| 108 |
# or allow tool search in ~/.bashrc
|
| 109 |
-
export ENABLE_TOOL_SEARCH=true
|
| 110 |
```
|
| 111 |
|
| 112 |
-
### Choice Two - Tavily:
|
| 113 |
|
| 114 |
-
|
| 115 |
|
| 116 |
-
##
|
| 117 |
-
|
| 118 |
-
```bash
|
| 119 |
-
# On startup, the CLI runs silently in the background, maintains a persistent Telegram connection, and listens for messages.
|
| 120 |
-
# start VersperClaw Cli
|
| 121 |
-
./VersperClaw
|
| 122 |
-
|
| 123 |
-
# enter it into the cli input field and interactive configuration parameters
|
| 124 |
-
/telegram
|
| 125 |
-
```
|
| 126 |
-
|
| 127 |
-
# Legacy Python Version
|
| 128 |
-
|
| 129 |
-
> Demos dev/python
|
| 130 |
-
|
| 131 |
-
## 1. Auto Scientific Research & evolve code and write ccf/sci & checkpoint
|
| 132 |
|
| 133 |
<table align="center">
|
| 134 |
<tr>
|
| 135 |
-
<td><img src="assets/
|
| 136 |
-
<td><img src="assets/legacy/versper.gif"/></td>
|
| 137 |
</tr>
|
| 138 |
</table>
|
| 139 |
|
| 140 |
-
|
|
|
|
| 141 |
|
| 142 |
<table align="center">
|
| 143 |
<tr>
|
| 144 |
-
<td
|
| 145 |
-
<td
|
| 146 |
-
<td
|
| 147 |
-
</tr>
|
| 148 |
-
<tr>
|
| 149 |
-
<td><img src="assets/legacy/versperclaw1.jpg" width="100%"></td>
|
| 150 |
-
<td><img src="assets/legacy/versperclaw2.jpg" width="100%"></td>
|
| 151 |
-
<td><img src="assets/legacy/control_browser_use_gemini.jpg" width="100%"></td>
|
| 152 |
</tr>
|
| 153 |
</table>
|
| 154 |
|
| 155 |
-
## 3. Gateway - WeXin, Telegram and so on
|
| 156 |
-
|
| 157 |
-
```bash
|
| 158 |
-
# telegram, wechat and whatsapp
|
| 159 |
-
versper setup gateway
|
| 160 |
-
|
| 161 |
-
# then start listen
|
| 162 |
-
versper gateway
|
| 163 |
-
```
|
| 164 |
-
|
| 165 |
-
```bash
|
| 166 |
-
# Source install
|
| 167 |
-
git clone -b dev/python https://github.com/versperai/VersperClaw.git
|
| 168 |
-
|
| 169 |
-
# If you want check out the have been legacyed python version code, just switch to the dev/python branch
|
| 170 |
-
|
| 171 |
-
# make sure you have installed uv and creat .venv via uv venv
|
| 172 |
-
uv pip install -r requirements.txt # or uv sync
|
| 173 |
-
source .venv/bin/activate
|
| 174 |
-
uv pip install -e .
|
| 175 |
-
|
| 176 |
-
# use codex, openrouter, or claude remote model via api
|
| 177 |
-
versper setup
|
| 178 |
-
```
|
| 179 |
|
| 180 |
-
|
| 181 |
-
# if use vllm or llama.cpp in local model for inference
|
| 182 |
-
# for example use llama.cpp
|
| 183 |
-
llama-server \
|
| 184 |
-
--model unsloth/Qwen3.5-4B-GGUF/Qwen3.5-4B-UD-Q4_K_XL.gguf \
|
| 185 |
-
--mmproj unsloth/Qwen3.5-4B-GGUF/mmproj-F16.gguf \
|
| 186 |
-
--seed 3407 \
|
| 187 |
-
--temp 1.0 \
|
| 188 |
-
--top-p 0.95 \
|
| 189 |
-
--min-p 0.01 \
|
| 190 |
-
--top-k 40 \
|
| 191 |
-
-c 49152 \
|
| 192 |
-
--port 8001 \
|
| 193 |
-
--chat-template-kwargs '{"enable_thinking":true}' \
|
| 194 |
-
--host 0.0.0.0
|
| 195 |
-
|
| 196 |
-
# check model name and pass inference
|
| 197 |
-
curl http://localhost:8001/v1/models
|
| 198 |
-
|
| 199 |
-
curl http://localhost:8001/v1/chat/completions \
|
| 200 |
-
-H "Content-Type: application/json" \
|
| 201 |
-
-d '{
|
| 202 |
-
"model": "qwen",
|
| 203 |
-
"messages": [
|
| 204 |
-
{"role": "user", "content": "hello"}
|
| 205 |
-
]
|
| 206 |
-
}'
|
| 207 |
-
|
| 208 |
-
cd ~/.versper && nvim config.yaml
|
| 209 |
-
# model:
|
| 210 |
-
# api_key: sk-no-key-required
|
| 211 |
-
# base_url: http://localhost:8001/v1
|
| 212 |
-
# default: unsloth/Qwen3.5-4B-GGUF
|
| 213 |
-
# provider: custom
|
| 214 |
-
```
|
| 215 |
|
| 216 |
```bash
|
| 217 |
-
|
| 218 |
-
```
|
| 219 |
-
|
| 220 |
-
## 4. Add-on - mcp dependency and env
|
| 221 |
-
|
| 222 |
-
```bash
|
| 223 |
-
if ban mcp in ~/.versper/.env:
|
| 224 |
-
export VERSPER_BROWSER_USE_MCP=0
|
| 225 |
-
```
|
| 226 |
-
|
| 227 |
-
```bash
|
| 228 |
-
# live chrome control
|
| 229 |
-
npm install -g chrome-devtools-mcp@latest
|
| 230 |
-
npm install -g agent-browser@latest
|
| 231 |
-
|
| 232 |
-
# make sure you have installed chrome
|
| 233 |
-
google-chrome-stable
|
| 234 |
-
|
| 235 |
-
# fill it in the search bar and click the box
|
| 236 |
-
chrome://inspect/#remote-debugging
|
| 237 |
-
|
| 238 |
-
# check chrome connect
|
| 239 |
-
versper
|
| 240 |
-
/browser status
|
| 241 |
```
|
|
|
|
| 4 |
<img src="assets/VersperAI_Banner.png" alt="VersperAI">
|
| 5 |
</div>
|
| 6 |
|
| 7 |
+
|
| 8 |
+
## 📢 News
|
| 9 |
+
|
| 10 |
+
- **2026-05-23** 🧘 Added OpenCode Zen Provider — a new model provider for calm, focused AI interactions.
|
| 11 |
+
- **2026-05-22** 🔧 Fixed OpenCode login flow and refined prompt identity for clearer agent behavior.
|
| 12 |
+
- **2026-05-08** 🐛 Fixed model list not refreshing after `/login` opencode freemodel exit; subagent creation now works without API key in free mode.
|
| 13 |
+
- **2026-05-06** 🚀 Added OpenCode as a free provider — includes GPT-5 Nano and Big Pickle 🥒 models, `/model` list with life-free model display, and auto-refresh. Introduced ctx_line context tracking with online persistence. Better collapsing fetch results and auto-compact documentation polish. Merged PR #6 for Tavily search backend migration.
|
| 14 |
+
- **2026-04-30** 🔍 Added Tavily as optional search backend in WebSearchTool via PR #6.
|
| 15 |
+
- **2026-04-24** 🧹 Cleaned up empty contributor docs.
|
| 16 |
+
- **2026-04-21** 🛡️ Fixed auto-compact env in settings.json; VersperClaw now handles Ctrl+C resume gracefully.
|
| 17 |
+
- **2026-04-20** 📝 Documented ToolSearch behavior and <tr> table formatting.
|
| 18 |
+
- **2026-04-19** 📖 Described auto-dream and subagent features in README; punctuation and layout polish. Tagged **v2.0.1** 🏷️.
|
| 19 |
+
- **2026-04-18** 💭 Snapshot auto-dream feature; ToolSearch now uses WebSearch under the hood.
|
| 20 |
+
- **2026-04-15** 🌙 Auto Dream — AI autonomously reflects and builds internal memory. Fixed chatId overflow by migrating from Number to String.
|
| 21 |
+
- **2026-04-13** 🧠 All tools allowed in auto mode without classifier; auto-compact triggers on context size exceeded; ToolSearch enabled by default for all providers; OpenRouter full model loading. Tagged **v2.0.0** 🏷️.
|
| 22 |
+
- **2026-04-12** ⚡ Live refresh typing status; WebFetch now supports shouldDefer for lazy loading; symbol links documented as usable everywhere.
|
| 23 |
+
- **2026-04-09** 🎨 Major README overhaul — VersperAI branding with Banner & Logo, tabular layout, websearch/webfetch documentation, TypeScript main branch vs Python legacy explained. Tagged **v2.0.0** 🏷️.
|
| 24 |
+
- **2026-04-08** 🌐 Full WebSearch toolchain — SearXNG integration, Jina AI websearch & fetch, WebFetch UI notes, build fix. Four search approaches landed in one day.
|
| 25 |
+
- **2026-04-07** 🔍 Zero-search prototype; Python env removed; TLS-enabled web search working end-to-end.
|
| 26 |
+
- **2026-04-06** 🛠️ Open ripgrep via USE_BUILTIN_RIPGREP=0; WebFetch UI notes; skill message renamed; WebSearch API error fixed.
|
| 27 |
+
- **2026-04-05** 🤖 AutoMode — autonomous decision-making execution mode. `/sandbox` with sandbox-runtime @0.0.44. Project renamed to versperclaw. OpenRouter ↔ Local model switching, auto-refresh TUI, Telegram `/login` local model transition.
|
| 28 |
+
- **2026-04-04** 📱 Telegram backend — `/telegram` command, interactive commands, message receiving in TUI, chatId overflow fixed. `/buddy` companion mode; recent activity in individual directories.
|
| 29 |
+
- **2026-04-03** 🔄 Reborn as verspercode **v0.1.0** — complete `/login` system (OpenRouter + local models), `/model` search & UI, free OpenRouter model auto-load, onboarding flow. Local model filesystem-based provider.
|
| 30 |
+
|
| 31 |
+
<details>
|
| 32 |
+
<summary>Earlier news</summary>
|
| 33 |
+
|
| 34 |
+
- **2026-04-01** 🧹 Removed autoresearch, evolve modules, and Cursor scripts — streamlining toward v2. Tagged **v1.0.0** 🏷️.
|
| 35 |
+
- **2026-03-31** 🖥️ CLI update for better terminal interaction.
|
| 36 |
+
- **2026-03-30** 🐛 Fixed error type-in when using `/resume` session.
|
| 37 |
+
- **2026-03-29** 🧠 Memory routing — route-runtime-long_term for persistent context. CLI shell split to <10K lines. Browser vision click/control fixes. Paper GIF in README; --paper API call optimization.
|
| 38 |
+
- **2026-03-28** 📄 Academic paper pipeline — `/evolve` autonomous evolution, `/compact` context compression, LaTeX paper template, main.pdf compilation. Chrome-based research v1.0.
|
| 39 |
+
- **2026-03-27** 🔬 Research workflow — `/paper` and `/code` commands, 4-step research + autoresearch, ANN vector index, hybrid retrieval with semantic cache, external memory, token-budgeted evidence pipeline, IncompleteRead retry, long-term index cache. Workflows engine, `/resume` session toggle, CLI UI refresh.
|
| 40 |
+
- **2026-03-26** 🏗️ Configuration overhaul — YAML → JSON + .env + TOML. Clean config dir.
|
| 41 |
+
- **2026-03-24** 🌐 Browser control — Chrome DevTools MCP integration, WeChat gateway, Telegram gateway. Setup wizard, README with demo GIF, version menu.
|
| 42 |
+
- **2026-03-22** 🎉 Initial commit — versperclaw **v0.1.0** born.
|
| 43 |
+
|
| 44 |
+
</details>
|
| 45 |
+
|
| 46 |
+
|
| 47 |
+
## 📦 Install
|
| 48 |
|
| 49 |
```bash
|
| 50 |
# script install
|
|
|
|
| 55 |
|
| 56 |
# if want global use bin file
|
| 57 |
cp VersperClaw ~/.local/bin
|
| 58 |
+
# then can use VersperClaw in everywhere after `/login`
|
| 59 |
```
|
| 60 |
|
|
|
|
| 61 |
|
| 62 |
+
## 🚀 Quick Start
|
| 63 |
+
|
| 64 |
+
> [!IMPORTANT]
|
| 65 |
+
> If you no need `auto-compact / dream / control context-window`
|
| 66 |
+
> and `websearch` feature. you can no configuration anything
|
| 67 |
+
>
|
| 68 |
+
> if you no need free `local-websearch` you can skip config searxng
|
| 69 |
+
> and just set `TAVILY_API_KEY` in env
|
| 70 |
|
| 71 |
```bash
|
| 72 |
# Maximum_Context_Window = min(CLAUDE_CODE_MAX_CONTEXT_TOKENS, CLAUDE_CODE_AUTO_COMPACT_WINDOW) - 20000
|
| 73 |
# set 200k env in ~/.claude/settings.json or terminal
|
| 74 |
# the 20k is used to compact as buffer band
|
| 75 |
+
# set tool_search env
|
| 76 |
{
|
| 77 |
"env": {
|
| 78 |
"USER_TYPE": "ant",
|
| 79 |
"CLAUDE_CODE_MAX_CONTEXT_TOKENS": "200000",
|
| 80 |
+
"CLAUDE_CODE_AUTO_COMPACT_WINDOW": "200000",
|
| 81 |
+
"ENABLE_TOOL_SEARCH": "true",
|
| 82 |
+
# "TAVILY_API_KEY": ""
|
| 83 |
}
|
|
|
|
|
|
|
| 84 |
|
| 85 |
+
# set auto-dream config
|
|
|
|
|
|
|
|
|
|
|
|
|
| 86 |
"autoMemoryEnabled": true,
|
| 87 |
"autoDreamEnabled": true
|
| 88 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 89 |
|
| 90 |
+
```
|
| 91 |
|
| 92 |
```bash
|
| 93 |
+
## config searxng
|
| 94 |
+
|
| 95 |
+
# 1. docker configuration
|
| 96 |
# local config search engine - searxng in archlinux
|
| 97 |
# make sure have install docker and docker-compose
|
| 98 |
sudo pacman -S docker-compose && docker
|
|
|
|
| 101 |
|
| 102 |
# make sure open pc and now start docker daemon
|
| 103 |
sudo systemctl enable --now docker
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 104 |
|
| 105 |
+
# 2. docker-compose pull
|
| 106 |
+
# use VersperSearch a pre-build docker config in https://github.com/versperai/VersperSearch
|
| 107 |
# or install searxng in docker-compose by yourself
|
| 108 |
curl -fsSL \
|
| 109 |
+
-O https://raw.githubusercontent.com/searxng/searxng/master/container/docker-compose.yml \
|
| 110 |
+
-O https://raw.githubusercontent.com/searxng/searxng/master/container/.env.example
|
| 111 |
|
| 112 |
# add json source in formats behind html - jsonl in 87 lines
|
| 113 |
cd searxng/core-config/ && sudo nvim settings.yml
|
| 114 |
|
| 115 |
# start searxng engine
|
| 116 |
docker compose up -d
|
|
|
|
|
|
|
|
|
|
| 117 |
|
| 118 |
+
# 3. check search feature
|
| 119 |
# check in every browser
|
| 120 |
firefox http://localhost:8080
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 121 |
# or allow tool search in ~/.bashrc
|
|
|
|
| 122 |
```
|
| 123 |
|
|
|
|
| 124 |
|
| 125 |
+
## ✨ Features
|
| 126 |
|
| 127 |
+
## Auto Compact & Dream & SubAgent
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 128 |
|
| 129 |
<table align="center">
|
| 130 |
<tr>
|
| 131 |
+
<td><img src="assets/ctx_auto_compose/compact_dream_subagent.png"></td>
|
|
|
|
| 132 |
</tr>
|
| 133 |
</table>
|
| 134 |
|
| 135 |
+
|
| 136 |
+
## WebSearch & WebFetch Tools
|
| 137 |
|
| 138 |
<table align="center">
|
| 139 |
<tr>
|
| 140 |
+
<td><img src="assets/WebSearchTool.png"></td>
|
| 141 |
+
<td><img src="assets/WebSearchTool2.png"></td>
|
| 142 |
+
<td><img src="assets/WebSearchTool3.png"></td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 143 |
</tr>
|
| 144 |
</table>
|
| 145 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 146 |
|
| 147 |
+
## Telegram - Interactive Config
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 148 |
|
| 149 |
```bash
|
| 150 |
+
/telegram
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 151 |
```
|