Skip to main content

A tiny bot built for simplicity

Project description

Pico Bot

A lightweight terminal-based AI assistant for simple, interactive chat.

Features

  • Terminal chat interface
  • OpenAI integration via LangChain
  • Conversation memory
  • Safe local file access
  • Directory tree support in list_dir
  • config.toml support for list_dir defaults
  • Git-like ignore patterns to reduce token usage and improve privacy

Screenshot

Screenshot

Installation

Requirements

  • Python 3.12 (tested)
  • An OpenAI API key

For Users

Install Pico Bot from PyPI:

pip install picobot

For Development

Clone the repository and install in editable mode:

git clone git@github.com:ngpeijiun/picobot.git
cd picobot
python -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -e .

Configuration

Set your OpenAI API key in your environment:

export OPENAI_API_KEY="your_api_key"

On Windows PowerShell:

$env:OPENAI_API_KEY="your_api_key"

config.toml

You can place a config.toml file in your Pico Bot user config directory. Pico Bot reads it from:

~/.config/picobot/config.toml

Pico Bot uses this file to configure list_dir defaults.

Example:

[tree]
ignore = [".git", ".venv", "__pycache__", "dist"]
max_depth = 4
max_entries = 500

Usage

picobot

Type exit or quit to leave the session.

Safety

The read_file and list_dir tools only allow access to files inside the project root directory. This helps prevent path traversal outside the repository.

The list_dir tool supports ignore patterns to reduce noise, token usage, and accidental exposure of unneeded files. This is intended for convenience only; it is not a security boundary and should not be relied on to protect secrets.

Roadmap

  • Add more tools
  • Add tests
  • Improve configuration and error handling

License

MIT

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

picobot-0.2.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

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

picobot-0.2-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file picobot-0.2.tar.gz.

File metadata

  • Download URL: picobot-0.2.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for picobot-0.2.tar.gz
Algorithm Hash digest
SHA256 c767641e38f6ee73edd0998a42ace77f1adc37c4516a094641e994f163f2b1d8
MD5 9115e18c8235b6fd8f69eb9897b81f91
BLAKE2b-256 489e9fc251cca369528893d06d0cc837cf6f40e68a0a570506b8d2304ce6f3e2

See more details on using hashes here.

File details

Details for the file picobot-0.2-py3-none-any.whl.

File metadata

  • Download URL: picobot-0.2-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for picobot-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f6ec504c82ff099eaf6ad514b8502d70aa3dca0d478a9cb96c9047eaee74f9b6
MD5 02a48ca7ef94ef698dc0f4caa251d640
BLAKE2b-256 7bbc8c991614f8b25d55c73f4a7810304cbe34ba6ba9d48edcf21db1c6bb8f9d

See more details on using hashes here.

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