Drupal AI Contribution meetup 2025.3
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3503762. --> Reported by: [valthebald](https://www.drupal.org/user/239562) >>> <p>Drupal AI Contribution meetup from 13 Feb, 2025 at 13:00 UTC to 14 Feb 2025 13:00 UTC (Check your local time at <a href="https://www.timebie.com/std/universal.php">https://www.timebie.com/std/universal.php</a>)</p> <h2>Attendees</h2> <p>(in the order of appearance in the chat)</p> <h2>Agenda</h2> <h3>Follow-up to topics of <span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/ai/issues/3502459" title="Status: Closed (fixed)">#3502459: Drupal AI Contribution meetup 2025.2</a></span></h3> <h3>Current progress in AI core and the ecosystem</h3> <ul> <li><span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/ai/issues/3479388" title="Status: Closed (fixed)">#3479388: Research normalize function calling in Chat operator</a></span></li> <li><span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/ai/issues/3492869" title="Status: Closed (fixed)">#3492869: Normalize Structured responses</a></span></li> <li><a href="https://www.drupal.org/project/ckeditor_ai_agent/releases/1.0.0-beta3">https://www.drupal.org/project/ckeditor_ai_agent/releases/1.0.0-beta3</a></li> </ul> <!--Start top post--><li>Hello everyone, and welcome to the Drupal AI contribution meeting!This meeting:&#10148; Happens every other week in #drupal-cms-ai channel&#10148; Is text only!&#10148; Happens in threads, which you can follow to be notified of new replies even if you don&rsquo;t comment in the thread. You may also join the meeting later and participate asynchronously.&#10148; Refers to various issues and plans tracking in d.o project:<span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/ai/issues/3503762" title="Status: Closed (fixed)">#3503762: Drupal AI Contribution meetup 2025.3</a></span>.Please comment there so we can grant you credit for attending/contributing! Please note, we will only give attributions for active engagement.<br> <!--End top post--><!--Start thread--><ul> </ul></li> <!--End thread--><!--Start top post--><li>0&#65039;&#8419; Roll call! Who's here? What's your favorite code-writing AI assistant (if any)? Please mention your d.o. username<br> <!--End top post--><!--Start thread--><ul> <li><strong>thejimbirch</strong>: thejimbirch Only using chatGPT for the moment. Here to help with recipes if needed and to keep up.</li> <li><strong>Marcus Johansson</strong>: Marcus (marcus_johansson).&nbsp; I'm still stuck on co-pilot for minor autocomplete and writing unit tests, but I'm testing others with more features, with different results.</li> <li><strong>valthebald</strong>: Val (valthebald) I got best results with JetBrains AI assistant while I had my trial (sometimes works like magic!)second best is <a href="http://continue.dev">continue.dev</a> plugin followed by Proxy AI</li> <li><strong>yautja_cetanu (Jamie)</strong>: Jamie - yautja_cetanu also chatgpt for me &#128578;&nbsp;(edited)</li> <li><strong>Jayjitraj jadeja</strong>: j2r - Mostly ChatGPT good to get the skeleton code</li> <li><strong>Joonas Meril&auml;inen</strong>: mErilainen, using GitHub Copilot&nbsp;(edited)</li> </ul></li> <!--End thread--><!--Start top post--><li>1&#65039;&#8419; Followup from the previous meeting<br> <!--End top post--><!--Start thread--><ul> <li><strong>valthebald</strong>: <span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/ai/issues/3494281" title="Status: Closed (fixed)">#3494281: CKEditor icon when in Gin Dark mode</a></span> - fixed</li> <li><strong>valthebald</strong>: <span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/ai/issues/3499597" title="Status: Closed (fixed)">#3499597: Better error handling in the AI Chatbot</a></span>- fixed</li> </ul></li> <!--End thread--><!--Start top post--><li>1&#65039;&#8419; 1&#65039;&#8419; Bringing ai_search out of experimental[#3485449]<br> <!--End top post--><!--Start thread--><ul> <li><strong>valthebald</strong>: nice summary from @Seogow but no progress, unfortunately</li> </ul></li> <!--End thread--><!--Start top post--><li>1&#65039;&#8419; 2&#65039;&#8419; Unifying translation approach[#3478721]<br> <!--End top post--><!--Start thread--><ul> <li><strong>valthebald</strong>: this got merged into 1.0.4! yay!</li> <li><strong>valthebald</strong>: and as far as I know, ai_tmgmt already uses this functionality</li> </ul> <!--End thread--></li> <!--Start top post--><li>1&#65039;&#8419; 3&#65039;&#8419; Drupal AI website<br> <!--End top post--><!--Start thread--><ul> <li><strong>valthebald</strong>: @yautja_cetanu (Jamie) what can we do to unblock this?</li> </ul> <!--End thread--></li> <!--Start top post--><li>1&#65039;&#8419; 4&#65039;&#8419; Programmatically add operation type<br> <!--End top post--><!--Start thread--><ul> <li><strong>valthebald</strong>: <span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/ai/issues/3500120" title="Status: Closed (fixed)">#3500120: Programmatically add OperationType in AiProviderPluginManager</a></span> is marked RTBC :+1:</li> </ul> <!--End thread--></li> <!--Start top post--><li>2&#65039;&#8419; Normalizing topics from @Marcus Johansson<br> <!--End top post--><!--Start thread--><ul> </ul> <!--End thread--></li> <!--Start top post--><li>2&#65039;&#8419; 1&#65039;&#8419; functions in chat operator[#3479388]<br> <!--End top post--><!--Start thread--><ul> <li><strong>valthebald</strong>: <a href="https://www.youtube.com/watch?v=QVGRMWEpjlA&amp;ab_channel=DrupalAIVideos">https://www.youtube.com/watch?v=QVGRMWEpjlA&amp;ab_channel=DrupalAIVideos</a></li> <li><strong>yautja_cetanu (Jamie)</strong>: I'm hoping to get a blog post aobut it today. Had a really good conversation with @michaellander about this and the "Drupal Contexts" side of things.</li> <li><strong>michaellander</strong>: After talking with @yautja_cetanu (Jamie), I'm going to try to put together a PoC around context collecting.. I think starting with a hand full of 'test' prompts that require context to be gathered different ways&nbsp; and being able to get the right information back.&nbsp; I will keep you posted.&nbsp; Then the conversation becomes around how much explaining is necessary to keep AI agents/tools on rails and trustworthy vs letting it try to navigate some of it on it's own.&nbsp; And I think the consensus is 'Yes'... We should try everything.&nbsp; But designing for the later should make the former that much easier.</li> <li><strong>Jasper Lammens</strong>: Very interested to see more of this &#128578;</li> <li><strong>Jasper Lammens</strong>: I&rsquo;ll work on the MCP-integration of ECA before and after Drupal Mountain Camp. So I&rsquo;ll showcase something afterwards as well</li> <li><strong>Jasper Lammens</strong>: Let&rsquo;s see if we can find similarities and a middle ground to further with this</li> <li><strong>Jasper Lammens</strong>: <a href="https://docs.mcp.run/blog/2025/02/13/announcing-tasks/">https://docs.mcp.run/blog/2025/02/13/announcing-tasks/</a></li> <li><strong>Jasper Lammens</strong>: @yautja_cetanu (Jamie) is it something like this you had in mind?</li> </ul></li> <!--End thread--><!--Start top post--><li>2&#65039;&#8419; 2&#65039;&#8419; Structured responses[#3492869]<br> <!--End top post--><!--Start thread--><ul> <li><strong>valthebald</strong>: <a href="https://www.youtube.com/watch?v=fyCd2fwR4RQ&amp;ab_channel=DrupalAIVideos">https://www.youtube.com/watch?v=fyCd2fwR4RQ&amp;ab_channel=DrupalAIVideos</a></li> <li><strong>Scott Euser</strong>: I don't have anything constructive to say other than that I think this is super useful. Will be great for other contrib modules to leverage as well + eventually help with migration related things</li> </ul></li> <!--End thread--><!--Start top post--><li>3&#65039;&#8419; Other topics to discuss<br> <!--End top post--><!--Start thread--><ul> </ul> <!--End thread--></li> <!--Start top post--><li>3&#65039;&#8419; 1&#65039;&#8419; Topics without issues on d.o.<br> <!--End top post--><!--Start thread--><ul> <li><strong>valthebald</strong>: Improve the errors the assistant gives for common errorsAdd chat history to deepchatTweaks of alt text generatorPlanning assistant(edited)</li> <li><strong>valthebald</strong>: are those still relevant? if yes, I can create issues if still not created</li> <li><strong>Marcus Johansson</strong>: Improve the errors the assistant gives for common errors &lt;- This is in AI module since 1.0.4 and also in Drupal CMS 1.0.2.</li> <li><strong>valthebald</strong>: marked</li> <li><strong>yautja_cetanu (Jamie)</strong>: I can't remember what Chat history to deepchat is?</li> <li><strong>yautja_cetanu (Jamie)</strong>: Don't we have chat history? Is this more about being able to swap between threads or store history in the database?</li> <li><strong>valthebald</strong>: I guess, similar to OpenAI memory? (sorry, not that familiar with deepchat)</li> <li><strong>valthebald</strong>: does it already have history between sessions?</li> <li><strong>yautja_cetanu (Jamie)</strong>: It has history in the sessions, but not between sessions</li> <li><strong>yautja_cetanu (Jamie)</strong>: So if you close the page and come back it will still be there</li> <li><strong>yautja_cetanu (Jamie)</strong>: but "Clear chat" or leave it for a day that will kill the history</li> <li><strong>yautja_cetanu (Jamie)</strong>: so maybe "Long Term chat history" is better?</li> <li><strong>valthebald</strong>: yes, something like that</li> <li><strong>yautja_cetanu (Jamie)</strong>: We need a UI that allows you to save new "Chats" or threads and delete them then I think like in <a href="http://chat.openai.com">chat.openai.com</a> if you have long term history</li> </ul></li> <!--End thread--><!--Start top post--><li>3&#65039;&#8419; 2&#65039;&#8419; Branch 1.1.x is open<br> <!--End top post--><!--Start thread--><ul> <li><strong>valthebald</strong>: I think default branch should be changed to 1.1.x, and development release 1.1.x as well</li> <li><strong>valthebald</strong>: also, I'd encourage people to open new issues against 1.1.x (when not 1.0.x-specific), with backporting after the fix</li> </ul> <!--End thread--></li> <!--Start top post--><li>3&#65039;&#8419; 3&#65039;&#8419; Decoupled deep chat<br> <!--End top post--><!--Start thread--><ul> <li><strong>valthebald</strong>: AI assistant not necessarily should reside on the site itself, right?</li> <li><strong>valthebald</strong>: so, if we have oauth authorization on the chat side, we can communicate(and command) Drupal without entering it.</li> <li><strong>valthebald</strong>: This will allow progress in bot implementations via Telegram (allows mini-applications) and probably WhatsApp.</li> <li><strong>valthebald</strong>: What do you think?</li> <li><strong>yautja_cetanu (Jamie)</strong>: I think DeepChat is already decoupled? So we could have what you want now but it would need some module for that.</li> <li><strong>valthebald</strong>: it well may be! it's just I always saw it on drupal admin pages, not outside of it</li> <li><strong>valthebald</strong>: something that I'm eager to try &#128578;</li> <li><strong>yautja_cetanu (Jamie)</strong>: Well which way round do you mean:Do you mean DeepChat is able to interface with things that arn't AI Assistants and so control AI Agents provided by some external system (like langchain?)Or do you mean, that Assistants is decoupled from DeepChat, in that you can use a different front-end chatbot to control the same assistant (including external ones such as Whatsapp or Delegram)</li> <li><strong>valthebald</strong>: I mean, when DeepChat is outside of Drupal site, it needs some authentication mechanism. I.e. you don't want some anonymous user to add fields or define content types</li> <li><strong>yautja_cetanu (Jamie)</strong>: So I think the MCP module is aiming to provide that</li> <li><strong>yautja_cetanu (Jamie)</strong>: It looks like MCP currently only supports working with software locally but they are improving it to allow for authentication over the web</li> <li><strong>valthebald</strong>: I hope @Giorgi Jibladze can attend today's discussion</li> </ul></li> <!--End thread--><!--Start top post--><li>4&#65039;&#8419; Open mike! Suggest your topic<br> <!--End top post--><!--Start thread--><ul> <li><strong>Nick Opris</strong>: I was trying to build a map of all AI related modules in Drupal. I would love to know if there is a way to run a command (maybe in composer) to find all modules which require any of the core&nbsp; AI ones.</li> <li><strong>valthebald</strong>: there is this one[#3429343]</li> <li><strong>Nick Opris</strong>: If I can automate that list then I can have a live page automatically updated.</li> <li><strong>Nick Opris</strong>: Is that list manually maintained?</li> <li><strong>valthebald</strong>: I think yes</li> <li><strong>valthebald</strong>: you can get the full list of available packages with composer composer show -a | grep drupal&nbsp;(edited)</li> <li><strong>valthebald</strong>: and then maybe analyze which ones list drupal/ai as a dependency in their composer.json?</li> <li><strong>Nick Opris</strong>: <a href="https://packagist.org/packages/list.json?vendor=drupal">https://packagist.org/packages/list.json?vendor=drupal</a> Shouldn't drupal/ai come up here?&nbsp;(edited)</li> <li><strong>valthebald</strong>: no, because drupal uses another repository (<a href="https://packages.drupal.org/8">https://packages.drupal.org/8</a>)</li> <li><strong>yautja_cetanu (Jamie)</strong>: The diagram you made Nick. Might be worth posting it somewhere. I was thinking we should do something like this:</li> <li><strong>yautja_cetanu (Jamie)</strong>: So instead of "AI Providers" being a node in the diagram. Have it a lightly coloured (and from an aethetic point of view the slightly messy borders is nice) spacce around the AI provider modules to show they are all AI providers.</li> <li><strong>yautja_cetanu (Jamie)</strong>: There could be a point in the middle for them to all come off so they arn't all from the AI core module</li> <li><strong>yautja_cetanu (Jamie)</strong>: And then we can collect things thatr are linked to "Automators" (As there are a ton of them) in once place, things linked to Agents and Chat in one place and maybe Search in another</li> <li><strong>yautja_cetanu (Jamie)</strong>: Search and chat overlap so we could have a ven diagram where the colours mix?</li> <li><strong>Nick Opris</strong>: My main point is that it needs to update programmatically. Given the long list we already have it will be hard to maintain this over time if the only way to make it is manually.</li> <li><strong>yautja_cetanu (Jamie)</strong>: yeah ok</li> <li><strong>yautja_cetanu (Jamie)</strong>: We can do the above somewhat automatically by tagging each of the modules with the thing that is the background colour</li> <li><strong>valthebald</strong>: normally, if module maintainers associate the module with certain ecosystem, it should be automatically listed</li> <li><strong>Nick Opris</strong>: we can look at dependencies but it may not always be exact</li> </ul></li> <li><strong>yautja_cetanu (Jamie)</strong>: 5&#65039;&#8419; General Updates from me</li> <li><strong>yautja_cetanu (Jamie)</strong>: Looking to really push this stuff with function calling and actions. My dream is one where:We have a UI that allows you to create an Agent by calling it something, writing a prompt. Selecting the tools.One special tool will be "Handoffs" where basically it can call another agent and ask it to do something.You can then create a "Swarm" of agents. An initial Triage Agent that then has tools or agents to pass things off to.I want to see minikanban upgraded to use the AI module. (D11 will take a little time but d10 is fine for now).You can then create your "Swarm" in the minikanban UI and maybe click a button to see what agents are available for that swarm.This means you can create all your agents and swarm and then fire them off in the minikanban and see them go.I want to see "Review" agents so that Agents can loop. They do something, get it reviewed and if it doesn't pass review they do it again. They can also pass it on to humans to review, comment on and then pass it on.The list of tools will be "Resources" which provide it informatioin from search, files, the web or Drupal Contexts.The other kind of Tool will be an action tool and you can select from Drupal Actions and ECA actions.This is my dream :)</li> <!--End thread--><p>Participants:</p> <p>thejimbirch, Marcus Johansson, valthebald, yautja_cetanu (Jamie), Jayjitraj jadeja, Joonas Meril&auml;inen, michaellander, Jasper Lammens, Scott Euser, Nick Opris</p>
issue