| Name | robodogcli JSON |
| Version |
2.6.15
JSON |
| download |
| home_page | None |
| Summary | Robodog |
| upload_time | 2025-09-01 14:30:23 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.8 |
| license | None |
| keywords |
robot
dog
automation
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# file: README.md

## Overview
Robodog is a lightweight, zero-install, command-line style generative AI client that integrates multiple providers (OpenAI, OpenRouter, LlamaAI, DeepSeek, Anthropic, Sarvam AI, Google Search API, and more) into a unified interface. Key capabilities include:
- Access to cutting-edge models: `o4-mini` (200k context), `gpt-4`, `gpt-4-turbo`, `dall-e-3`, Llama3-70b, Claude Opus/Sonnet, Mistral, Sarvam-M, Gemma 3n, etc.
- Massive context windows (up to 200k tokens) across different models.
- Seamless chat history & knowledge management with stashes and snapshots.
- File import/export (text, Markdown, code, PDF, images via OCR).
- In-chat file inclusion from a local MCP server.
- Built-in web search integration.
- Image generation & OCR pipelines.
- AI-driven web automation/testing via Playwright (`/play`).
- Raw MCP operations (`/mcp`).
- `/todo` feature: automate and track tasks defined in `todo.md`.
- Accessible, retro βconsoleβ UI with customizable themes and responsive design.
---
## Try Robodog
- **Web**: https://adourish.github.io/robodog/robodog/dist/
- **Android**: https://play.google.com/store/apps/details?id=com.unclebulgaria.robodog
- **npm packages**:
- `npm install robodoglib`
- `npm install robodogcli`
- `npm install robodog`
- **Python**:
- `pip install robodogcli`
- `pip show -f robodogcli`
- `python -m robodogcli.cli --help`
- `pip install --upgrade requests tiktoken PyYAML openai playwright pydantic langchain` (optional)
---
## Configuration
Click the βοΈ icon in the top-menu to open settings, or edit your YAML directly:
```yaml
configs:
providers:
- provider: openAI
baseUrl: "https://api.openai.com"
apiKey: "<YOUR_OPENAI_KEY>"
- provider: openRouter
baseUrl: "https://openrouter.ai/api/v1"
apiKey: "<YOUR_ROUTER_KEY>"
- provider: searchAPI
baseUrl: "https://google-search74.p.rapidapi.com"
apiKey: "<YOUR_RAPIDAPI_KEY>"
specialists:
- specialist: nlp
resume: natural language processing, content generation
- specialist: gi
resume: image generation from text
- specialist: search
resume: web search integration
mcpServer:
baseUrl: "http://localhost:2500"
apiKey: "testtoken"
models:
- provider: openAI
model: gpt-4
stream: true
specialist: nlp
about: best for reasoning
- provider: openAI
model: o4-mini
stream: true
specialist: nlp
about: 200k token context, advanced reasoning
- provider: openAI
model: dall-e-3
stream: false
specialist: gi
about: image creation
- provider: searchAPI
model: search
stream: false
specialist: search
about: web search results
```
---
## Supported Models
### OpenAI
- gpt-4, gpt-4-turbo, gpt-3.5-turbo, gpt-3.5-turbo-16k, o4-mini, o1
- dall-e-3
### Others
- LlamaAI: llama3-70b
- Anthropic: Claude Opus 4, Claude Sonnet 4
- DeepSeek R1
- Mistral Medium 3, Devstral-Small
- Sarvam-M
- Google Gemma 3n E4B
---
## Key Features
- **Multi-Provider Support**: Switch between any configured provider or model on the fly (`/model`).
- **Chat & Knowledge**: Separate panes for Chat History (π) and Knowledge (π)βboth resizable.
- **Stash Management**:
- `/stash <name>` β save current chat+knowledge
- `/pop <name>` β restore a stash
- `/list` β list all stashes
- **File Import/Export**:
- `/import <glob>` β import files (.md, .js, .py, .pdf, images via OCR)
- `/export <file>` β export chat+knowledge snapshot
- **MCP File Inclusion**:
- `/include all`
- `/include file=README.md`
- `/include pattern=*.js|*.css recursive`
- `/include dir=src pattern=*.py recursive`
- **Raw MCP Operations**:
- `/mcp OP [JSON]` β e.g. `/mcp LIST_FILES`, `/mcp READ_FILE {"path":"./foo.py"}`
- **Web Fetch & Automation**:
- `/curl [--no-headless] <url> [<url2>|<js>]` β fetch pages or run JS
- `/play <instructions>` β run AI-driven Playwright tests end-to-end
- **Web Search**:
- Use `search` model or click π to perform live web queries.
- **Image Generation & OCR**: Ask questions to `dall-e-3` or drop an image to extract text via OCR.
- **Interactive Console UI**: Retro βpip-boy greenβ theme, responsive on desktop/mobile, accessible.
- **Performance & Size Indicators**: Emoji feedback for processing speed and token usage.
- **Extensive Command Palette**: `/help` lists all commands, indicators, and settings.
- **Todo Automation**: Use `/todo` to execute tasks defined in `todo.md` across your project roots.
---
## Usage Examples
### 1) AI-Driven Web Tests with `/play`
```
/play navigate to https://example.com, extract the page title, and verify it contains 'Example Domain'
```
### 2) Fetch & Scrape with `/curl`
```
/curl https://example.com
```
### 3) Include Local Files via MCP
```
/include pattern=*.js recursive fix bug in parser
```
### 4) Raw MCP Commands
```
/mcp LIST_FILES
/mcp READ_FILE {"path":"./src/cli.py"}
```
### 5) Switch Model on the Fly
```
/model o4-mini
```
### 6) Import & Export
```
/import **/*.md
/export conversation_snapshot.txt
```
---
## /todo Feature
Robodogβs `/todo` command scans one or more `todo.md` files in your configured project roots, detects tasks marked `[ ]`, transitions them to `[~]` (Doing) when started, and `[x]` (Done) when completed. Each task may include:
- `include:` pattern or file specification to gather relevant knowledge
- `focus:` file path where the AI will write or update content
- Optional code fences below the task as initial context
You can have multiple `todo.md` files anywhere under your roots. `/todo` processes the earliest outstanding task, runs the AI with gathered knowledge, updates the focus file, stamps start/completion times, and advances to the next.

### Example `todo.md` File Formats
```markdown
# file: project1/todo.md
- [ ] Revise API client
- include: pattern=api/*.js recursive
- focus: file=api/client.js
```code
// existing stub
```
```markdown
- [ ] Add unit tests
- include: file=tests/template.spec.js
- focus: file=tests/api.client.spec.js
```
```markdown
# file: project2/docs/todo.md
- [ ] Update README
- focus: file=README.md
- [ ] Generate changelog
- include: pattern=CHANGELOG*.md
- focus: file=CHANGELOG.md
```code
```
```markdown
# todo readme
- [x] readme
- include: pattern=*robodog*.md|*robodog*.py|*todo.md recursive`
- focus: file=c:\projects\robodog\robodogcli\temp\service.log
```code
1. do not remove any content
2. add a new readme section for the /todo feature with examples of the todo.md files and how you can have as many as possible
3. give lots of exampkes of file formats
```
```markdown
# watch
- [ ] change app prints in service logger.INFO
- include: pattern=*robodog*.md|*robodog*.py recursive`
- focus: file=c:\projects\robodog\robodogcli\robodog\cli*3*.py
```code
do not remove any features.
give me full drop in code file
```
```markdown
# fix logging
- [ ] ask: fix logging. change logging so that it gets log level through command line. change logger so that it takes log level from the command line param
- include: pattern=*robodog*.md|*robodog*.py recursive`
- focus: file=c:\projects\robodog\robodogcli\robodog\cli3.py
```code
my knowledge
```
You can chain as many tasks and files as needed. Each can reside in different directories, and Robodog will locate all `todo.md` files automatically.
## Configuration & Command Reference
See command palette in-app (`/help`) or the reference below:
```
/help β show help
/models β list configured models
/model <name> β switch model
/key <prov> <key> β set API key
/import <glob> β import files into knowledge
/export <file> β export snapshot
/clear β clear chat & knowledge
/stash <name> β stash state
/pop <name> β restore stash
/list β list stashes
/temperature <n> β set temperature
/top_p <n> β set top_p
/max_tokens <n> β set max_tokens
/frequency_penalty <n> β set frequency_penalty
/presence_penalty <n> β set presence_penalty
/stream β enable streaming mode
/rest β disable streaming mode
/folders <dirs> β set MCP roots
/include β¦ β include files via MCP
/curl β¦ β fetch pages / run JS
/play β¦ β AI-driven Playwright tests
/mcp β¦ β invoke raw MCP operation
/todo β run next To Do task
```
---
## Build & Run
```bash
# Clone or unzip robodog
cd robodog
python build.py
open ./dist/robodog.html
```
```bash
npm install robodoglib
npm install robodogcli
npm install robodog
pip install robodogcli
pip show -f robodogcli
python -m robodogcli.cli --help
python -m playwright install
```
---
Enjoy Robodog AIβthe future of fast, contextual, and extensible AI interaction!
Raw data
{
"_id": null,
"home_page": null,
"name": "robodogcli",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "robot, dog, automation",
"author": null,
"author_email": "adourish <adourish@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/bd/89/0412a8eb971852ebbcbf1c1c873b74b402b0b144d767c88357cc12f7b8dc/robodogcli-2.6.15.tar.gz",
"platform": null,
"description": "# file: README.md\r\n\r\n\r\n## Overview \r\nRobodog is a lightweight, zero-install, command-line style generative AI client that integrates multiple providers (OpenAI, OpenRouter, LlamaAI, DeepSeek, Anthropic, Sarvam AI, Google Search API, and more) into a unified interface. Key capabilities include:\r\n\r\n- Access to cutting-edge models: `o4-mini` (200k context), `gpt-4`, `gpt-4-turbo`, `dall-e-3`, Llama3-70b, Claude Opus/Sonnet, Mistral, Sarvam-M, Gemma 3n, etc. \r\n- Massive context windows (up to 200k tokens) across different models. \r\n- Seamless chat history & knowledge management with stashes and snapshots. \r\n- File import/export (text, Markdown, code, PDF, images via OCR). \r\n- In-chat file inclusion from a local MCP server. \r\n- Built-in web search integration. \r\n- Image generation & OCR pipelines. \r\n- AI-driven web automation/testing via Playwright (`/play`). \r\n- Raw MCP operations (`/mcp`). \r\n- `/todo` feature: automate and track tasks defined in `todo.md`. \r\n- Accessible, retro \u201cconsole\u201d UI with customizable themes and responsive design. \r\n\r\n---\r\n\r\n## Try Robodog \r\n\r\n- **Web**: https://adourish.github.io/robodog/robodog/dist/ \r\n- **Android**: https://play.google.com/store/apps/details?id=com.unclebulgaria.robodog \r\n- **npm packages**: \r\n - `npm install robodoglib` \r\n - `npm install robodogcli` \r\n - `npm install robodog` \r\n- **Python**: \r\n - `pip install robodogcli` \r\n - `pip show -f robodogcli` \r\n - `python -m robodogcli.cli --help` \r\n - `pip install --upgrade requests tiktoken PyYAML openai playwright pydantic langchain` (optional) \r\n\r\n---\r\n\r\n## Configuration \r\n\r\nClick the \u2699\ufe0f icon in the top-menu to open settings, or edit your YAML directly:\r\n\r\n```yaml\r\nconfigs:\r\n providers:\r\n - provider: openAI\r\n baseUrl: \"https://api.openai.com\"\r\n apiKey: \"<YOUR_OPENAI_KEY>\"\r\n - provider: openRouter\r\n baseUrl: \"https://openrouter.ai/api/v1\"\r\n apiKey: \"<YOUR_ROUTER_KEY>\"\r\n - provider: searchAPI\r\n baseUrl: \"https://google-search74.p.rapidapi.com\"\r\n apiKey: \"<YOUR_RAPIDAPI_KEY>\"\r\n\r\n specialists:\r\n - specialist: nlp\r\n resume: natural language processing, content generation\r\n - specialist: gi\r\n resume: image generation from text\r\n - specialist: search\r\n resume: web search integration\r\n\r\n mcpServer:\r\n baseUrl: \"http://localhost:2500\"\r\n apiKey: \"testtoken\"\r\n\r\n models:\r\n - provider: openAI\r\n model: gpt-4\r\n stream: true\r\n specialist: nlp\r\n about: best for reasoning\r\n - provider: openAI\r\n model: o4-mini\r\n stream: true\r\n specialist: nlp\r\n about: 200k token context, advanced reasoning\r\n - provider: openAI\r\n model: dall-e-3\r\n stream: false\r\n specialist: gi\r\n about: image creation\r\n - provider: searchAPI\r\n model: search\r\n stream: false\r\n specialist: search\r\n about: web search results\r\n```\r\n\r\n---\r\n\r\n## Supported Models \r\n\r\n### OpenAI \r\n- gpt-4, gpt-4-turbo, gpt-3.5-turbo, gpt-3.5-turbo-16k, o4-mini, o1 \r\n- dall-e-3 \r\n\r\n### Others \r\n- LlamaAI: llama3-70b \r\n- Anthropic: Claude Opus 4, Claude Sonnet 4 \r\n- DeepSeek R1 \r\n- Mistral Medium 3, Devstral-Small \r\n- Sarvam-M \r\n- Google Gemma 3n E4B \r\n\r\n---\r\n\r\n## Key Features \r\n\r\n- **Multi-Provider Support**: Switch between any configured provider or model on the fly (`/model`). \r\n- **Chat & Knowledge**: Separate panes for Chat History (\ud83d\udcad) and Knowledge (\ud83d\udcdd)\u2014both resizable. \r\n- **Stash Management**: \r\n - `/stash <name>` \u2014 save current chat+knowledge \r\n - `/pop <name>` \u2014 restore a stash \r\n - `/list` \u2014 list all stashes \r\n- **File Import/Export**: \r\n - `/import <glob>` \u2014 import files (.md, .js, .py, .pdf, images via OCR) \r\n - `/export <file>` \u2014 export chat+knowledge snapshot \r\n- **MCP File Inclusion**: \r\n - `/include all` \r\n - `/include file=README.md` \r\n - `/include pattern=*.js|*.css recursive` \r\n - `/include dir=src pattern=*.py recursive` \r\n- **Raw MCP Operations**: \r\n - `/mcp OP [JSON]` \u2014 e.g. `/mcp LIST_FILES`, `/mcp READ_FILE {\"path\":\"./foo.py\"}` \r\n- **Web Fetch & Automation**: \r\n - `/curl [--no-headless] <url> [<url2>|<js>]` \u2014 fetch pages or run JS \r\n - `/play <instructions>` \u2014 run AI-driven Playwright tests end-to-end \r\n- **Web Search**: \r\n - Use `search` model or click \ud83d\udd0e to perform live web queries. \r\n- **Image Generation & OCR**: Ask questions to `dall-e-3` or drop an image to extract text via OCR. \r\n- **Interactive Console UI**: Retro \u201cpip-boy green\u201d theme, responsive on desktop/mobile, accessible. \r\n- **Performance & Size Indicators**: Emoji feedback for processing speed and token usage. \r\n- **Extensive Command Palette**: `/help` lists all commands, indicators, and settings. \r\n- **Todo Automation**: Use `/todo` to execute tasks defined in `todo.md` across your project roots. \r\n\r\n---\r\n\r\n## Usage Examples \r\n\r\n### 1) AI-Driven Web Tests with `/play`\r\n```\r\n/play navigate to https://example.com, extract the page title, and verify it contains 'Example Domain'\r\n```\r\n\r\n### 2) Fetch & Scrape with `/curl`\r\n```\r\n/curl https://example.com\r\n```\r\n\r\n### 3) Include Local Files via MCP\r\n```\r\n/include pattern=*.js recursive fix bug in parser\r\n```\r\n\r\n### 4) Raw MCP Commands\r\n```\r\n/mcp LIST_FILES\r\n/mcp READ_FILE {\"path\":\"./src/cli.py\"}\r\n```\r\n\r\n### 5) Switch Model on the Fly\r\n```\r\n/model o4-mini\r\n```\r\n\r\n### 6) Import & Export\r\n```\r\n/import **/*.md\r\n/export conversation_snapshot.txt\r\n```\r\n\r\n---\r\n\r\n## /todo Feature \r\n\r\nRobodog\u2019s `/todo` command scans one or more `todo.md` files in your configured project roots, detects tasks marked `[ ]`, transitions them to `[~]` (Doing) when started, and `[x]` (Done) when completed. Each task may include:\r\n\r\n- `include:` pattern or file specification to gather relevant knowledge\r\n- `focus:` file path where the AI will write or update content\r\n- Optional code fences below the task as initial context\r\n\r\nYou can have multiple `todo.md` files anywhere under your roots. `/todo` processes the earliest outstanding task, runs the AI with gathered knowledge, updates the focus file, stamps start/completion times, and advances to the next.\r\n\r\n\r\n\r\n### Example `todo.md` File Formats\r\n\r\n```markdown\r\n# file: project1/todo.md\r\n- [ ] Revise API client\r\n - include: pattern=api/*.js recursive\r\n - focus: file=api/client.js\r\n```code\r\n// existing stub\r\n```\r\n\r\n\r\n```markdown\r\n- [ ] Add unit tests\r\n - include: file=tests/template.spec.js\r\n - focus: file=tests/api.client.spec.js\r\n```\r\n\r\n```markdown\r\n# file: project2/docs/todo.md\r\n- [ ] Update README\r\n - focus: file=README.md\r\n- [ ] Generate changelog\r\n - include: pattern=CHANGELOG*.md\r\n - focus: file=CHANGELOG.md\r\n```code\r\n\r\n```\r\n\r\n```markdown\r\n# todo readme\r\n- [x] readme\r\n - include: pattern=*robodog*.md|*robodog*.py|*todo.md recursive`\r\n - focus: file=c:\\projects\\robodog\\robodogcli\\temp\\service.log\r\n```code\r\n1. do not remove any content\r\n2. add a new readme section for the /todo feature with examples of the todo.md files and how you can have as many as possible\r\n3. give lots of exampkes of file formats\r\n```\r\n\r\n\r\n```markdown\r\n# watch\r\n- [ ] change app prints in service logger.INFO\r\n - include: pattern=*robodog*.md|*robodog*.py recursive`\r\n - focus: file=c:\\projects\\robodog\\robodogcli\\robodog\\cli*3*.py\r\n```code\r\ndo not remove any features.\r\ngive me full drop in code file\r\n```\r\n\r\n\r\n```markdown\r\n# fix logging\r\n- [ ] ask: fix logging. change logging so that it gets log level through command line. change logger so that it takes log level from the command line param\r\n - include: pattern=*robodog*.md|*robodog*.py recursive`\r\n - focus: file=c:\\projects\\robodog\\robodogcli\\robodog\\cli3.py\r\n```code\r\nmy knowledge\r\n```\r\n\r\nYou can chain as many tasks and files as needed. Each can reside in different directories, and Robodog will locate all `todo.md` files automatically.\r\n\r\n## Configuration & Command Reference \r\n\r\nSee command palette in-app (`/help`) or the reference below:\r\n\r\n```\r\n/help \u2014 show help \r\n/models \u2014 list configured models \r\n/model <name> \u2014 switch model \r\n/key <prov> <key> \u2014 set API key \r\n/import <glob> \u2014 import files into knowledge \r\n/export <file> \u2014 export snapshot \r\n/clear \u2014 clear chat & knowledge \r\n/stash <name> \u2014 stash state \r\n/pop <name> \u2014 restore stash \r\n/list \u2014 list stashes \r\n/temperature <n> \u2014 set temperature \r\n/top_p <n> \u2014 set top_p \r\n/max_tokens <n> \u2014 set max_tokens \r\n/frequency_penalty <n> \u2014 set frequency_penalty \r\n/presence_penalty <n> \u2014 set presence_penalty \r\n/stream \u2014 enable streaming mode \r\n/rest \u2014 disable streaming mode \r\n/folders <dirs> \u2014 set MCP roots \r\n/include \u2026 \u2014 include files via MCP \r\n/curl \u2026 \u2014 fetch pages / run JS \r\n/play \u2026 \u2014 AI-driven Playwright tests \r\n/mcp \u2026 \u2014 invoke raw MCP operation \r\n/todo \u2014 run next To Do task \r\n```\r\n\r\n---\r\n\r\n## Build & Run \r\n\r\n```bash\r\n# Clone or unzip robodog\r\ncd robodog\r\npython build.py\r\nopen ./dist/robodog.html\r\n```\r\n\r\n```bash\r\nnpm install robodoglib \r\nnpm install robodogcli \r\nnpm install robodog \r\npip install robodogcli \r\npip show -f robodogcli \r\npython -m robodogcli.cli --help \r\npython -m playwright install\r\n```\r\n\r\n---\r\n\r\nEnjoy Robodog AI\u2014the future of fast, contextual, and extensible AI interaction!\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Robodog",
"version": "2.6.15",
"project_urls": {
"Documentation": "https://robodog.readthedocs.io",
"Homepage": "https://github.com/adourish/robodog",
"Repository": "https://github.com/adourish/robodog.git"
},
"split_keywords": [
"robot",
" dog",
" automation"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4c1d48ec353f3e477b8fba8b4144b9d0dd87d7cd0998c36650096d9b629ba2cd",
"md5": "16a4c954b71fbfb4ff4ddf6d1f0fc431",
"sha256": "ad8f91093bb319dcd1a797fdf521b31d716d007abf83d94744f99c3021c75ff4"
},
"downloads": -1,
"filename": "robodogcli-2.6.15-py3-none-any.whl",
"has_sig": false,
"md5_digest": "16a4c954b71fbfb4ff4ddf6d1f0fc431",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 19340,
"upload_time": "2025-09-01T14:30:21",
"upload_time_iso_8601": "2025-09-01T14:30:21.650099Z",
"url": "https://files.pythonhosted.org/packages/4c/1d/48ec353f3e477b8fba8b4144b9d0dd87d7cd0998c36650096d9b629ba2cd/robodogcli-2.6.15-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "bd890412a8eb971852ebbcbf1c1c873b74b402b0b144d767c88357cc12f7b8dc",
"md5": "d5cebeaa9484d45b536bf8a2b9ce7fc1",
"sha256": "f2869556b0a04c3e343d4e83884ebc0deebfa6d6727085127857c53fc5f7f2b1"
},
"downloads": -1,
"filename": "robodogcli-2.6.15.tar.gz",
"has_sig": false,
"md5_digest": "d5cebeaa9484d45b536bf8a2b9ce7fc1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 21763,
"upload_time": "2025-09-01T14:30:23",
"upload_time_iso_8601": "2025-09-01T14:30:23.400393Z",
"url": "https://files.pythonhosted.org/packages/bd/89/0412a8eb971852ebbcbf1c1c873b74b402b0b144d767c88357cc12f7b8dc/robodogcli-2.6.15.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-01 14:30:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "adourish",
"github_project": "robodog",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "robodogcli"
}