Skip to content

Proposal: Official Venice CLI #135

@jonisjongithub

Description

@jonisjongithub

Summary

I've built a comprehensive, production-ready CLI for Venice AI and would like to propose it for official adoption.

Reference Implementation: https://github.com/jonisjongithub/venice-cli

Why an Official CLI?

  1. Developer Adoption — CLIs are the native interface for developers. Lowers barrier to integration
  2. Privacy Differentiator — "No browser, no tracking" reinforces Venice's privacy-first values
  3. Competitive Parity — OpenAI and Anthropic have robust CLIs; this is table stakes
  4. Workflow Integration — Enables piping, scripting, CI/CD integration

Features Implemented

Core Commands

  • venice chat — Chat with streaming, models, system prompts
  • venice search — Web search with AI synthesis
  • venice image — Generate images with save-to-file
  • venice upscale — Image upscaling
  • venice tts — Text-to-speech with multiple voices
  • venice transcribe — Speech-to-text
  • venice embeddings — Vector embeddings
  • venice models — List/filter models

Advanced Features

  • ✅ Config file support (~/.venice/config.json)
  • ✅ Streaming with spinners and TTY detection
  • ✅ Function calling with 6 built-in tools
  • ✅ Character personas (8 characters)
  • ✅ Conversation history with --continue
  • ✅ Output formats (pretty, json, markdown, raw)
  • ✅ Usage tracking with statistics
  • ✅ Shell completions (bash, zsh, fish)
  • ✅ Retry logic with offline detection

Technical Details

  • Language: TypeScript with strict mode
  • Runtime: Node.js 18+
  • Framework: Commander.js
  • Lines of Code: ~3,600 across 17 source files
  • License: MIT

Documentation Included

  • Comprehensive README.md
  • CONTRIBUTING.md with guidelines
  • PROPOSAL.md (detailed RFC)
  • Help text for all commands

Next Steps

Happy to:

  1. Transfer the repo to the veniceai org
  2. Submit as a PR to a new venice-cli repo
  3. Continue maintaining as a community project with official endorsement

Looking forward to your feedback!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions