ryan Posted Friday at 10:36 PM Posted Friday at 10:36 PM There has been a lot of ProcessWire work covered this week! Here's a summary: 1. AgentTools module has been upgraded with "Site Engineer", an AI agent now built into your admin, and you can ask it questions, create migrations, or have it make other web development updates to your site by going to Setup > Agent Tools > Engineer. To enable the Engineer, you need an Anthropic API key, an OpenAI API key, or an OpenAI compatible API key (apparently several others use the OpenAI key standard). You can optionally put Engineer in "read-only" mode, which is what I do for production sites. In read-only mode, it answers questions and provides you with code for making updates yourself. But if read-only mode is not enabled, then it can act as your web developer and make changes directly, which is what I use with development sites. AgentTools provides full context to Engineer on your site's pages, fields and templates. If using ProcessWire 3.0.258 (or newer) it also provides the new API.md files to help AI know how to best work with all of ProcessWire's Fieldtypes. If you are having Engineer create or manipulate Fields on your site, it's a good idea to have 3.0.258 for the API.md support. Engineer also supports prompt caching for up to 1 hour in order to limit token usage. 2. The AgentTools now has JSON site-map generation features for AI agents. This enables an AI agent to see the full scope of your site. A second site-map feature focuses on all your site's templates and fields, essentially providing the full site schema to the AI agent. 3. In the core, we've added API.md files for all 18 of ProcessWire's core Fieldtypes, except for the comments and cache Fieldtypes, so far. In order to facilitiate this, and to facilitiate AI agent accessibility, all of ProcessWire's Fieldtypes now have their own directories as well. 4. After looking at all the API.md files, it became clear that there was plenty of room for improvement in the APIs of several Fieldtypes, so there have been major core updates to several Fieldtypes, as well as the Fields, Templates and Fieldgroups classes. 5. A Fieldtype testing framework has been built, which tests the full scope of 20 ProcessWire Fieldtypes (all the core ones, plus FieldtypeRepeaterMatrix and FieldtypeTable). It tests field creation, manipulation, traversal (where applicable), sorting (where applicable), searching with selectors, and more. I'll be uploading the testing framework to GitHub soon as well. 6. The new testing framework identified some bugs, which have been fixed. Most notable were selector matching bugs in FieldtypeFloat and FieldtypeDatetime. 7. There has been some refactoring in ProFields FieldtypeRepeaterMatrix and FieldtypeTable, plus API.md files have been generated for both. New versions should be ready soon. In fact, that applies to all of the ProFields, and I hope to cover FieldtypeCombo and FieldtypeCustom next week. 8. ProcessWire 3.0.258 has a whole lot of improvements, changes and fixes in it. Here's the commit log: https://github.com/processwire/processwire/commits/dev/ 9. Back to working on PagesVersionsPro (and have been for a few weeks) but more on that later. 10. There's probably more, but that's all I can remember at the moment. 🙂 Thanks for reading and have a great weekend! Basic examples of using Engineer for migrations: 10 2
Jonathan Lahijani Posted Friday at 11:07 PM Posted Friday at 11:07 PM I can't wait to play with all this stuff. I love that ProcessWire was envisioned over 2 decades ago, yet is adaptable with the cutting edge in web development. This just speaks to how well it was architected when it was publicly released. This feels like the next era of ProcessWire! 5
wbmnfktr Posted Friday at 11:10 PM Posted Friday at 11:10 PM Holy... this feels like a bit of Christmas and Easter on the same day during summer holidays. Just plugged Z.AI GLM-5.1 into this and ... From the side notes: Spoiler The whole project was migrated from Hono, React, Vite, Cloudflare Workers with D1 just by using AgentTools in the last couple of days. From this: To this without me adding or creating any template or field: Took around 5 hours for the inital migration (Droid with GLM 5.1) and another 3 for frontend and a little bit of fine-tuning (OpenCode with GLM 5.1). Around 170,000,000 token in total so far. That was a fun ride! I might never touch NextJS or similar again now. 5
wbmnfktr Posted Friday at 11:11 PM Posted Friday at 11:11 PM 4 minutes ago, Jonathan Lahijani said: This feels like the next era of ProcessWire! YES! 3
ryan Posted Friday at 11:19 PM Author Posted Friday at 11:19 PM Quote This feels like the next era of ProcessWire! Thanks Jonathan! I appreciate the kind words. I also feel like this is the beginning of the next era of ProcessWire, so much fun stuff lately on the way! Quote Holy... this feels like a bit of Christmas and Easter on the same day during summer holidays. Really cool project you are working on there! Also, I'm thrilled to see the AgentTools module working with another AI Agent. I've only been able to test with an Anthropic API key so far, so nice to see it's working well with Z.ai. 2
wbmnfktr Posted Friday at 11:28 PM Posted Friday at 11:28 PM It also works without issues using MiniMax M2.7 - which is actually even faster. 🥰 2
ryan Posted Friday at 11:32 PM Author Posted Friday at 11:32 PM Btw, one feature that wasn't quite ready this week for AgentTools was Engineer memory. Currently every prompt is like a new thread. But next week we'll enable memory, so that it has context of all your previous prompts. 4
wbmnfktr Posted Friday at 11:33 PM Posted Friday at 11:33 PM 9 minutes ago, ryan said: I'm thrilled to see the AgentTools module working with another AI Agent. Used Droid (https://factory.ai/) and OpenCode (https://opencode.ai/) in this project for now and they both had no issues at all (besides learning that the project is running in a DDEV environment). Also Z.AI GLM 5.1 and MiniMax M2.7 did a really great job. Not as fast (and by far not as expensive) as Opus 4.6 but planning everything in GLM 5.1, spawning subagents (only really works in OpenCode) with MiniMax that does the heavy lifting and then using GLM 5.1 again to confirm and double-check everything. 🤯 2
wbmnfktr Posted Friday at 11:39 PM Posted Friday at 11:39 PM What about being able to configure multiple models and then selecting the one for each specific task? Planning: Opus 4.x (or GLM 5.1, Kimi K2.5) Workload: MiniMax, Qwen, ... Most plans (I use) support Anthropic-, OpenAI-compatible, and custom endpoints. Right now we have Anthropic and OpenAI available (should cover 90% i guess). 3
ryan Posted Friday at 11:42 PM Author Posted Friday at 11:42 PM I like that idea, maybe a select/drop-down under the engineer prompt box where you can select the model to use? And we should be able to share memory between them too, once it's added. 4
wbmnfktr Posted Friday at 11:47 PM Posted Friday at 11:47 PM 1 minute ago, ryan said: maybe a select/drop-down under the engineer prompt box where you can select the model to use That's what I was thinking about. Like in other tools (Kilo Code Extension in VS Code in the screenshot). 3 minutes ago, ryan said: And we should be able to share memory between them too, once it's added. With this we come close to OpenClaw and Hermes territory. 2
adrian Posted yesterday at 12:06 AM Posted yesterday at 12:06 AM Thanks Ryan - just starting to play with this now. Remember that for some reason Claude needs to be reminded to add a version check around around curl_close Deprecated: Function curl_close() is deprecated since 8.5, as it has no effect since PHP 8.0 in site/modules/AgentTools/AgentToolsEngineer.php:592 4
diogo Posted yesterday at 04:16 AM Posted yesterday at 04:16 AM 4 hours ago, wbmnfktr said: What about being able to configure multiple models and then selecting the one for each specific task? 4 hours ago, ryan said: I like that idea, maybe a select/drop-down under the engineer prompt box where you can select the model to use? And we should be able to share memory between them too, once it's added. Aider has an interesting “architect mode”, where you can define a “strong” and a “week” models for reasoning and acting. This can keep costs much lower https://aider.chat/2024/09/26/architect.html 4
wbmnfktr Posted 15 hours ago Posted 15 hours ago In Kilo Code there is this: You can set a model for each mode. 2
ryan Posted 12 hours ago Author Posted 12 hours ago @wbmnfktr Okay we've got support for multiple models now. I'm just working out some details, but should have the AgentTools version updated today with that feature. 3 1
ryan Posted 10 hours ago Author Posted 10 hours ago Okay multi-model support is now ready and in the current posted version (v5) of AgentTools: Multi-model support — configure additional AI providers/models beyond the primary; each uses its own API key and endpoint Additional models textarea in module config accepts one model per line in pipe-separated format: model | api-key, model | api-key | endpoint, or model | api-key | endpoint | label; provider is auto-detected from the key prefix (sk-ant-* = Anthropic, all others = OpenAI-compatible); whitespace around pipes is optional; lines beginning with # are ignored Control room collapsible fieldset in the Engineer form with model selector and context options; auto-expands when non-default settings are saved Context selector radio in Control room: All (site maps + API docs), Custom (choose individual items), or None (no extra context, useful for general questions or token-limited providers) There's still about 2-3 hours left on the memory feature, which I don't have today, so that'll be in a day or two. If anyone wants a free AI tool (api key) to use with AgentTools, Groq ("groq" not "grok") seems to do fairly well with ProcessWire: https://console.groq.com/home -- note however that on the "Engineer" screen in AgentTools, you'll want to select "Extra content to include: None" because the free Groq doesn't not accept a lot of data in the submitted prompts. But it can still query your ProcessWire installation for all of that info, so it works just fine. 1 2
ryan Posted 9 hours ago Author Posted 9 hours ago Btw, in addition to the memory/conversation history feature coming in the next version, we're also adding a sub-agent feature, so that your selected agent can launch other sub-agent instances of itself or other agents you've defined. Like maybe you've got different agents that specialize in one thing or another, or cost less for specific tasks, it can launch the best agent for the job. In this case, you've got a main agent that's in charge, but it can delegate tasks to other agents. Example would be using Claude Opus 4.7 for main agent but it delegates to Haiku or Groq or another for tasks that don't need as much horsepower, though that may be just scratching the surface on what's possible. 4
Jonathan Lahijani Posted 7 hours ago Posted 7 hours ago 23 hours ago, wbmnfktr said: Around 170,000,000 token in total so far. What was the cost for that many tokens?
wbmnfktr Posted 6 hours ago Posted 6 hours ago Had to pull the raw data for each session to answer this, but overall about $30 based on their (Z.AI) API pricing and the current free cache hits. I paid around $120 for one year of their Pro plan in a Black Friday deal. That's even sweeter. 1
Jonathan Lahijani Posted 1 hour ago Posted 1 hour ago 4 hours ago, wbmnfktr said: Had to pull the raw data for each session to answer this, but overall about $30 based on their (Z.AI) API pricing and the current free cache hits. I paid around $120 for one year of their Pro plan in a Black Friday deal. That's even sweeter. Ahh ok. So 150 million of it is cached and therefore not charged. Makes more sense.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now