Transcription: OpenAgents Episode 072 - LLM Inference Plugin

June 9, 2026 ยท View on GitHub

Source: https://twitter.com/OpenAgentsInc/status/1755001183784075769 Wiki source: https://raw.githubusercontent.com/wiki/OpenAgentsInc/openagents/Video-Series.md Media title: OpenAgents - Episode 072: LLM Inference Plugin We write our new agent's third and ... Upload date: 20240206 Transcription model: mlx-whisper/mlx-community/whisper-tiny Generated at: 2026-06-01T19:05:56Z

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

[00:00] Christopher David: Alright, let's write our third and for this project final plugin using our new PHP host function support from the last episode.

[00:11] Christopher David: We're now going to write this to urban.

[00:14] Christopher David: So to be clear, we wrote our first plugin as a basic Rustxism plugin.

[00:23] Christopher David: We wrote this one number two as a Go plugin, also using host functions, just for the HTTP request.

[00:33] Christopher David: And we deployed that to a separate Go service using L4 or two in video 69.

[00:47] Christopher David: Nope, 70.

[00:49] Christopher David: While we built it in 69 and deployed it in 70.

[00:52] Christopher David: And now we're going to use the new host function support that we tested in the last video to pull in a plugin to our code base with host functions.

[01:06] Christopher David: Passing it in a PHP version of HTTP host function.

[01:12] Christopher David: It has even necessary.

[01:14] Christopher David: This one we were able to use the Go HTTP function built into the SDK.

[01:24] Christopher David: Pity-key.

[01:28] Christopher David: Lots of fun architectural things.

[01:30] Christopher David: Okay, let's do this in one and rust.

[01:40] Christopher David: Let's fork this from the other one that we made.

[01:46] Christopher David: Plug in your extractor.

[01:50] Christopher David: So let's do.

[01:58] Christopher David: Let's do this.

[02:03] Christopher David: Get clone.

[02:05] Christopher David: As plugin, LLM influencer.

[02:12] Christopher David: Okay.

[02:17] Christopher David: Go into there.

[02:20] Christopher David: Oops.

[02:30] Christopher David: So what we got.

[02:37] Christopher David: So one thing is let's change this to LLM influencer.

[02:51] Christopher David: Let's do it with a relevant thing that we'll need.

[03:01] Christopher David: Let's go back to the, what was it?

[03:04] Christopher David: The X-Sysm rust quick start.

[03:09] Christopher David: Let's keep this in one place.

[03:13] Christopher David: This is to build.

[03:25] Christopher David: And this is to call it.

[03:29] Christopher David: Although I don't think we're going to be able to call it from the command line.

[03:32] Christopher David: Maybe because we're doing host functions.

[03:35] Christopher David: But let's do.

[03:39] Christopher David: Oops.

[03:41] Christopher David: Cargo build for.

[03:46] Christopher David: Release.

[03:50] Christopher David: Okay, let's see.

[03:52] Christopher David: Let's just make sure that this works.

[03:55] Christopher David: I forget what the command is.

[03:57] Christopher David: Let's do.

[04:10] Christopher David: Okay, let's just take a look at that.

[04:23] Christopher David: Let's go to.

[04:27] Christopher David: Throw that into the.

[04:31] Christopher David: This thing here.

[04:37] Christopher David: Target release.

[04:45] Christopher David: Oops target was 32 release.

[04:55] Christopher David: Okay.

[04:59] Christopher David: Okay, extract URLs.

[05:01] Christopher David: That's there.

[05:03] Christopher David: And it was it called the right thing.

[05:13] Christopher David: Plug in LLM influencer.

[05:18] Christopher David: Great.

[05:19] Christopher David: Oops.

[05:24] Christopher David: Okay, so we have a function called extract URLs.

[05:27] Christopher David: Now we're going to change this.

[05:32] Christopher David: First, let's commit this.

[05:42] Christopher David: Okay.

[05:44] Christopher David: And we need to create a repo for this.

[05:54] Christopher David: Okay.

[06:04] Christopher David: Get remote.

[06:05] Christopher David: Remove origin.

[06:06] Christopher David: Paste the origin.

[06:08] Christopher David: Push to origin name.

[06:14] Christopher David: Okay.

[06:17] Christopher David: Okay.

[06:27] Christopher David: Now, one thing I'm not clear on is the idea of a.

[06:40] Christopher David: Like host function.

[06:42] Christopher David: We're using the like default Rust version.

[06:46] Christopher David: So.

[06:52] Christopher David: It's going to the Rust PDK.

[06:56] Christopher David: GitHub.

[06:58] Christopher David: Let's see what their example is for host functions here.

[07:04] Christopher David: Sometimes it is useful to let a plugin make HTTP calls.

[07:12] Christopher David: So maybe let's just try getting the HTTP call working first.

[07:30] Christopher David: Keep it simple.

[07:34] Christopher David: Out of curiosity.

[07:40] Christopher David: What if I just do that?

[07:42] Christopher David: Is there anything else that I need?

[07:44] Christopher David: Can I build it like that?

[07:50] Christopher David: The trade to bytes is not implemented for Extras and PDK HTTP.

[07:56] Christopher David: We should.

[08:05] Christopher David: I'm going to update the PDK.

[08:15] Christopher David: I'm going to update the PDK.

[08:25] Christopher David: I'm going to update the PDK.

[08:32] Christopher David: I'm on 101.

[08:41] Christopher David: All right.

[08:59] Christopher David: Let's start getting.

[09:04] Christopher David: Let's start with the HTTP.

[09:14] Christopher David: We are writing a Rust.

[09:18] Christopher David: Extrism plugin to be consumed by our layer of our application.

[09:22] Christopher David: We want to use a.

[09:27] Christopher David: Calls.

[09:28] Christopher David: Here are the docs.

[09:30] Christopher David: I don't say anything on to I ask you something.

[09:46] Christopher David: My code here.

[09:52] Christopher David: Generates this error.

[09:58] Christopher David: I'm going to update the code.

[10:08] Christopher David: I'm going to update the code.

[10:18] Christopher David: I'm going to update the code.

[10:32] Christopher David: It seems like there might be a mismatch or an oversight in the XSNPDK's handling of HTTP response objects as return types for plugin functions.

[10:44] Christopher David: I'm going to update the code.

[10:54] Christopher David: I'm going to update the code.

[11:04] Christopher David: I'm going to update the code.

[11:28] Christopher David: How do curiosity?

[11:38] Christopher David: Does this build to Wazi?

[11:42] Christopher David: No.

[12:12] Christopher David: I don't want to update the code.

[12:34] Christopher David: I don't want to update the code.

[12:44] Christopher David: I'm going to update the code.

[12:54] Christopher David: I'm going to update the code.

[12:58] Christopher David: I'm going to update the code.

[13:06] Christopher David: I'll string of the response code.

[13:22] Christopher David: I'll try that.

[13:52] Christopher David: I'll try that.

[14:06] Christopher David: I'll try that.

[14:34] Christopher David: There we go.

[14:52] Christopher David: What?

[15:06] Christopher David: I'll try that.

[15:28] Christopher David: I'll try to try.

[15:38] Christopher David: I'll try that.

[16:08] Christopher David: I'll try that.

[16:22] Christopher David: I'll try that.

[16:32] Christopher David: I'll try that.

[17:02] Christopher David: I'll try that.

[17:32] Christopher David: I'll try that.

[17:54] Christopher David: I'll try that.

[18:18] Christopher David: I'll try that.

[18:42] Christopher David: I'll try that.

[19:06] Christopher David: I'll try that.

[19:36] Christopher David: I'll try that.

[19:59] Christopher David: the

[20:20] Christopher David: day, dark-faced viewer quest you change it.

[28:45] Christopher David: Rustnube

[30:07] Christopher David: you don't have to tell me all this, you just need to do it and then give me code that passes.

[30:24] Christopher David: Assuming you have some mechanism, no, you do the magnific looks.

[30:36] Christopher David: You don't have to tell me all this, you just need to do it and then give me code.

[30:46] Christopher David: Thank you.

[31:08] Christopher David: Thank you.

[31:38] Christopher David: Thank you.

[32:08] Christopher David: Thank you.

[32:38] Christopher David: Thank you.

[33:08] Christopher David: Thank you.

[33:23] Christopher David: Thank you.

[33:50] Christopher David: Now, I have curiosity, can I, well, I have curiosity first, let's go to ModSurf and dump this

[33:58] Christopher David: and make sure it looks like we'd expected to look.

[34:08] Christopher David: We have a function called inference.

[34:15] Christopher David: Now, yeah, that compiled, thank you.

[34:32] Christopher David: Now give me an example, see I come in with the right formatting for request JSON to test this out.

[34:44] Christopher David: Let's see.

[35:13] Christopher David: Accept that build it for release.

[35:35] Christopher David: Let's see if it works.

[35:59] Christopher David: Let's call release and it's called plugin LM infernser maybe.

[36:17] Christopher David: HTTP request to chat completions is not allowed.

[36:25] Christopher David: Is that because I'm on a local environment didn't we have this before?

[36:35] Christopher David: Let's see if it's allowed.

[36:50] Christopher David: Let's see if it's allowed.

[37:20] Christopher David: I know where to find the answers.

[37:50] Christopher David: Ever accept two arms received six.

[38:03] Christopher David: Thank you.

[38:24] Christopher David: Boo-yah, Boo-yah, allow host, fuck yes.

[38:45] Christopher David: That works.

[38:55] Christopher David: Let's do it again.

[39:01] Christopher David: GPT4.

[39:16] Christopher David: What do you know about ex-dism?

[39:24] Christopher David: I'm sorry, but as an AI, I cannot find an incredible information on ex-dism.

[39:59] Christopher David: the

[40:01] Christopher David: web assembly is a binary. Okay. So that's fine. That works. Let's go to our LLM

[40:06] Christopher David: inferencer thingy. Let's make a release.

[40:13] Christopher David: It's also paste on the

[40:29] Christopher David: you may not use my api key.

[40:43] Christopher David: Okay.

[40:55] Christopher David: Okay. So we now have a plugin. Let's try to

[40:58] Christopher David: zoom it from page p. First let me

[41:02] Christopher David: make a release for this.

[41:28] Christopher David: Okay.

[41:58] Christopher David: Okay. Okay. So what? Maybe.

[42:06] Christopher David: So give me the persistent URL.

[42:12] Christopher David: And then let's pop over to our code base.

[42:16] Christopher David: Earlier I was planning out the JavaScript.

[42:18] Christopher David: I'm kind of having a pan of the ass. So let's try.

[42:22] Christopher David: I don't know that we'll need a close function.

[42:26] Christopher David: Let's try.

[42:32] Christopher David: Can execute LM inferencer plugin.

[42:42] Christopher David: I was a plugin. He equals plugin.

[42:44] Christopher David: Factory.

[42:46] Christopher David: Create.

[42:48] Christopher David: Wasm URL.

[42:50] Christopher David: Okay.

[42:54] Christopher David: Okay.

[42:58] Christopher David: Okay.

[43:00] Christopher David: Okay.

[43:02] Christopher David: Okay.

[43:04] Christopher David: Okay.

[43:06] Christopher David: Okay.

[43:08] Christopher David: Okay.

[43:10] Christopher David: Okay.

[43:12] Christopher David: Okay.

[43:14] Christopher David: Okay.

[43:16] Christopher David: Okay.

[43:18] Christopher David: Okay.

[43:22] Christopher David: So data equals.

[43:24] Christopher David: Model name is a GPT2.

[43:28] Christopher David: No.

[43:30] Christopher David: I believe we have it open AI.

[43:32] Christopher David: API key here. Let's try this.

[43:34] Christopher David: Whoa.

[43:36] Christopher David: Whoa.

[43:38] Christopher David: Oh.

[43:40] Christopher David: Oh.

[43:42] Christopher David: Oh.

[43:46] Christopher David: Yeah.

[43:48] Christopher David: Now.

[43:50] Christopher David: Plug in.

[43:52] Christopher David: Call.

[43:54] Christopher David: I want it.

[43:56] Christopher David: Inference.

[43:58] Christopher David: Ditty.

[44:00] Christopher David: My output.

[44:02] Christopher David: Be really cool.

[44:04] Christopher David: This works.

[44:06] Christopher David: Be really cool if this works.

[44:08] Christopher David: Inferware rinse.

[44:10] Christopher David: I'm sorry.

[44:12] Christopher David: I did not find the function called Inferware rinse.

[44:14] Christopher David: You're supposed to inferer when I'm asking for.

[44:18] Christopher David: Okay.

[44:20] Christopher David: Infer.

[44:22] Christopher David: Inferencer.

[44:23] Christopher David: Inferencer.

[44:24] Christopher David: All right.

[44:26] Christopher David: Err.

[44:28] Christopher David: I love errors.

[44:30] Christopher David: Oh.

[44:32] Christopher David: You know what? We are not doing.

[44:34] Christopher David: I don't think.

[44:36] Christopher David: We're not doing our equivalent of allow hosts.

[44:40] Christopher David: Which we need to do in the

[44:44] Christopher David: Man Fest.

[44:46] Christopher David: Yeah.

[44:48] Christopher David: C.C. I think this like wasm time stuff.

[44:50] Christopher David: We're getting the same like wasm.

[44:52] Christopher David: Wasm time complaining probably because of that same thing.

[44:54] Christopher David: Now let's remember where did we.

[45:04] Christopher David: Did that hear?

[45:06] Christopher David: None parse.

[45:08] Christopher David: Err.

[45:10] Christopher David: Wasm.

[45:12] Christopher David: How do we get some allowed hosts?

[45:16] Christopher David: A wasm is in array of blah blah blah blah.

[45:22] Christopher David: Okay. The manifest.

[45:24] Christopher David: A loud host equals array of star maybe.

[45:36] Christopher David: And down here we say call.

[45:44] Christopher David: If there's no plug in the search.

[45:46] Christopher David: See if it will call in the search.

[45:48] Christopher David: So this is going to be called in a matter of what.

[45:50] Christopher David: So let's do.

[45:52] Christopher David: Man Fest.

[45:54] Christopher David: Allowed hosts.

[45:56] Christopher David: No.

[45:58] Christopher David: Allowed underscore.

[46:04] Christopher David: Allowed underscore hosts.

[46:20] Christopher David: Who I'll be able to set that it to.

[46:24] Christopher David: Open agents.com or something.

[46:26] Christopher David: What you see if that does.

[46:28] Christopher David: What I only wanted to do.

[46:30] Christopher David: Okay.

[46:40] Christopher David: Incorrect API key provided.

[46:42] Christopher David: Okay.

[46:44] Christopher David: Okay.

[46:46] Christopher David: Okay.

[46:48] Christopher David: Made of use a deprecated key.

[46:50] Christopher David: Okay.

[47:00] Christopher David: Okay.

[47:10] Christopher David: Okay.

[47:16] Christopher David: Okay.

[47:18] Christopher David: Okay.

[47:20] Christopher David: Okay.

[47:22] Christopher David: Okay.

[47:24] Christopher David: Okay.

[47:26] Christopher David: Okay.

[47:28] Christopher David: Okay.

[47:30] Christopher David: Okay.

[47:32] Christopher David: Okay.

[47:34] Christopher David: Okay.

[47:36] Christopher David: Okay.

[47:38] Christopher David: Okay.

[47:40] Christopher David: Okay.

[47:42] Christopher David: Okay.

[47:44] Christopher David: Okay.

[47:46] Christopher David: Okay.

[47:48] Christopher David: Okay.

[47:50] Christopher David: Okay.

[47:52] Christopher David: Okay.

[47:54] Christopher David: Okay.

[47:56] Christopher David: Okay.

[47:58] Christopher David: Okay.

[48:00] Christopher David: Okay.

[48:02] Christopher David: Okay.

[48:04] Christopher David: Okay.

[48:06] Christopher David: Okay.

[48:08] Christopher David: Okay.

[48:10] Christopher David: Okay.

[48:12] Christopher David: Okay.

[48:14] Christopher David: Okay.

[48:16] Christopher David: Okay.

[48:18] Christopher David: Okay.

[48:20] Christopher David: Okay.

[48:22] Christopher David: Okay.

[48:24] Christopher David: Okay.

[48:26] Christopher David: Okay.

[48:28] Christopher David: Okay.

[48:30] Christopher David: Okay.

[48:32] Christopher David: Okay.

[48:34] Christopher David: Okay.

[48:36] Christopher David: Okay.

[48:38] Christopher David: Okay.

[48:40] Christopher David: Okay.

[48:42] Christopher David: Okay.

[48:44] Christopher David: Okay.

[48:46] Christopher David: Okay.

[48:48] Christopher David: Okay.

[48:50] Christopher David: Okay.