Show HN: I built a better UI for ChatGPT
typingmind.com
typingmind.com
It's a static web app, you can host it yourself, data is stored locally on your browser, API requests are made directly to OpenAI API without any middle server.
It has some more convenient features that make your that experience way better. Like search chat history, prompt library, integrations, etc.
Would love to hear all the feedback!
Can already see the whisper model makings its way through the product :)
It's basically doing the same thing. I found that using API keys is also significantly cheaper than using the subscription with moderate usage.
Congrats on the release.
Do you then reference those open source apps?
https://gist.github.com/cohan/7d2abfa56b2dfdaae98bf70e84c622...
All of these UIs when there's a perfectly good command line right there! The CLI is always the best way for text.
> ai what is that song with moms spaghetti
"Lose Yourself" by Eminem
Sorted.
different flavours: 'fix' acts as `thefuck` replacement in 30 lines of python
Something like
> ai give me an index match formula to link between sheets New and Current
Then I'll tweak the output as needed to match reality. Context would probably get in the way more than it helps in this use case.
Don't expect perfection from an AI assistant, just expect it to be a little faster than tabbing to a browser or figuring it out yourself.
In Stellaris terms: https://img.imgy.org/D76l.png
If anyone fancies a tinker I imagine future editions of a CLI AI having a --context to include former prompts*, --stfu|--concise to make it respond concisely (as I was originally just responding "I know mate, haha" I also need this flag adding), probably a --model= to override that bit too, maybe even a --preamble=./prompt.txt
... it definitely needs a --json flag to prompt and enforce "I only want json and I'll parse it out of the response myself if I need to"
* Not just keeping a buffer and re-sending it, I believe context asks GPT to summarise the conversation so far and then uses the output of that for context memory. It'd need some tinkering.
I'll get round to it myself eventually, for now being able to ask little things like "is it defence or defense" and "what company owns the coco pops brand" is doing me just fine
I did realise I can now potentially pipe things into and out of GPT too, but have yet to come up with a use other than outputting through TTS e.g.
> ./ai is it defence or defense | festival --tts
I’d assumed ChatGPT’s slow-typing was actually the model’s real-time output, streamed to the browser token-by-token. When I’ve made GPT3 API calls it’s worked like this, with streaming switched off I might need to wait ~20 seconds for a long response back.
I just tried your UI, and it’s so much faster! Was my assumption about real-time output wrong?
Great project, looking forward to using it more :)
Note for anybody else wondering, it's not open source, you have to download a binary. More FAQ by clicking the Gift (?) icon at the top and scrolling down.
Sarcasm?
Nothing dang can do though is hundreds of people hate it though. Things with actual security issues for example he'll likely just be quiet about it.
Theoretically, you should be able to block any outgoing connections to the website domain (after it loads all necessary HTML and JS), and it should still work fine. Saying "theoretically" because it might attempt delay-loading some static assets, but you get the idea. No idea how this specific website functions, as I haven't looked deep into it yet, but that's the principle behind "static websites" like this one.
I can view web requests but let's say on the 365th web request it sends my API key to an unknown location. How would I know if this was closed source?
Your example is valid, but it's like asking "how can I know that my iPhone doesn't record me while I'm sleeping?"
Edit: However, as typingmind is earning more than $1000, it should have more features and better maintenance.
Also would be great to see which messages are included in the computation, since chat gpt limits total characters per request to 4K? so inevitably some past messages will be rendered useless.
Overall well done!
As per your question, currently all the previous messages of the same chat will be included in the request. If you hit the 4k token limit, there will be an error message. I'll look into improving this too.
https://github.com/kierangilliam/chatwithme.chat
Available at: https://www.chatwithme.chat/
One possible improvement: I had accidentally mistyped my API key and it popped up an HTTP 500 error instead of going "That doesn't seem to be a valid API key, could you make sure you pasted it in correctly" or something...
https://www.reddit.com/r/OpenAI/comments/11ef8ea/superpower_...
That would be great, something like a button\action with a promt that would load and split if needed large amounts of text and promt it in conversation. (maybe add format some parsing, like markdown or plain text)
If this UI can capture my query in the case of such a crash and keep retrying till I get the answer, and then notify me (browser, email, etc) - that would be great.
One feature I would love is passing a prompt (or even a conversation) using queryparams. It would help for the integration with other tools.
Another feature I'd love is to exploit the 'system' agent. From the documentation, there are three possible agents : User, Assistant and System. My understanding is that system can be exploited to drive the expected general behavior of the assistant and seems very useful to that regard.
Last thing, if it was open-source I could clone it and that would dismiss any fears from having my API key stolen. But that's up to you of course.
[1] https://twitter.com/adamdangelo/status/1631714221171023873
Add serpapi on top of that, and you might just become my phone’s most used app.