Secure Personal AI Research Kit - Multi-provider LLM CLI/Web interface with MCP tool integration
Project description
Spark - Secure Personal AI Research Kit
Spark is a powerful, multi-provider LLM interface for conversational AI with integrated tool support. It supports AWS Bedrock, Anthropic Direct API, and Ollama local models through both CLI and Web interfaces.
Key Features
- Multi-Provider Support - AWS Bedrock, Anthropic Direct API, and Ollama local models
- Dual Interface - Rich CLI terminal UI and modern Web browser interface
- MCP Tool Integration - Connect external tools via Model Context Protocol
- Intelligent Context Management - Automatic conversation compaction with model-aware limits
- Security Features - Prompt inspection, tool permissions, and audit logging
- Multiple Database Backends - SQLite, MySQL, PostgreSQL, and Microsoft SQL Server
Quick Start
Installation
pip install dtSpark
First-Time Setup
Run the interactive setup wizard to configure Spark:
spark --setup
This guides you through:
- LLM provider selection and configuration
- Database setup
- Interface preferences
- Security settings
Running Spark
# Start with CLI interface
spark
# Or use the alternative command
dtSpark
Documentation
Comprehensive documentation is available in the docs folder:
- Installation Guide - Detailed installation instructions
- Configuration Reference - Complete config.yaml documentation
- Features Guide - Detailed feature documentation
- CLI Reference - Command-line options and chat commands
- Web Interface - Web UI guide
- MCP Integration - Tool integration documentation
- Security - Security features and best practices
Architecture Overview
graph LR
subgraph Interfaces
CLI[CLI]
WEB[Web]
end
subgraph Core
CM[Conversation<br/>Manager]
end
subgraph Providers
BEDROCK[AWS Bedrock]
ANTHROPIC[Anthropic]
OLLAMA[Ollama]
end
subgraph Tools
MCP[MCP Servers]
BUILTIN[Built-in Tools]
end
CLI --> CM
WEB --> CM
CM --> BEDROCK
CM --> ANTHROPIC
CM --> OLLAMA
CM --> MCP
CM --> BUILTIN
Requirements
- Python 3.10 or higher
- AWS credentials (for Bedrock)
- Anthropic API key (for direct API)
- Ollama server (for local models)
Licence
MIT Licence - see LICENSE for details.
Author
Matthew Westwood-Hill matthew@digital-thought.org
Support
- Documentation: docs/
- Issues: GitHub Issues
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 dtspark-1.0.9.tar.gz.
File metadata
- Download URL: dtspark-1.0.9.tar.gz
- Upload date:
- Size: 302.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25d5b00f48f74155494407da0f0e14123d7a5fe3ebd1df810478dbe7a5be311e
|
|
| MD5 |
54801ef279bba44adefc830e2e9a93c8
|
|
| BLAKE2b-256 |
8cf27d442e9b123f0f47d36a81a79b288642bf9d7e7fba8910be76ef633526ad
|
Provenance
The following attestation bundles were made for dtspark-1.0.9.tar.gz:
Publisher:
publish-to-pypi.yml on Digital-Thought/dtSpark
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dtspark-1.0.9.tar.gz -
Subject digest:
25d5b00f48f74155494407da0f0e14123d7a5fe3ebd1df810478dbe7a5be311e - Sigstore transparency entry: 854983891
- Sigstore integration time:
-
Permalink:
Digital-Thought/dtSpark@01830e92be109423832dd37c2774eb247bc5778f -
Branch / Tag:
refs/tags/1.0.9 - Owner: https://github.com/Digital-Thought
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@01830e92be109423832dd37c2774eb247bc5778f -
Trigger Event:
release
-
Statement type:
File details
Details for the file dtspark-1.0.9-py3-none-any.whl.
File metadata
- Download URL: dtspark-1.0.9-py3-none-any.whl
- Upload date:
- Size: 321.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0934efd25b6b31218c35c9ef0ce9ef78c3bd59a3bf9ff5d7ad4eb7df33d9a31b
|
|
| MD5 |
9f2981b5cdd900ca862c7f8264509079
|
|
| BLAKE2b-256 |
5029123260d72ddc2f893a5bdf2b13c1b4b0bda392eef62641f22a43b0155388
|
Provenance
The following attestation bundles were made for dtspark-1.0.9-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on Digital-Thought/dtSpark
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dtspark-1.0.9-py3-none-any.whl -
Subject digest:
0934efd25b6b31218c35c9ef0ce9ef78c3bd59a3bf9ff5d7ad4eb7df33d9a31b - Sigstore transparency entry: 854983896
- Sigstore integration time:
-
Permalink:
Digital-Thought/dtSpark@01830e92be109423832dd37c2774eb247bc5778f -
Branch / Tag:
refs/tags/1.0.9 - Owner: https://github.com/Digital-Thought
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@01830e92be109423832dd37c2774eb247bc5778f -
Trigger Event:
release
-
Statement type: