I'm a builder and reader based in New York doing my best to figure out what I care about in life. ๐ณ
...but hundreds of hours for everyone else.
I mean, that's not why I do it. It's just fun. But it's a great way to justify it :)
A delightfully minimal, yet remarkably powerful AI Shell Assistant.
License: GNU General Public License v3.0
I'm a builder and reader based in New York doing my best to figure out what I care about in life. ๐ณ
...but hundreds of hours for everyone else.
I mean, that's not why I do it. It's just fun. But it's a great way to justify it :)
A couple of us are stuck behind a reverse proxy to connect to openai.
It would be great to a config to make this adjustable.
It would be very helpful to pipe the contents of a file into shell-ai for operations.
Currently when a user enters more text than the width of the screen, it allows you to keep entering text but it is off-screen (so you can't see what it is).
Make it so a user entering text will overflow / wrap to the next line.
Hey @ibigio. Might be pretty useful if ShellAI takes in the previous command as context for the next response. I'd love to contribute so if this sounds good I can start writing the feature.
Quick example:
This:
$ docker tag myImage myAcr.azurecr.io/myImage
$ q push the above image
docker push <image_name>
Would turn into this:
$ docker tag myImage myAcr.azurecr.io/myImage
$ q push the above image
docker push myAcr.azurecr.io/myImage
Let me know what you think!
The install script only works sometimes, and is troublesome on managed machines with multiple users.
Update script to work consistently and intuitively on more Linux distros / setups, based on other existing install.sh examples.
On a narrow terminal window where rendered output wraps to the line below, sometimes output jumps around and creates "sticky" artifacts that end up in the terminal output.
Given that this only occurs on narrows terminal windows where lines wrap around I'm guessing this might be an issue how BubbleTea handles rapid updates to the rendered markdown output. Also going to try validating that there's no rogue tea.Print or actual prints messing things up.
Find root cause of jumpy output and fix, so it is stable and leaves no artifacts.
Noticed while traveling to Mexico that while using the tool from some networks the response to the first prompt consistently took > 15 seconds, even though subsequent followups were still returning in ~1-3 seconds. My hunch is that something is slowing down the initial http client setup / first request, and then reusing the http client for followups makes it quicker. Ideally this tool should work quickly from any network.
Investigate why first request is so slow, propose potential solutions, discuss and implement.
Some ideas:
Exporting OPENAI_MODEL_OVERRIDE="gpt-4" leads to the following error:
Error: Failed to connect to OpenAI.
API request failed: 404 Not Found
I set up a new computer today, and set my OPENAI_API_KEY
in my ~/.zprofile
and q does not work:
> q hello
Error: Failed to connect to OpenAI.
API request failed: 404 Not Found
I went back to my old computer (which was working great with shell-ai
) and did a brew upgrade shell-ai
, and now it does the same thing.
Currently to use GPT4 instead of 3.5 you have to set OPENAI_MODEL_OVERRIDE
to gpt-4
, but this feels clumsy especially when you just want shell-ai to be smarter for just a sec.
Add support for passing the -4
or -gpt4
flag to cause the model to use the gpt-4
model. (This is a quality of life improvement.)
Sometimes I'll make a request or followup and the spinner will go forever. Not sure if this a state-machine bug in cli.go
or a network issue.
Investigate why this happens, and if it's a real issue fix it.
I LOVE this tool and keep trying to tell people about it. But I forget the name. So I run
> q --help
A command line interface for natural language queries
Usage:
q [request] [flags]
Flags:
-h, --help help for q
Which doesn't tell me the name or the link to this project. So then I do ls -la $(which q)
and see that I got it from Homebrew and it's called shell-ai
. So then I google shell-ai
and I get a bunch of things that aren't this project (including similarly named projects and Shell the oil company).
I've done this a couple times now when trying to tell people about this.
Probably would be good to at least add a link to this GitHub in the --help
!
I noticed with the prompt print first 20 prime numbers
(on version v0.3.0
) that the streaming response looks ok, but when it gets tea.Printf
ed it suddenyl has a (MISSING)
in the text that didn't used to be there. Weird. Might have to do with the rendering in tea.Printf
the final response vs the stream string returned in View()
...
Investigate and fix it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.