中文文档 | Quick Start | Features | Commands
A lightweight personal AI assistant framework that integrates Large Language Models with multiple chat platforms, tool systems, and automation mechanisms.
Automatically decomposes complex tasks into executable subtask DAGs, supporting:
- Intelligent Decomposition — LLM analyzes tasks and generates dependency-based subtask graphs
- Automatic Chain Execution — SubAgent completions automatically trigger dependent tasks
- Parallel Execution — Parallel-safe tasks run simultaneously for maximum efficiency
- Dynamic Adjustment — Add/remove subtasks during runtime
A self-learning system that continuously improves from problem-solving experiences:
{
"id": "exp_86788c0e",
"timestamp": "2026-04-20T21:19:17",
"tool_name": "exec",
"error_type": "argument error",
"error_message": "",
"params": {},
"outcome": "resolved",
"resolution": "当使用opencli的scroll命令时,确保只传递一个参数,避免参数过多错误。检查命令调用格式,正确示例为`scroll(distance)`或`scroll(selector)`,而非多个参数。在工具调用前验证参数数量,可参考opencli文档或使用测试命令确认API要求。",
"context_summary": "网页自动化执行:使用opencli执行JavaScript命令时参数错误和代码语法/类型错误,通过调整命令和防御性编程解决",
"confidence": 0.7,
"session_key": "cli:direct",
"merged_count": 0,
"last_used_at": "2026-04-20T21:19:17",
"category": "api",
"tags": ["opencli", "scroll", "参数错误", "浏览器自动化"],
"use_count": 0,
"success_count": 0,
"feedback_positive": 0,
"feedback_negative": 0
}- Semantic Experience Search — Vector-based search understands problem intent, not just keywords
- Auto Context Injection — Relevant past solutions automatically appear when you need them
- Proactive Error Diagnosis — Tool failures trigger automatic suggestions from resolved experiences
- Smart Confidence Model — Multi-dimensional scoring: usage frequency, success rate, freshness, feedback
- Automatic Categorization — Experiences tagged by category (path, permission, encoding, network, etc.)
- Non-blocking Execution — Background tasks don't block main conversation
- Concurrency Control — Configurable max concurrency to prevent overload
- Heartbeat Monitoring — Auto-detects timeout tasks, prevents zombie processes
- Auto-notification — Automatically triggers main Agent to summarize results when complete
Two-phase autonomous memory consolidation during idle periods:
- Phase 1: Analysis — LLM analyzes conversation history, extracts insights
- Phase 2: Editing — AgentRunner makes targeted edits to memory files
- Phase 3: Experience Update — Merges similar experiences, updates strategy documents
- Vector Storage Integration — Semantic search across consolidated memories
Task execution shows real-time progress in CLI without disrupting main conversation
Full-screen terminal configuration editor accessible directly within the interactive chat:
- Press
Ctrl+Oor type/configto open the editor - No need to exit the chat session
- Edit provider settings, model parameters, tool configs, etc.
- Press
qto save and return to chat
Connect to external MCP servers and use their tools seamlessly:
- Native Tool Wrapping — MCP tools appear as native tinybot tools
- Multiple Server Support — Connect to multiple MCP servers simultaneously
- Auto Tool Discovery — Automatically discovers and registers available tools
- Multi-platform Integration — Built-in WeChat, DingTalk, Feishu channels; plugin extensibility
- Rich Tools — File read/write, shell execution, browser automation, web search, scheduled tasks
- Intelligent Memory — Vector storage-based memory system with session integration and semantic search
- Multi-LLM Support — Compatible with OpenAI, DeepSeek, Zhipu, Qwen, Gemini, and 14+ providers
- Skills System — Define skills via Markdown files, teach Agent specific workflows without coding
- Automation — Cron scheduled tasks + heartbeat service for periodic auto-execution
- OpenAI Compatible API — Run as OpenAI-compatible backend service, integrate with any OpenAI client
- Session Management — Persistent conversation history with checkpoint recovery
- Security — Workspace restriction, command audit, encrypted credential storage
# Install
uv sync
# Initialize configuration (interactive wizard)
uv run tinybot onboard
# Interactive chat mode
uv run tinybot agent
# Send single message
uv run tinybot agent -m "Hello"
# Start gateway (multi-channel + scheduled tasks + heartbeat)
uv run tinybot gateway
# Run as OpenAI-compatible API server
uv run tinybot apiTinybot provides a browser-based web interface for chatting with the AI agent.
Edit your ~/.tinybot/config.json file, add the following under channels:
{
"channels": {
"websocket": {
"enabled": true,
"host": "127.0.0.1",
"port": 18790
}
}
}uv run tinybot gatewayVisit http://127.0.0.1:18790 in your browser.
| Endpoint | Method | Description |
|---|---|---|
/api/sessions |
GET | List all chat sessions |
/api/sessions/{key}/messages |
GET | Get session messages |
/api/sessions/{key} |
DELETE/PATCH | Delete/update session |
/api/sessions/{key}/clear |
POST | Clear session history |
/api/sessions/{key}/profile |
GET | Get user profile |
/api/config |
GET/PATCH | Get/update configuration |
/api/status |
GET | Get system status |
/api/tools |
GET | Get available tools |
/api/skills |
GET | Get all skills |
/api/skills/{name} |
GET | Get skill detail |
/api/workspace/files |
GET | List workspace files |
/ws |
WebSocket | Real-time chat connection |
| Event | Direction | Description |
|---|---|---|
new_chat |
Client → Server | Create new chat |
attach |
Client → Server | Attach to existing chat |
message |
Client → Server | Send message |
interrupt |
Client → Server | Stop AI generation |
ping |
Client → Server | Heartbeat |
delta |
Server → Client | Streaming text chunk |
stream_end |
Server → Client | Stream finished |
message |
Server → Client | Full message |
file_updated |
Server → Client | Workspace file changed |
When in interactive mode, the following commands are available:
| Command | Description |
|---|---|
/config or Ctrl+O |
Open configuration editor |
/help |
Show available commands |
/clear |
Clear conversation history |
/new |
Start new conversation session |
/exit or :q |
Exit the chat |
Define custom skills through simple Markdown files.
Skills are automatically loaded and the Agent follows defined workflows when conditions match.
npm install -g @jackwener/opencliOpenCLI connects to Chrome/Chromium through a lightweight Browser Bridge extension plus a small local daemon. The daemon auto-starts when needed.
- Download the latest
opencli-extension-v{version}.zipfrom the GitHub Releases page. - Unzip it, open
chrome://extensions, and enable Developer mode. - Click Load unpacked and select the unzipped folder.
opencli doctorThe Agent can actively manage its learning experiences:
| Tool | Description |
|---|---|
query_experience |
Search past problem-solving experiences |
save_experience |
Save a new solution for future reference |
feedback_experience |
Mark an experience as helpful or not |
delete_experience |
Remove outdated or incorrect experiences |
- Python >= 3.13

