CLI for DeepVista — chat, notes, skills, and memory from your terminal.
Project description
Turn Your Agents into a Self-Evolving Team
DeepVista CLI connects your coding agents to a shared knowledge base —
so they don’t just execute, but learn, remember, and build on past work.
⭐ If this direction resonates, consider starring the repo — it helps more people discover it.
Who this is for
- Builders working with coding agents (Claude Code, Cursor, OpenCode)
- People experimenting with agent workflows and skills
- Anyone trying to turn scattered interactions into compounding knowledge
What this enables
Modern coding agents are powerful — but each interaction is stateless and isolated.
DeepVista changes that.
- Agents remember past work
- Agents share context through a common knowledge base
- Agents build on previous decisions and insights
Over time, this turns isolated executions into a:
→ a self-evolving team of agents that compound knowledge over time
Why DeepVista CLI?
Most knowledge tools trap your data in a GUI. DeepVista CLI gives you full access to your knowledge base from the terminal — and lets your AI agents use it too.
- 🧠 Capture knowledge — notes, insights, decisions — as you work
- 🔍 Hybrid search — vector + keyword across everything you've saved
- 🤖 Agent-native — Claude Code, Cursor, OpenCode use it as a skill
- 📋 Run Skills — execute structured AI workflows from the command line
- 💬 Chat — talk to the DeepVista AI agent in your terminal
- 🖥️ Full TUI — four-panel terminal UI for chat, notes, skills, and memory
Related Ideas
This repo is part of a broader exploration of how agent skills are structured and executed.
If you're interested in:
- how different types of skills should be modeled
- how to handle stateless vs stateful execution
- how to make agent workflows more reliable
→ Read more: https://go.deepvista.ai/agent-skills-2d
Quick Start
One-line install
pip install deepvista-cli
Or with uv / pipx:
uv tool install deepvista-cli # or: pipx install deepvista-cli
Login and go
deepvista auth login # opens browser
deepvista notes +quick "My first note from the terminal"
deepvista card +search "founder mindset"
deepvista chat +send "What did I learn last week?"
That's it. Your knowledge base is now accessible from any terminal.
For AI Agents
Claude Code
Cursor
OpenCode
and any agent that supports skills
Install once, then talk to your agent. The agent handles authentication and all commands on your behalf.
curl -sSL https://raw.githubusercontent.com/DeepVista-AI/deepvista-cli/main/install.sh | bash
The script auto-detects your package manager (uv, pipx, or pip) and copies the consolidated deepvista skill into your agent's skill directory (Claude Code, OpenCode, Cursor, OpenClaw). If you upgraded from an earlier release, it also sweeps out the 12 legacy deepvista-* skills so you don't end up with both.
Prefer GitHub's CLI? gh skill install DeepVista-AI/deepvista-cli works too (GitHub CLI ≥ 2.90, preview).
Get Started
Open your agent and paste:
Help me get started with DeepVista. Walk me through logging in.
Your agent will open the browser login page, guide you through pasting the auth code, and confirm you're logged in.
Claude Code tip: To skip skill file read confirmations:
claude config set allowedPaths "~/.claude/skills" --global
Auto-Capture
The install script enables auto-capture in every detected agent — no manual setup required.
| Agent | Config file |
|---|---|
| Claude Code | ~/.claude/CLAUDE.md |
| Cursor | ~/.cursor/rules |
| OpenCode | ~/.opencode/AGENTS.md |
Your agent silently saves facts, decisions, insights, and action items to your DeepVista knowledge base as you work. The install is idempotent — re-running won't duplicate anything.
Skill Reference
One skill, deepvista, with per-subcommand detail under skills/deepvista/reference/.
| Reference file | What it covers |
|---|---|
reference/shared.md |
Auth, profiles, global flags, exit codes, agent registration |
reference/notes.md |
Note capture, CRUD, +quick |
reference/vistabase-card.md |
Knowledge-base cards — create, search, pin, edit, grep |
reference/vistabase.md |
Implicit memory — view and search |
reference/memory.md |
Deprecated deepvista memory alias mapping |
reference/chat.md |
Chat sessions and NDJSON stream format |
reference/skill.md |
Structured Skill workflows — list, run, discover, install |
reference/skill-analyze-notes.md |
Pattern: search → read → synthesize notes |
reference/skill-research-to-skill.md |
Pattern: research the KB, then run a Skill |
reference/skill-import-files.md |
Bulk-import a folder as file cards |
reference/persona-knowledge-worker.md |
Daily persona workflow loop |
reference/openclaw.md |
Auto-capture rules for OpenClaw agents |
The agent loads only the index at first; when a subcommand is needed, it reads the matching reference file on demand.
Use Cases
🎧 Capture Insights from Podcasts
Build a searchable knowledge base from founder interviews:
I just listened to the Lenny's Podcast episode with Brian Chesky about founder mode.
Save this to my knowledge base as a note titled "Brian Chesky — Founder Mode".
🔬 Research and Synthesize
Once you've captured 10–20 notes, ask your agent to find patterns:
Search for cards about growth and early-stage execution,
then run my Research Synthesis skill focused on:
what separates high-growth founders, common 0→1 mistakes.
📘 Build a Founder Playbook
I have a new startup idea to evaluate. Idea: [your idea].
1. Search my knowledge base for any idea validation frameworks
2. Find my idea evaluation Skill
3. Run it with the above context
Export as a reusable, shareable skill:
Export my founder playbook Skill as a SKILL.md file so I can share it with my team.
More Skill Patterns
| Skill | How to invoke |
|---|---|
| Research synthesis | "Search my KB for [topic] and run my Research Synthesis Skill" |
| Weekly review | "Run my weekly review — surface pinned cards and capture key learnings" |
| Interview debrief | "I just finished a user interview. Run my Interview Debrief Skill" |
| Decision memo | "Help me think through this decision using my knowledge base" |
| Competitive analysis | "Run a competitive analysis on [company/space] using everything I've captured" |
Terminal UI (TUI)
A full four-panel terminal interface — chat, notes, skills, and memory in one view.
pip install 'deepvista-cli[ui]'
deepvista ui
| Panel | Key | Description |
|---|---|---|
| Chat | 1 |
Talk to the DeepVista AI agent. Stream responses in real time. |
| Notes | 2 |
Browse and search your notes. Click to read full content. |
| Skills | 3 |
List all Skills. Select one to view details and run it live. |
| Memory | 4 |
Read-only view of implicit context from Chat sessions. |
| Key | Action |
|---|---|
1–4 |
Switch panels |
r |
Refresh |
q |
Quit |
Commands
deepvista card # Knowledge cards (all types)
deepvista skill # Executable workflows
deepvista vistabase # Implicit context from Chat (read-only)
deepvista chat # Conversational AI agent
deepvista notes # Quick note management (shorthand)
card — Knowledge cards
deepvista card list [--type TYPE] [--status pinned|archived|normal] [--limit N]
deepvista card get <card_id>
deepvista card create --type TYPE --title "Title" [--content "..."] [--tags '["t1"]']
deepvista card update <card_id> [--title "..."] [--content "..."]
deepvista card delete <card_id>
deepvista card +search "query text" [--type TYPE] [--limit 10]
deepvista card +similar <card_id>
deepvista card +pin <card_id>
deepvista card +archive <card_id>
Card types: person · organization · message · todo · topic · keypoint · file · note · skill · skill_run
skill — Executable workflows
deepvista skill list [--limit N]
deepvista skill get <skill_id>
deepvista skill run <skill_id> [--input "context"] # streams NDJSON
deepvista skill status <run_chat_id>
vistabase — Implicit context
Automatically accumulated from Chat. Read-only — updates happen through conversation.
deepvista vistabase show [--limit N]
deepvista vistabase search "query text" [--limit N]
deepvista memoryis a deprecated alias that works identically.
chat — AI agent
deepvista chat sessions [--limit N] [--offset N] [--search "query"]
deepvista chat get <chat_id>
deepvista chat delete <chat_id>
deepvista chat +send "your message" [--chat-id ID] [--new] # streams NDJSON
notes — Quick note management
Convenience alias for card commands filtered to type=note.
deepvista notes list [--limit N]
deepvista notes get <note_id>
deepvista notes create --title "Title" [--content "..."]
deepvista notes update <note_id> [--title "..."] [--content "..."]
deepvista notes delete <note_id>
deepvista notes +quick "Quick note from a single line of text"
Install Options
From PyPI
pip install deepvista-cli
pipx install deepvista-cli
uv tool install deepvista-cli
With TUI support
pip install 'deepvista-cli[ui]'
uv tool install 'deepvista-cli[ui]'
From GitHub
pip install git+https://github.com/DeepVista-AI/deepvista-cli.git
uv tool install git+https://github.com/DeepVista-AI/deepvista-cli.git
As a Claude Code plugin
The plugin is additive on top of the CLI — it wires the DeepVista skill catalog
into Claude Code on every SessionStart. Install in this order:
# 1. Install the CLI (required — the plugin calls it)
uv tool install deepvista-cli # or: pip install deepvista-cli
deepvista auth login
# 2. Then, inside Claude Code:
# /plugin marketplace add DeepVista-AI/deepvista-cli
# /plugin install deepvista@deepvista-ai
Without the CLI on PATH, the plugin's SessionStart hook exits silently —
you'll see no errors but no skills either.
For development
uv sync
uv pip install -e '.[ui]'
uv run deepvista --help
Uninstall
curl -sSL https://raw.githubusercontent.com/DeepVista-AI/deepvista-cli/main/uninstall.sh | bash
Removes the CLI, all skills from agent directories, and auto-capture blocks from config files.
Authentication
deepvista auth login # opens browser (default)
deepvista auth login --code XXXX-XXXX # headless / non-interactive
deepvista auth status # check current auth
deepvista auth logout # clear tokens
For headless environments, visit the web app at /cli, sign in, and paste the code.
Profiles
deepvista config set local --api-url http://localhost:8080
deepvista config set staging --api-url https://api-staging.deepvista.ai
deepvista --profile local card list
deepvista config list
Resolution order (first wins): CLI flags → named profile → built-in default
Global Flags
| Flag | Default | Description |
|---|---|---|
--format json|table |
json |
Output format |
--verbose |
off | Show HTTP request/response details |
--dry-run |
off | Show what would be sent, don't execute |
--api-url URL |
https://api.deepvista.ai |
Override backend URL |
--profile NAME |
default |
Use a named config profile |
--version |
Show version and exit |
Global flags must come before the resource name:
deepvista --profile local card list
Reference
Output Format
- JSON (default): structured JSON to stdout — agents parse this
- Table:
--format tablefor human-readable output - Errors:
{"error": {"code": N, "message": "...", "detail": "..."}}on stderr - Streaming: NDJSON for
chat +sendandskill run(one JSON object per line)
Exit Codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | API error |
| 2 | Auth error (not logged in / token expired) |
| 3 | Validation error (bad arguments) |
| 4 | Network error |
| 5 | Internal error |
Environment Variables
| Variable | Description |
|---|---|
DEEPVISTA_CONFIG_DIR |
Config directory (default: ~/.config/deepvista) |
Project Structure
deepvista-cli/
├── deepvista_cli/
│ ├── main.py # CLI entry point
│ ├── config.py # Config + profiles
│ ├── auth/ # Login, token storage, callback server
│ ├── client/ # HTTP client, SSE streaming
│ ├── commands/ # card, skill, memory, chat, notes, auth, config
│ ├── tui/ # Terminal UI (requires [ui] extra)
│ └── output/ # JSON + table formatters
└── skills/ # SKILL.md files for agent integration
🤝 Contributing
We welcome contributions! Whether it's bug reports, feature requests, documentation updates, or code — open an issue or submit a PR.
👥 Community
- 🌟 Star us on GitHub — helps us grow
- 🐛 Report issues
- 📦 PyPI package
- 🌐 DeepVista Web App
Support Us
If you find DeepVista CLI useful, please ⭐ star this repo — it helps more people discover it!
License
DeepVista CLI is open source. See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file deepvista_cli-0.1.10.tar.gz.
File metadata
- Download URL: deepvista_cli-0.1.10.tar.gz
- Upload date:
- Size: 209.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37fa0bcdeb988f5f74921ea93d07bfc4e773edbdcc0249c63bb2f031c1ccd1f0
|
|
| MD5 |
8ff782b3838f18277ffc7cd82aaa2c29
|
|
| BLAKE2b-256 |
3bd393267d326d814d98a6ac5c8a6438583d4e7c472fef8d3df1439503adb236
|
Provenance
The following attestation bundles were made for deepvista_cli-0.1.10.tar.gz:
Publisher:
publish.yml on DeepVista-AI/deepvista-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
deepvista_cli-0.1.10.tar.gz -
Subject digest:
37fa0bcdeb988f5f74921ea93d07bfc4e773edbdcc0249c63bb2f031c1ccd1f0 - Sigstore transparency entry: 1522723956
- Sigstore integration time:
-
Permalink:
DeepVista-AI/deepvista-cli@c5919b7941edd9907e10f35877fd55aa86435d73 -
Branch / Tag:
refs/tags/v0.1.10 - Owner: https://github.com/DeepVista-AI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c5919b7941edd9907e10f35877fd55aa86435d73 -
Trigger Event:
push
-
Statement type:
File details
Details for the file deepvista_cli-0.1.10-py3-none-any.whl.
File metadata
- Download URL: deepvista_cli-0.1.10-py3-none-any.whl
- Upload date:
- Size: 89.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db6d549cbc4575cd82e8ca71593da8c4b20e98ac858d69d7fbf187c5197be1cb
|
|
| MD5 |
f9bc1890b6c53011e008db5d2ba53e11
|
|
| BLAKE2b-256 |
d1e32f50fad178c5a13600d7f0ea8ff39bfbe83abd85bd4ef7df41dcc1a14cc4
|
Provenance
The following attestation bundles were made for deepvista_cli-0.1.10-py3-none-any.whl:
Publisher:
publish.yml on DeepVista-AI/deepvista-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
deepvista_cli-0.1.10-py3-none-any.whl -
Subject digest:
db6d549cbc4575cd82e8ca71593da8c4b20e98ac858d69d7fbf187c5197be1cb - Sigstore transparency entry: 1522724020
- Sigstore integration time:
-
Permalink:
DeepVista-AI/deepvista-cli@c5919b7941edd9907e10f35877fd55aa86435d73 -
Branch / Tag:
refs/tags/v0.1.10 - Owner: https://github.com/DeepVista-AI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c5919b7941edd9907e10f35877fd55aa86435d73 -
Trigger Event:
push
-
Statement type: