Transcription: OpenAgents Episode 048 - Brainstorming a Plugin System

June 9, 2026 ยท View on GitHub

Source: https://twitter.com/OpenAgentsInc/status/1745918872866173125 Wiki source: https://raw.githubusercontent.com/wiki/OpenAgentsInc/openagents/Video-Series.md Media title: OpenAgents - Episode 048: Brainstorming a Plugin System We discuss a plugin archit... Upload date: 20240112 Transcription model: mlx-whisper/mlx-community/whisper-tiny Generated at: 2026-06-01T20:17:57Z

Machine-generated transcript. Review speaker labels and wording before using this as quote-grade source material.

[00:00] Christopher David: So we're moving next toward building payments infrastructure because we want to have this have actual commerce and actual money flowing through it

[00:08] Christopher David: I want to see how much of that we can build in this

[00:13] Christopher David: plugins architecture right now. I'm having all the fun

[00:18] Christopher David: You know want to get other developers involved in building out kind of core infrastructure and see how much of this can be done

[00:27] Christopher David: through you know extensible plugins that other people

[00:32] Christopher David: Built so maybe someone wants to support some local currency other than dollars and wants to integrate some third party payment processor that I'm just not gonna do

[00:40] Christopher David: They should be able to plug that in

[00:42] Christopher David: Is that something that is feasible for us to do in the short term not just for payments, but for all of the different

[00:50] Christopher David: Components of

[00:51] Christopher David: Agent logic if you remember from our agent modules video

[00:54] Christopher David: We've got a lot of stuff to build here's the categories that we've identified make sense for this you know first principles agents

[01:01] Christopher David: Infrastructure that we've designed

[01:03] Christopher David: But there's a lot to do and I don't want anyone just waiting on me

[01:06] Christopher David: So how much of this kind of thing payments being one of the agent modules can we build as

[01:13] Christopher David: plugins

[01:14] Christopher David: Well, I stumbled across this project called ex-tism that looks

[01:18] Christopher David: Awesome for our purposes a cross language framework for building with web assembly

[01:23] Christopher David: They just hit

[01:27] Christopher David: one point out and so

[01:34] Christopher David: That's a go. Okay, ex-tism never heard of it

[01:38] Christopher David: Ex-tism supports running wasm code from 15 programming languages and makes it easy to compile wasm plugins from eight programming languages

[01:47] Christopher David: additional plugins blah blah blah

[01:49] Christopher David: Okay, so let's read about why

[01:52] Christopher David: this

[01:54] Christopher David: matters

[01:56] Christopher David: goal is to make all software

[01:58] Christopher David: Programble. Okay, why use a plugin system a plugin system is software that enables your users or customers to add some logic into certain points in your application

[02:08] Christopher David: You decide where this logic runs and your users decide what the plugin does

[02:12] Christopher David: Many engineering teams face an ever-growing list of feature requests often exceeding their bandwidth several times over

[02:18] Christopher David: How can you ever keep up making your product

[02:21] Christopher David: Extensible by its end users is a great way to move some of those features outside the core and

[02:26] Christopher David: Empower customers to make your software more useful for them

[02:30] Christopher David: Practically speaking you can't predict all the ways users will want to work with your software and for that reason alone a plugin system is an ideal feature to implement

[02:37] Christopher David: When using ex-tism your job is to determine where in your application some arbitrary codes you run

[02:43] Christopher David: What data that code should be provided and the data the plugin should return

[02:47] Christopher David: This is exactly perfect for us because we are not trying to just have one software thing that we offer

[02:52] Christopher David: We're trying to build and lead an ecosystem of truly open agents that anyone should be able to easily contribute to developers around the world should be

[03:02] Christopher David: Using hopefully one kind of shared language of agents building up one

[03:07] Christopher David: Open ecosystem of agents

[03:09] Christopher David: Okay, so

[03:11] Christopher David: We do want to try to get as much of these agent modules built as plugins as possible

[03:23] Christopher David: So

[03:24] Christopher David: Did some initial experimenting with this set of a few different projects built in experimental

[03:32] Christopher David: Plug-in to generate a bit 39 address

[03:36] Christopher David: Using rust

[03:39] Christopher David: Got some more things to learn there about

[03:41] Christopher David: Best ways of generating entropy cross platform

[03:46] Christopher David: But we have

[03:48] Christopher David: a

[03:49] Christopher David: Playground that I'll demonstrate in a second. This is a new towery app with a rust back end

[03:55] Christopher David: Reacts type script front end

[04:00] Christopher David: That will use to kind of experiment with different agent plugins

[04:05] Christopher David: and

[04:07] Christopher David: The first plugin is a

[04:10] Christopher David: Registry plugin. It'll be a registry of plugins

[04:13] Christopher David: Which will itself be a plugin and

[04:16] Christopher David: You could follow along if you're a developer with these repos and what I did here is in the playground repo

[04:24] Christopher David: So I first did the kind of

[04:26] Christopher David: demo code

[04:29] Christopher David: of pulling in a

[04:31] Christopher David: Wasm file just like counting the vowels in a string and it just shows you how you kind of pull that into this project and then call functions

[04:41] Christopher David: It's got a you know

[04:43] Christopher David: Exism takes care of the ABI application binary interface for you if you're familiar with like

[04:51] Christopher David: You know in my past as an Ethereum shit coin developer, you know six years ago

[04:57] Christopher David: Similar idea there's like some functions you can call into them

[05:01] Christopher David: But it's all with wasm

[05:03] Christopher David: Okay, that was the demo one and then I separately

[05:08] Christopher David: wrote a plugin called

[05:10] Christopher David: Plugin registry

[05:12] Christopher David: You just following the the quick start on the exism website

[05:16] Christopher David: Where I just you know create this function expose it with this macro here and then that's

[05:21] Christopher David: Callable as long as you got the wasm file so I ran the script to

[05:25] Christopher David: Build this to wasm

[05:27] Christopher David: I deployed that

[05:29] Christopher David: to the

[05:31] Christopher David: Plugin dash registry

[05:34] Christopher David: GitHub releases so there'd be like a static URL for the wasm file and then I pulled that into here

[05:42] Christopher David: called the

[05:47] Christopher David: Great function with an input of Joe

[05:51] Christopher David: And you could just see the code just says uh, I want to go

[05:56] Christopher David: It just will say hello Joe and then I call that for the front end

[06:01] Christopher David: So me saying

[06:04] Christopher David: That clicking load registry loads the wasm plugin from the remote URL it takes

[06:13] Christopher David: Earlier when I visit took about one second and I need to be reloaded or maybe because I already

[06:22] Christopher David: Let me try rebuilding this

[06:27] Christopher David: I am new to how are you

[06:31] Christopher David: Oh, I didn't restart

[06:33] Christopher David: Let's do this again

[06:37] Christopher David: Tariys pretty cool. It feels like feet like this actually uses feet for the front end but I can say

[06:42] Christopher David: Yo, I click load registry and it takes about two seconds

[06:50] Christopher David: Oh, I hard-coded the input there. That's okay

[06:55] Christopher David: Hello Joe

[06:58] Christopher David: But auto save auto pulls that back up and

[07:04] Christopher David: Okay, so the important part there is that it's

[07:08] Christopher David: loading this

[07:11] Christopher David: And

[07:13] Christopher David: Passing it an input it's doing something with that input and returning it

[07:19] Christopher David: And you could do some pretty interesting things with this like there's something there's an idea called host functions

[07:24] Christopher David: Where you can define some kind of Harry

[07:32] Christopher David: Function on the host the server

[07:35] Christopher David: That has like database access or uses environment variables and you can pass

[07:41] Christopher David: A version or the pass of function to the plugin

[07:46] Christopher David: If you want the plugin to be able to read or write something very specific to your database or use some sensitive credentials or whatever

[07:53] Christopher David: But like really constrained what's possible

[07:57] Christopher David: Okay, so this whole idea of a plugin system using web assembly

[08:03] Christopher David: Seems completely logical for us to have as the basis of an open agents plugin system

[08:09] Christopher David: Because it's going to let people use these plugins in applications that they write in like all these different languages

[08:17] Christopher David: You can write plugins using like eight different languages rust JavaScript go

[08:23] Christopher David: Haskell assembly script see zig dot net and they're adding adding new ones for this

[08:32] Christopher David: So we're going to

[08:35] Christopher David: Try to build up some of the kind of payments

[08:39] Christopher David: plugins

[08:41] Christopher David: Payments functionality as plugins that we will be putting in this registry and

[08:46] Christopher David: Pretty soon. I'll deploy the registry to

[08:51] Christopher David: Open agents website so it'll be playground dot open agents dot com or maybe I'll put it registry or open agents dot com

[08:59] Christopher David: A plugin registry along with instructions for how other developers can start to build plugins

[09:05] Christopher David: And we're going to probably do some boundaries around people who make the first plugins. I'm thinking both

[09:10] Christopher David: Initial bounty for creating the plugin as well as some back end reps share on some of the flows that go through the plugins

[09:17] Christopher David: Yeah, so check out extism dot org. Let me know what you think

[09:22] Christopher David: See you soon