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 topatterns
๐ 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.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests and documentation
- 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
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 goldfish_cli-0.1.4.tar.gz.
File metadata
- Download URL: goldfish_cli-0.1.4.tar.gz
- Upload date:
- Size: 37.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2889aaed49d1a325c4e9885bc3553b7183601a20dfccd203bf6c5502bcb2612
|
|
| MD5 |
263af2a44ad361f52870a7b6708f1a79
|
|
| BLAKE2b-256 |
444a62c6d5aba4d84d2eff7115b2f76881a1ce21455acae726bba35126e8bd5c
|
Provenance
The following attestation bundles were made for goldfish_cli-0.1.4.tar.gz:
Publisher:
publish-goldfish-cli.yml on linxichen/goldfish
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
goldfish_cli-0.1.4.tar.gz -
Subject digest:
f2889aaed49d1a325c4e9885bc3553b7183601a20dfccd203bf6c5502bcb2612 - Sigstore transparency entry: 269634730
- Sigstore integration time:
-
Permalink:
linxichen/goldfish@74d0bd140390f78fdc969547cb833f7ad8127d79 -
Branch / Tag:
refs/tags/goldfish-cli-v0.1.4 - Owner: https://github.com/linxichen
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-goldfish-cli.yml@74d0bd140390f78fdc969547cb833f7ad8127d79 -
Trigger Event:
push
-
Statement type:
File details
Details for the file goldfish_cli-0.1.4-py3-none-any.whl.
File metadata
- Download URL: goldfish_cli-0.1.4-py3-none-any.whl
- Upload date:
- Size: 24.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fb954b180aba381f5c460142d98654ab205e8d13b9ef17f4bae01fd9e9c16f9
|
|
| MD5 |
4332a3d588437a968218663a8526421f
|
|
| BLAKE2b-256 |
17bdb0b6e54823b806bfd19cf53bb12b298067aa047523fff9ec6df0c789a0f4
|
Provenance
The following attestation bundles were made for goldfish_cli-0.1.4-py3-none-any.whl:
Publisher:
publish-goldfish-cli.yml on linxichen/goldfish
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
goldfish_cli-0.1.4-py3-none-any.whl -
Subject digest:
6fb954b180aba381f5c460142d98654ab205e8d13b9ef17f4bae01fd9e9c16f9 - Sigstore transparency entry: 269634746
- Sigstore integration time:
-
Permalink:
linxichen/goldfish@74d0bd140390f78fdc969547cb833f7ad8127d79 -
Branch / Tag:
refs/tags/goldfish-cli-v0.1.4 - Owner: https://github.com/linxichen
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-goldfish-cli.yml@74d0bd140390f78fdc969547cb833f7ad8127d79 -
Trigger Event:
push
-
Statement type: