News for hackers. Stuff that matters.

notmedia

Show HN: AG2B – Run the agent loop in the browser, expose your tools via WebMCP

https://ag2b.ai/docs

Hello everyone,TL;DRLive demo: https://ag2b-example.vercel.appWorking on different projects, especially in B2B, I am getting the same request more and more often - "Add an AI feature, yesterday!" Most agent frameworks I found run the runtime on the server - and that pulls in a whole stack. Both backend and frontend have to learn how that runtime works and adopt its SDKs. The server turns into...

( Read More... | no comments | 2 points | on HN )
> the ability to have complete information about the request and the response

Can you describe what information you want to see?

> the ability to automate (run the requests without a GUI)

Yeah, this is my goal - I want to add tests support to ezy with ability to run them on CI/CD

Wow! You have an interesting project! I will try it!
Hey! I think it's really depends on your needs and expectations from protocol you choose.

gRPC is not a silver bullet, but it offers you structure via protobuf messages and automatically generated clients for most used languages. Not in all places in your architecture you need to use high-performance protocols. It's a trade-off and only you decide whats better in concrete section.

The problem which ezy solves - gRPC is popular, and yes, maybe we have faster protocols, but a lot of developers using it and this tool just help them to work with it.

> 2. Could you elaborate more about this?

Include directories is an option which defines paths for your imports in protobuf files. In large projects it's commonly use case when you have directory of protobuf types that used in another files with service definitions for example.

> Our gRPC is not final yet, but improvements are coming!

You do the great project, I tested HTTP features and they looks good! I'm sure that you will improve gRPC experience soon. Thank you for your comment, I will subscribe for your updates!

I like that a lot of projects enters gRPC world - this promotes gRPC and making it easy to use.

Thank you! If you have any feedback feel free to share!
Interesting tool, never seen this before!

Tested it with common gRPC cases. Just some things why it's not good for gRPC:

  1. It doesn't support streams. 

  2. It doesn't support "include directories" option. 

  3. It doesn't support Server-Side/Mutual TLS with custom  
 certificates.

  4. When I entered URL like 0.0.0.0:4000 app freezes and won't work, so I can't send any request. 

  5. I think it support only gRPC-Web, because my URL 0.0.0.0:4000 converts to http://0.0.0.0:4000. If yes, it only covers gRPC-Web that is not fit all user needs.
Hey! Buy the way I have plans to support different protocols later such as HTTP, GraphQL, etc. :)
> No, I had a proto file which imported another proto file, which could not be found, because I had not added its path to the import path list. Seems like it would be a common enough issue.

Ah, this make sense. I agree that this could be a common issue while importing a protobuf. I will fix this in next release :)

> Something like Grip, maybe: https://gripgrpc.dev/. Got it, we have a related discussion here -https://github.com/getezy/ezy/discussions/29 I will think how to show it, thank you!

> Appears to be related to the number of tabs. If I have only one tab open, it's not particularly laggy.

The main problem here is persistance (saving all data on the disk), and this make performance problems. I have plans to rewrite this section to improve it.

> Click on an endpoint. It always opens a new tab.

I think I need to create a poll :) Some users saying that they want to open new tab by one click, others wants double click.

And here I really don't know whats the better way of UX should be.

Hi! Thank you for testing!

> It doesn't remember your "environment". So if I call endpoint A and then click on endpoint B to try that, it forgets which environment is being targeted. Similarly, metadata is also specific to the request. If you use metadata for providing authorization headers, that means you have to enter the metadata separately every time you make a different request; there's no way to share metadata as an "environment".

Yeah, I have this in plans for taking environment and Metadata from previous tab - https://github.com/getezy/ezy/issues/30

> If you create a collection and click "Create", and it errors saying an imported proto resource wasn't found, the entire collection disappears.

Ha, interesting case, you selected the file and then just delete it before clicking create :) I will think how to handle this.

> The app uses the proto schema to show a list of endpoints, but it doesn't know anything about the message and response schemas, and you can't browse the types? It seems tedious to have to manually enter the request as a JSON payload.

This is the great point, was already mentioned earlier, I have plans to add auto-mocking feature for request payloads and autocompletion in code editor this will fix this issue. Also I will think for option to show raw Protobuf definitions

> Similarly, response is shown in JSON, rather than Proto data. So I can't see what the returned types actually are.

Maybe you have an idea on how we can represent decoded message (which an object) and map it to Protobuf Message definition?

> The "Request" and "Metadata" editors are super laggy to the point of being unusable. It takes several seconds for what I type to appear in the editor, and my computer's CPU usage goes to 150% while it's sitting there doing nothing. Is there some kind of autocompletion that's supposed to kick in that's going into overdrive?

Interesting, this is the first feedback about app performance. Can you open an issue and put more details there? I need to know app version, your OS, how much tabs opened and how much are you typing. Will be helpfull, but I try to reproduce it anyway.

> Clicking on an endpoint adds another tab. Click around and you end up with dozens of tabs. Seems a bit pointless.

Sorry, I can't reproduce this bug. You said clicking around, where exactly I need to click?

> No support for setting HTTP headers or seeing the returned headers.

You can set it in your Metadata and this should work as expected.

Hi! Thank you, I'm happy to hear that you found ezy helpful for your needs!
Hi! Great, feel free to return back with any feedback!

> Does the TLS/mTLS settings allow you to override the host name of the server, so that I can connect to localhost even though the cert CN is example.com?

Yes, in TLS settings you can override SSL target name for this cases.

> Is it able to import protobuf files to define endpoints automatically, and to fill in generated data for the types?

When you importing the protobuf files ezy parse them and generate to you collection of all existing services and methods. I have plans to add auto-mocking feature, which will generate prefilled values for the request payload, stay tuned!

Show HN: Ezy – open-source gRPC client, alternative to Postman and Insomnia

https://github.com/getezy/ezy/releases/tag/v1.0.0-beta.13.2

In this release I have concentrated on user experience:- Full support of shortcuts - Reworked collections management - Notifications - Improved UXgRPC clients I’ve worked with had drawbacks and didn’t fit my use-case in a way I was expecting, since I’ve started working with gRPC 3+ years ago.Since then, I wanted a tool that fits any need in gRPC world. This is why I created ezy.Compared to...

( Read More... | 28 comments | 155 points | on HN )
Re:Show HN: Fully-featured desktop gRPC/gRPC-Web client on Tuesday November 08, 2022 @11:11AM (#33520558)
Hi! There are tools which already supports gRPC or they are specific-gRPC tools. I'm working with gRPC every day for 3+ years and unfortunately each of them are not suitable for most of cases. Some of them are unsupported at this moment (I mean the standard of gRPC tooling - BloomRPC), some of them have a lot of bugs or have problems with specific cases, or they have really bad UI.

If we talk about Insomnia:

  1. You can’t open the stream and wait for client or server interaction. For example you can’t in bidirectional streaming send three messages from client, then wait for server response and send next one message.

  2. You can’t stop streams, only cancel or wait when they will be ended by the server. When you cancel your stream - it's means error from client-side.

  3. You can’t setup custom TLS certificates

  4. You can’t work with Server-Side and Mutual TLS

  5. You can't override SSL target name which sometimes helps to test requests

  6. You can’t work with gRPC-Web

  7. From my vision Insomnia doesn't have good UI/UX (only my vision, I'm not pretending to the truth)
By the way, gRPC is only starting point for ezy. Ofcourse firstly I will implement all features in this area, then I will bring in ezy my vision on how to work in product teams in next-gen way.
Re:Show HN: Fully-featured desktop gRPC/gRPC-Web client on Tuesday November 08, 2022 @03:58AM (#33517289)
Hey! Server reflection is in project backlog :) I'm working on it
Re:Show HN: Fully-featured desktop gRPC/gRPC-Web client on Tuesday November 08, 2022 @03:58AM (#33517286)
You made a great point! I will think about implementing ezy flow)

But right now I will try to explain and help:

Let's say you have src of protos with subfolders which you call subsystem If I understand correctly, subsystem - isolated system (like a service) with own API. If so, then in ezy you should create collection for every subsystem module where you may have root proto file. The second step is include directories - this directories are paths to your directories where gogos's proto files lives.

I hope this helps! If you have any troubles and instered in setup you can open an issue in project repository.

I love critic because without talks we can't understand what the community wants. Thank you for this it really helps!

Re:Show HN: Fully-featured desktop gRPC/gRPC-Web client on Tuesday November 08, 2022 @03:41AM (#33517193)
Thank you for your feedback! I added some links to project readme that can explain what gRPC is.
Re:Awesome desktop gRPC Client on Tuesday August 16, 2022 @06:41AM (#32481207)
Hi! I just released new desktop gRPC client called ezy.

Why another one? I'm working with gRPC every day and for my opinion all existed GUI clients do not well designed or do not have fully gRPC features support. And some of them like BloomRPC unfortunately are unmaintained.

Features:

Localy persisted collections. Multi-tabs. Environments. Unary calls. Client/Server/Bidirectional streaming. Metadata support. TLS (Server-side/Mutual) support. Good errors output.

Coming soon: grpc-web, server reflection

If you are interested in this project, please share your feedback/ideas here or in GitHub discussions