Google Bard CLIA simple command line interface for interacting with Google Bard, written in Rust.
This CLI allows you to save chat history as a Markdown file at a specified absolute or relative path in realtime
and handles graceful exit with Ctrl+C.
You need to have Rust and Cargo installed on your system. If you don't have them, you can install them from the official Rust website.
Install from cargo. Add -f at the end to force update. (cargo install bard-rs -f)
cargo install bard-rs
or
git clone https://github.com/Alfex4936/Bard-rs
cd Bard-rs
cargo build --release
The executable binary file will be located in the target/release folder.
Before using the Google Bard CLI, you need to obtain your session cookie. To get the session cookie, follow these steps:
Ctrl + Shift + I).__Secure-1PSID and __Secure-1PSIDTS, and copy the values. (it includes "." usually for 1PSID)Now you can use the Google Bard CLI:
Supported options:
-s(__Secure-1PSID cookie),-t(__Secure-1PSIDTS cookie),-m(if present, it'll print other Bard's responses for your prompt),-p(if present with path, it'll save your chat history as markdown.),-e(if present with .env file location, it'll use that session cookie)
It'll save as your first prompt message. (eg: "Hey yo" -> bard_hey_yo.md)
bard-rs --psid <your_psid> --psidts <your_psidts> --path ./
Replace <your_psid> and <your_psidts> with the value you copied from the Developer Tools.
If you don't want to save the chat history as a Markdown file, skip --path:
bard-rs --psid <your_psid> --psidts <your_psidts>
If you don't want to pass that long session in terminal, use .env file (refer to .env_sample)
bard-rs -e .env -p ./
If you prefer not to specify a path, bard-rs will automatically search for the .env file in the following locations: the argument-provided path, the current working directory, and the directory of the bard-rs binary.
(-p is still required if you want to save the chat history as markdown file.)
bard-rs
above command is same as bard-rs -e .env
.env file must contain PSID and PSIDTS key. (they are both derived from __Secure-1PSID and __Secure-1PSIDTS)
![IMPORTANT] Need
__Secure-1PSIDand__Secure-1PSIDTS! using
echo PSID=... > .envmight cause encoding problem thatdotenvcannot read and end up causing no session key error.
SESSION_ID=~.
!reset to reset the conversation.!exit to exit the CLI.!show to see other Bard's answers for your last message.This project is licensed under the MIT License.
Credits: - acheong08 - Inspired by this Python version.
$ claude mcp add Bard-rs \
-- python -m otcore.mcp_server <graph>