-
Posts
57 -
Joined
-
Last visited
-
Days Won
4
Everything posted by robert
-
PromptAI v2.7 released Adds support for the fantastic RockPageBuilder module. Prompts are now usable in all text, file and image fields inside RPB blocks.
-
PromptAI v2.5 & v2.6 released Two updates for PromptAI: v2.5 adds a new per-prompt option "Ignore field content". When enabled, only the prompt text is sent to the AI — without the current content of the field. This is useful for prompts that generate content purely from placeholders (like »Create a short 400 chars summary of the following text: {page.copy}«) rather than processing existing text. Files and images are still sent as usual. v2.6 improves the prompt configuration interface. Prompts can now be duplicated and reordered using up/down buttons directly in the configuration. This makes it easier to manage larger prompt setups — duplicate an existing prompt as a starting point or rearrange the processing order without recreating entries.
-
Published Version 2.4 with support for custom user role permissions: promptai allows to use the prompts in page edit promptai-config allows to add/edit new prompts
-
Haha, yeah, those $50 in Opus credits pushed me quite a bit further too while writing this update … It’s really fascinating how fast you can move with a single prompt sometimes – only to suddenly going in circles for 30 minutes for a simple bug. Wild times 😅
-
PromptAI v2.3 — Inline Mode, Streaming, Placeholders, and more Hi everyone, It's been a while since the last update for PromptAI, and quite a lot has changed. Here's a summary of what's new since the last public release. Inline Mode The biggest addition is a new Inline Mode that adds magic wand buttons directly next to your fields. Instead of the "Save + Send to AI" workflow, you can now trigger AI processing on individual fields without saving the page first. The response streams in live and replaces the field content — but nothing is saved until you hit Save. Both modes (Page Mode and Inline Mode) can be mixed freely in the same configuration. Each prompt is configured as either "page" or "inline". Inline mode works with all supported field types: text fields, TinyMCE/CKEditor fields, image descriptions, file descriptions, and custom subfields — including inside repeaters. Streaming Responses AI responses now stream in real-time via Server-Sent Events (SSE). You can watch the text appear token by token instead of waiting for the full response. This obviously only works in inline mode. Placeholder Support Prompts can now reference other field values from the page using `{page.fieldname}` syntax. Inside repeaters, use `{item.fieldname}` to access the current repeater item's fields. Examples: - Summarize the following text to 400 characters: {page.body} - Create an SEO meta description for a page titled '{page.title}' - Write a caption for this gallery item titled '{item.title}' from the {page.gallery_name} collection This makes prompts context-aware without having to send field content manually. Multi-Field Selection Instead of configuring a single source field per prompt, you can now select multiple fields. The same prompt will be applied to each selected field. This replaces the old source/target field concept — the "target" is now only used for subfield options in file/image fields. AI Tools (experimental) The module now ships with three experimental tools that allow the AI to query your ProcessWire installation: - getPages — find pages by selector - getPage — get detailed info about a single page - getFields — list available templates and their fields These are disabled by default and must be enabled in module configuration. They're meant as starting points — their usefulness depends heavily on your use case and I recommend to create your own for each projects specific demand. Other Changes - PHP 8.3 is now required to use this module Important: Backup Before Updating The internal configuration structure has changed significantly. The old `sourceField`/`targetField` concept has been replaced with a multi-field `fields` array and a separate `targetSubfield` option. There is no automatic migration for this change. I'm sorry for the inconvenience — the old structure simply didn't support the new features. I attached two short screen videos showing the prompt config screen with example prompts and one page edit screen where I showcase some of the predefined prompts. As always, feedback and bug reports are welcome — either here or on GitHub. promptai-showcase.mp4 promptai-config.mp4
-
@ngrmm I think I found the bug (again), could you try and change TranslateGlossary.php:34 to the following: $entryArr = self::convertGlossaryStringToArray($language->translate_glossary ?? ''); The change is the ?? '' after translate_glossary. This handles empty glossary fields that return null instead of an empty string. Hopefully this will do it!
-
@ngrmmHmm, that might be possible, but unfortunately I can't replicate the issue here. Could you double-check that TranslateGlossary.php:118 has a default value for the $glossaryString parameter in the source code? The line should look like this: private static function convertGlossaryStringToArray(string $glossaryString = ''): array { Also, a few questions to help investigate: – Do you have any entries in your language-specific translate_glossary field? – Are you using the DeepL API Free or Pro plan? Thanks for helping with the investigation! 😅
-
@ngrmm I think I found the bug, thanks for reporting! Version 1.3 should work now and can be found in the ProcessWire modules directory. Since you mentioned your Fluency version in your comment: it's no longer required for this module to run (but it's still a great module nevertheless 😄)
-
@update AG Thanks for reporting. I pushed a new version 1.3 to Github which supports PHP 8.1. The DeepL API client uses Symfony HTTP Client as a dependency, which requires PHP 8.2 in version 7.x. I downgraded it to Symfony 6.x, so now PHP 8.1 is the minimum supported version. Regarding ProcessWire compatibility with PHP 8.2: I checked client websites and found one installation running PW 3.0.230 without any errors/warnings, and another with 3.0.213 that has some deprecation warnings but works fine. Edit: I forgot to mention that Fluency is no longer necessary for ProcessTranslatePage to run, both modules work independently.
-
Hi Ivan, I haven’t had time yet to verify what (if anything) needs to be done on my side, but I’m fairly sure ProcessTranslatePage already uses the DeepL API v2. It relies on the official PHP client library and was updated in mid‑2025, so we should be in good shape. If any updates are required to keep the module working, I’ll take care of them – thanks for the heads up!
-
I like this idea – thanks! I’ll explore this further and see if I can come up with a clean implementation when I have time.
-
Hi! I’ve just released v1.7 with native DeepSeek support as an AI provider. Note that, due to limitations in the Neuron AI framework’s DeepSeek integration, file and image uploads aren’t supported at the moment. Regarding SEO Maestro: I haven’t worked with it before, and it looks like it uses custom subfields which aren't compatible with my current config form. It will take a bit more engineering to support properly. I’ll take a closer look about how to add subfield support in general, but I don’t expect to ship this in the near future.
-
Hi @Jorge, I think I found the bug causing your error, I mixed up the native _() and the Processwire __() function 😅 Fixed version is on Github, does this resolve your issue? https://github.com/robertweiss/PromptAI
-
Hi @Jorge, I‘m afk till friday but will have a look when I‘m back!
-
v1.1 has been released with some bug fixes and a ListerPro Page Action added to batch translate pages using the ListerPro module. Keep in mind that the Page Action module needs to be installed separately.
-
v1.6 released with one tiny change: the overwrite target field setting is now configurable per prompt instead of globally. This allows you to have some prompts that preserve existing content while others overwrite it, giving you more granular control over AI processing behaviour. Needed the functionality for a client, so I thought it would be a nice addition for the module.
-
Hey everyone! Just pushed two quick updates to PromptAI with some improvements: v1.4 Changes New "Overwrite Target" option: You can now choose whether AI responses should overwrite existing content in target fields (disabled by default to protect your existing content) v1.5 Changes Multiple template support per prompt: Configure a single prompt to work across multiple templates – no more duplicate configs! Native ProcessWire forms: Refactored config interface to use proper PW form elements Better template selection: Upgraded to ASMSelect for smoother template picking. This was a bit difficult to combine with dynamic JS fieldset creation and involved some brittle DOM hacking, so if anyone knows a simple way to combine Alpine JS and the ASMSelect JS part, I'd be happy to learn As always, please test thoroughly before going live. Bug reports and feedback welcome on GitHub 😊
-
v1.3 released with added support for Pagefile fields – now you can process documents with AI. This is especially useful for creating summaries, extracting key points, or generating descriptions for uploaded documents. Supported formats are PDF, RTF, Markdown, JSON, XML, CSV, and plain text files.
-
PromptAI v1.2 is out! New stuff: Repeater field support (including Repeater Matrix) – see the Readme for details Better config format using JSON and IDs instead of names Auto-migration handles the upgrade for you Your existing configs will automatically convert to the new format, so everything should just work. Still worth making a backup though 😄
-
PromptAI Module Update V1.1: New Config UI & Individual Buttons! 🎉 Hey everyonre, I just pushed an update to the PromptAI module that replaces the old textarea configuration with a proper form interface at Setup > Prompt AI. No more typing template::source::target::prompt manually – now you get actual fields and buttons like a civilized person! 😄 I also added an "Individual Prompt Buttons" option that lets you create separate "Save + [Custom Label]" buttons for each prompt configuration instead of one generic button. So you can have "Save + Create Summary", "Save + Generate Alt Text", etc. and run just the specific prompt you want. Existing configs migrate automatically, so updates should run smoothly. Feedback welcome as always. The module has now been added to the ProcessWire module list: https://processwire.com/modules/prompt-ai/
-
I created a successor for my module PromptChatGPT (https://processwire.com/talk/topic/28311-processchatgpt/) with the even more creative name PromptAI. It is more or less a complete rewrite based on the Neuron AI framework. Short description: PromptAI is a Processwire CMS module that utilizes AI to process text fields upon saving. The processed text can be saved back to the original field or a different one on the same page. For image fields, the AI can write image descriptions or populate custom image subfields. The main additions are: Multiple prompt support Provider select support System instructions Support for Image fields All infos can be found here: https://github.com/robertweiss/PromptAI Use cases could include text summaries, proofreading, or generating alt texts for images. Happy prompting 😊
-
Hello everyone, I'm excited to announce that Version 1.0 of ProcessTranslatePage is now available on GitHub: https://github.com/robertweiss/ProcessTranslatePage Please note that there are some breaking changes in this update. I recommend uninstalling and then reinstalling the module to ensure everything works smoothly. You can use the same DeepL API key that you use with Fluency. After installation, you will (hopefully) see two new fields for the language template. However, only the 'translate_locale' field is required for the module to function properly. Thanks for your patience, I hope you find this update useful!
-
Hi @Ivan Gretsky and @FireWire, Sorry it took me so much time to respond to the big Fluency update. To be honest, I already refactored my module a couple of months ago to work without any dependencies (except the DeepL API), so Fluency is no longer necessary to use it. Since I only did this refactor for one client, I need to remove some customizations before I can push the new version to Github. I don’t expect this to take too long, so I’m hopeful that I’ll be able to release Version 1.0 for you to test tomorrow or thursday 😊. Thanks for your patience!