keybase / keybase/client

Terminal client for keybase chat

Open
#22,141 2 comments 7 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
9.2k
Forks
1.3k
Avg merge
12h 58m
Merged PRs (30d)
56

Description

If you are on desktop, your options for using Keybase for interactive chat are either to run the Electron desktop app, or to run a sequence of `keybase chat send` and `keybase chat read` commands. The former isn't great from a security perspective (Electron apps are a notorious security problem due to the bundled browser and libraries), and _personally_ I don't like having more applications open than I need to. So, I have opted to (for now: #22140) use the command-line interface itself, paired with a [little demon](https://github.com/jonhoo/keybase-chat-notifier) that notifies me when I have new messages.

This works, but is _very_ cumbersome. If I get a message, I run `keybase chat read ` (which I think is also not tab-completeable?), get a list of messages, type `keybase chat send `, type my response in something is almost, but not quite, a `readline` environment, and then send. If they reply, I then repeat the process again and again.

It would be very handy if there was a (simple) TUI for having interactive chat sessions. Something straightforward like an ncurses interface for a _single_ conversation would help enormously. All it would need is to show new messages as they arrive, and allow me to type messages to respond. I _think_ this is all buildable through `keybase api`, but before I sit down and try to hammer something together myself, I figured I'd open an issue here in case this is something you've already thought about.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the existing `keybase chat send` and `keybase chat read` commands and the `keybase api` entry point. Done means a terminal interface for one conversation that displays new messages as they arrive and lets the user type and send replies.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.