Skip to main content

AI-First Personal Knowledge Management CLI

Project description

๐Ÿ  Goldfish CLI

AI-First Personal Knowledge Management from the Command Line

Goldfish CLI is an intelligent command-line tool that helps you capture, organize, and retrieve your thoughts with AI assistance. It uses advanced entity recognition to automatically extract people, projects, and topics from your notes, while providing human-in-the-loop verification to ensure accuracy.

โœจ Features

  • ๐Ÿค– AI-Powered Entity Recognition: Automatically extracts @mentions, #hashtags, and topics
  • ๐Ÿ”— Smart Entity Linking: Prevents duplicates by linking similar entities intelligently
  • ๐Ÿ’ฌ Interactive REPL Mode: Persistent session for seamless thought capture
  • ๐ŸŽฏ Human-in-the-Loop: Verify AI suggestions with create/link/reject/skip options
  • ๐Ÿ“Š Rich Terminal UI: Beautiful tables, panels, and color-coded confidence scores
  • โšก Quick Capture: Natural language processing for rapid note-taking
  • ๐Ÿ” Smart Search: Find entities with fuzzy matching and alias support

๐Ÿš€ Installation

From PyPI (Recommended)

pip install goldfish-cli

From Source

git clone https://github.com/linxichen/goldfish.git
cd goldfish/goldfish-cli
pip install -e .

๐ŸŽฎ Quick Start

Interactive Mode

# Start interactive session
goldfish

# Just type naturally
๐Ÿ  Meeting with @sarah about #project-alpha tomorrow

# AI processes and shows suggestions
๐Ÿค– Analyzing with AI...
๐Ÿ“Š Found 2 entities, 1 task

# Verify suggestions inline
๐Ÿ’พ Save this capture? (Y/n): y

Command Mode

# Quick capture
goldfish capture quick "TODO: Follow up with @john about #ai-research"

# Review AI suggestions
goldfish suggestions pending

# View dashboard
goldfish dashboard status

๐Ÿ“‹ Core Commands

Command Description
goldfish Start interactive REPL mode
goldfish capture quick <text> Quick capture with AI processing
goldfish suggestions pending View pending AI suggestions
goldfish suggestions verify-all Interactive verification workflow
goldfish dashboard status Show overview and statistics
goldfish dashboard entities List all entities
goldfish config setup Initial configuration

๐ŸŽฏ Entity Recognition

Goldfish automatically recognizes:

  • ๐Ÿ‘ฅ People: @sarah โ†’ Links to person entities
  • ๐Ÿ“ Projects: #project-alpha โ†’ Links to project entities
  • ๐Ÿง  Topics: Natural language detection of research topics
  • โœ… Tasks: TODO:, follow up, need to patterns

๐Ÿ”— Smart Entity Linking

When AI suggests entities, you have four options:

  • Create (c): Make new entity from suggestion
  • Link (l): Connect to existing entity (shows candidates with match scores)
  • Reject (r): Mark as incorrect (helps AI learn)
  • Skip (s): Leave for later review
๐Ÿ”— Found existing entities to link to:
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Option โ”‚ Name            โ”‚ Match   โ”‚ Details         โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ 1      โ”‚ Sarah Johnson   โ”‚ 85%     โ”‚ aliases: sarah  โ”‚
โ”‚ 2      โ”‚ Sarah Martinez  โ”‚ 70%     โ”‚ aliases: s.m    โ”‚
โ”‚ 0      โ”‚ Create new      โ”‚ 100%    โ”‚ New entity      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Select entity to link to (0-2) [0]: 1
๐Ÿ”— Linked to existing entity: Sarah Johnson

๐Ÿ—๏ธ Architecture

Goldfish CLI is built with:

  • Click: Command-line interface framework
  • Rich: Beautiful terminal formatting
  • SQLModel: Database ORM with SQLite storage
  • Prompt Toolkit: Interactive prompts with history
  • Pydantic: Configuration and data validation

๐Ÿ› ๏ธ Development

Setup Development Environment

git clone https://github.com/linxichen/goldfish.git
cd goldfish/goldfish-cli

# Install in development mode
pip install -e ".[dev]"

# Run tests
pytest

# Run linting
ruff check .
black --check .
mypy .

Project Structure

goldfish-cli/
โ”œโ”€โ”€ src/goldfish_cli/          # Main package
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ main.py               # CLI entry point
โ”‚   โ”œโ”€โ”€ commands/             # Command implementations
โ”‚   โ”œโ”€โ”€ core/                 # Core functionality
โ”‚   โ”œโ”€โ”€ models/               # Database models
โ”‚   โ””โ”€โ”€ services/             # Business logic
โ”œโ”€โ”€ tests/                    # Test suite
โ”œโ”€โ”€ docs/                     # Documentation
โ””โ”€โ”€ pyproject.toml           # Package configuration

๐Ÿ“– Documentation

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guide for details.

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests and documentation
  5. Submit a pull request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

Built with modern Python tools and inspired by the best CLI experiences:

  • Click for the CLI framework
  • Rich for beautiful terminal output
  • SQLModel for type-safe database operations

๐Ÿ  Homepage โ€ข ๐Ÿ“š Documentation โ€ข ๐Ÿ› Report Bug โ€ข ๐Ÿ’ก Request Feature

Made with โค๏ธ for knowledge workers everywhere

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gfcli-0.1.5.tar.gz (37.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gfcli-0.1.5-py3-none-any.whl (24.1 kB view details)

Uploaded Python 3

File details

Details for the file gfcli-0.1.5.tar.gz.

File metadata

  • Download URL: gfcli-0.1.5.tar.gz
  • Upload date:
  • Size: 37.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for gfcli-0.1.5.tar.gz
Algorithm Hash digest
SHA256 ff16fba11bc39b41b1538face3133a2dbe02647188a111767834b8e1fb95c3e9
MD5 7d7ab0aab3d32b25b277e4ece80baa4c
BLAKE2b-256 b89568439a59879ef5b184cb66f3469a9d17ca5463a1f9ac8a3cfe37e2ccae28

See more details on using hashes here.

Provenance

The following attestation bundles were made for gfcli-0.1.5.tar.gz:

Publisher: publish-goldfish-cli.yml on linxichen/goldfish

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gfcli-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: gfcli-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 24.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for gfcli-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d80e69e55641b172187fab637c8559a9eccbd8a41c5c5ccc462f35c76776f0c0
MD5 893ec5b829a563321a50ee3e187539e4
BLAKE2b-256 e1c016ad13bec1a93011f0e457d7442e5793042e677ff6976848ce3b3114d0a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for gfcli-0.1.5-py3-none-any.whl:

Publisher: publish-goldfish-cli.yml on linxichen/goldfish

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page