-
Notifications
You must be signed in to change notification settings - Fork 21
Agent Builder UI
An agent works like an algorithm divided into steps.
The steps are user programmable.
The agent starts from the first step and moves to the next one as soon as the previous step is completed.
Each step sends an event to Nostr.
Each event calls a node.
Nodes can be (extism plugin), or also prompts for the AI model. AI models can run on extism plugins or can be standalone nodes.
Nodes run on nostr and are always listening for a request (job).
The agent workflow is complete once all steps have been completed and final output is returned.
Detailed presentation of the nostr integration here.
A step (node) sends a job request. The job request returns an ID, which is intercepted by the next step which, before triggering, will wait in the order:
-
Feedback (status).
-
A result, which will be the input of the next step.
Users authenticate themselves with the service provider. The service provider reports events for all nodes and users connected to it and takes care of the communication between nodes.
We will need a marketplace for service providers and also a way to announce service providers, with their privacy policies etc...
An intermediate implementation that is easy to implement and incremental compared to phase 2, would be to interpret the individual Agents that can be created from the UI of phase 1 as "steps", modifying the creation page as follows.
This would allow individual agents, trained by separate knowledge sources, to operate in sequence and return an output optimized from the point of view of input entropy.
- Create Agent
-
Develop the UI.
-
Develop CRUDs for plugin registry (XTP)
-
Integration of UI with XTP
-
Integration with nostr system by Riccardo
-
Implementing Agent workflow (connecting the steps via ID through nostr events etc...)
-
Implementing Agents-in-Agents (Agent as a step/node)
scratchpad
Needed:
- Add plugin (block)
i think i want a sidebar of available building blocks, u can search through etc
k basic sidebar w plugins
simplest is, i click on a plugin, it adds it to my main window in order
no reordering
just remove from main it go byebye, put it in there it is
k now plugins good, need some thing for handling array to string . . . loop thru array of strings
Array String Loop
Data block . . parse block
Noting I need to distinguish between PLUGINS (Extism) and other types of agent nodes we'll call BLOCKS
Like parsing . . . or other logic loop stuff
What's missing?
- DONE: Run any individual plugin on the graph and see its output
- DONE: A button to click to run the whole flow
- DONE: Load the block flows
- Nicer UI for collecting prompt / show response
- Connect the arraystringloop
- A way to save lock flows