Skip to content

Latest commit

 

History

History
181 lines (129 loc) · 7.1 KB

File metadata and controls

181 lines (129 loc) · 7.1 KB

Professional Terminal Start Page

A sleek, fast, and feature-rich browser start page driven by an interactive terminal. Boost your productivity with semantic AI routing, direct Gemini integration, and a suite of built-in utility tools—all wrapped in a premium, modern aesthetic.

→ Try it live: caffienerd.github.io/startpage

Inspired by ahmetdem/start-page


Demo

demo.mp4

Themes

themes.mp4

Features

  • Interactive Terminal: Command-driven interface with autocomplete (Tab), syntax highlighting per command type, and command history (Up/Down).
  • Semantic AI Router: Use the ai: prefix to navigate based on intent. Intelligently routes you to YouTube, Maps, Reddit, or search.
  • Gemini Integration: Direct AI prompting via gem: or gemini:. View responses in a clean, non-intrusive modal.
  • Rich Aesthetics: Premium design with support for Light, Dark, AMOLED (Black), Nord, Newspaper, Coffee, Root (Hacker), and Neon (Cyberpunk) themes.
  • Syntax Highlighting: Color-coded input for commands, themes, search prefixes, URLs, and more — fully customizable via :customize.
  • Live Dashboard: Instant access to local time and real-time weather updates.
  • Utility Suite:
    • IP Info: Detailed network information via :ipconfig.
    • Speed Test: Integrated network performance testing via :netspeed.
    • Spell Check: Smart spelling suggestions via spell:.
  • Bookmark Management: Fully customizable bookmark categories via visual grid editor or raw JSON.
  • Default Search Engine: Choose between Google, DuckDuckGo, or Bing for plain-text searches.

Getting Started

Prerequisites

You need a way to serve the static files locally. While you can open index.html directly, some features (like API requests) work better when served.

Option 1: Python (Quickest)

python -m http.server 6174

Option 2: Caddy

Copy Caddyfile.example to Caddyfile, set your directory path inside it, then:

caddy run --config Caddyfile

Other options

Any static file server works — npx serve, nginx, etc.

Visit http://localhost:6174 in your browser.


Configuration

Run :config in the terminal to open the settings modal.

  1. Identity: Customize your terminal username.
  2. Weather: Set your location (e.g., New York, London, Jerusalem, Delhi).
  3. Gemini AI:
    • API Key: Get one from Google AI Studio.
    • Model: Default is gemini-2.5-flash-lite.
    • System Prompt: Optional personality for your AI assistant.
  4. AI Mode: Toggle between explicit (ai:) and automatic intent routing.
  5. AI Route Badge: Control when the route preview badge is shown.
  6. Default Search Engine: Set Google, DuckDuckGo, or Bing as your fallback search.

Run :customize to open the customization modal.

  1. Theme: Switch between all 8 themes with a single click.
  2. Syntax Colors: Independently customize the highlight color for each input type (commands, themes, search prefixes, URLs, version, unknown). Colors persist across all themes.

Command Reference

Search Prefixes

Prefix Usage Destination
yt: yt: youtube search YouTube Search
r: r: something to find in reddit Reddit Search
maps: maps: location Google Maps
ddg: ddg: search with DuckDuckGo DuckDuckGo
ggl: ggl: search with Google Google (explicit)
bing: bing: search with bing Bing Search
amazon: amazon: mechanical keyboards Amazon Search
imdb: imdb: Breaking Bad IMDb Search
alt: alt: alternative of something AlternativeTo
def: def: deffination of something Dictionary (OneLook)
the: the: a phrase to get the thesaurus of Thesaurus (OneLook)
syn: syn: synonyms of something Synonyms (OneLook)
quote: quote: quotes containfing keywords Quotes (OneLook)
spell: spell: word / phrase to check Built-in Spell Checker
cws: cws: extention Chrome/Firefox Extension Store
gem: gem: talk to gemini Gemini Direct Prompt
ai: ai: directions to central park Semantic AI Router

System Commands

Command Description
:help Show all commands
:config Open settings
:customize / :custom Open customization (colors & theme)
:bookmarks / :bm Edit bookmarks
:ipconfig / :ip Show network info
:netspeed / :speed Run speed test
:aimode Toggle automatic AI routing
:version Show app version
:gemini Open Gemini website
:tags Override search URLs & add custom prefix shortcuts
:help_ai_router Guide for ai: routing

Theme Commands

Command Theme
:light Light mode
:dark Dark mode
:black / :amoled Full black / AMOLED
:nord Arctic Nord
:newspaper Classic Newspaper
:coffee Organic Coffee
:root / :hacker Hacker terminal
:neon / :cyberpunk Cyberpunk Neon

Keyboard Shortcuts

Shortcut Action
Tab or Accept autocomplete suggestion
Enter Execute command / navigate
Ctrl+Enter Open result in new background tab
Ctrl+Shift+Enter Open result in new focused tab
/ Navigate command history

Ctrl+Enter and Ctrl+Shift+Enter work for bookmarks, search prefixes, direct URLs, and plain-text searches.


Customization

Bookmarks

The start page features a 4-column layout. You can customize bookmarks in two ways:

  1. Visual Editor (Recommended): Run :bookmarks to use the grid-based editor. It maps directly to the 4-column layout, letting you organize links by column and row.
  2. JSON Mode: Toggle "Edit as JSON" in the bookmarks modal for bulk edits or sharing your setup.

Search Overrides & Custom Tags

Run :tags to override built-in search prefix URLs (e.g. point amazon: to amazon.in instead of amazon.com) or define entirely new prefixes. Custom tag prefixes get full syntax highlighting and autocomplete automatically.

Syntax Colors

Run :customize to independently set the highlight color for each input type. Colors are stored separately from themes — changing themes won't reset your colors.

Backup & Restore

Use the ↓ Export and ↑ Import buttons in :config to save all settings (bookmarks, colors, API keys, custom tags) to a JSON file and restore them anytime.


Privacy

All settings, including your Gemini API Key, are stored locally in your browser's localStorage. No data is sent to external servers except for necessary API calls to Google Gemini and Open-Meteo (weather).