Новости Joomla

Process Forge — фреймворк для создания AI-процессов.

Process Forge — фреймворк для создания AI-процессов.

На новогодних каникулах 2026 в одном из чатов Joomla-сообщества коллега по цеху поделился промптом для ИИ-агента и результатом этого промпта. За неделю до этого он впервые попробовал Gemini CLI. Я до этого ИИ пользовался только в веб версиях и в целом меня это устраивало. Увидев простыню текста, запрос в CLI и простыню ответа первое, что меня охватило: "Я НЕ ХОЧУ вот это всё изучать! Опять что-то новое, надоело...".

Потом были стадии проб и ошибок, попыток использовать готовые пакеты community skills с гитхаба с ролевым внушением "ты супер-пупер мега-бэкенд-Joomla разработчик с 40-летним опытом, сделай мне красиво". Где-то в середине этого полугодия я стал формализовать свои процессы (а это не только разработка, но и SEO, аналитика, бизнес-аналитика, проработка и выстраивание процессов и т.д., но в итоге это, как правило, или связано с или ведёт к сайту на Joomla). Формализация привела к моему пониманию некоторых базисов, которые общие для всех процессов. Об этом чуть ниже.

Теперь я хочу представить на суд уважаемой публике свои наработки по фреймворку для создания формализованных процессов работы для ИИ-агентов - Process Forge.

- Читать статью на Хабре
- Process Forge (GitHub)

@joomlafeed

Компонент Joomla 6: Генератор LLMs.txt.

Компонент Joomla 6: Генератор LLMs.txt.

Компонент Joomla 6: Генератор LLMs.txt.

Ещё один генератор ИИ-файлов llms.txt и llms-full.txt.

Основные особенности/возможности компонента:

  • Генерация по стандарту: Автоматическое создание файла-визитки llms.txt и расширенной версии llms-full.txt с аннотированным списком материалов.
  • Интеллектуальная работа с контентом: Компонент использует мета-описания (Meta Description) из статей и пунктов меню, превращая SEO-настройки сайта в качественный контекст для нейросетей.
  • Просмотреть результат генерации файлов можно сразу в рабочей области компонента. После внесения корректив (через Настройки компонента. При отладке лучше открыть три вкладки в браузере: Настройка — Геренация/Превью — Список Материалов/Категории/Меню.) — проводим перегенерацию, смотрим результат до полной «победы».
  • Автоматизация и безопасность: Синхронизация с sitemap.xml, группировка по категориям и автоматическое создание резервных копий (.bak) при каждой генерации.
  • Гибкое управление: Возможность исключения определенных категорий и/или статей и/или пунктов меню, а также простая настройка через стандартную админпанель Joomla.
  • Подробное руководство/справка: Пошаговая инструкция для пользователя в Настройках компонента для редакторов с базовым знанием администрирования Joomla.

👉 Важно учесть.
1️⃣ Компонент Генератор LLMs.txt изначально составляет базовый список ссылок на основе sitemap.xml и сверяется с ним на предмет: запрета индексации url в robots.txt, тегов noinex/nofollow. Это экономит время на проверку «закрыть от индексации», поскольку компонент генерации Sitemap.xml уже реализовал эту задачу. Посему, формирование ссылок для ИИ имеет комплексный подход, составление грамотного/валидного/релевантного sitemap.xml никто не отменял.

2️⃣ Тексты-описания ссылок формируются из Meta Description com_content (только компонент Материалы) и выбранных пользователем Меню сайта. Важно, чтобы Meta Description были уникальными и релевантными, соответствовали базовому seo. Составленные «на отшибись» Description для ИИ — «не катит» (впрочем, для поисковых систем они тоже «не канали»).

Разработчик - участник нашего сообщества Александр Кузнецов (@newvksan).

Страница расширения

@joomlafeed

#joomla #ии #ai

0 Пользователей и 1 Гость просматривают эту тему.
  • 24 Ответов
  • 5692 Просмотров
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Кто нибудь делал чтобы в описании, при вводе в поле, снизу писалось сколько символов осталось.
« Последнее редактирование: 25.02.2010, 11:54:01 от AlexAl »
*

Aspik

  • Давно я тут
  • 542
  • 63 / 2
  • В личку не писать, не отвечу.
Re: Кто реализовывал подобное?
« Ответ #1 : 24.02.2010, 17:12:52 »
Кто нибудь делал чтобы в описании, при вводе в поле, снизу писалось сколько символов осталось.
Интересное предложение! В эту же тематику, как вывести редактор?
Мои расширения - http://eco-joom.com/ru/
*

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
Re: Кто реализовывал подобное?
« Ответ #2 : 24.02.2010, 17:20:13 »
Кто нибудь делал чтобы в описании, при вводе в поле, снизу писалось сколько символов осталось.
Вам надо в сторону jquery глядеть :) там все легко.
Интересное предложение! В эту же тематику, как вывести редактор?
Поиск рулит :) тут уже обсуждалось это
« Последнее редактирование: 24.02.2010, 17:27:08 от GlooM »
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Re: Кто реализовывал подобное?
« Ответ #3 : 25.02.2010, 11:53:22 »
Цитировать
Вам надо в сторону jquery глядеть Azn там все легко.
Вариант предложены GlooM мне не понравился, что то он громоздкий. 

покажу что у меня получилось, делал под свои нужны, поэтому показываю что у меня.
Стандартная функция  onkeypress='CaracMax(this, $field->maxlength)  каторая вызывается когда мы вводим текст в поле типа textarea.
Она при вводу возвращает текст минус 1 символ. Как вы поняли ее можно обмануть вставив большой текст из буфера.

Мне же хотелось чтобы из буфера не льзя вставить, ну и самое главное отображалось сколько осталось символов.
Данная необходимость у меня есть только в типе поле textarea. поэтому пример именно на нем.

Открываем файл  adsmanager.html.php

ищем строки (это не особо важно куда вставлять)
Код
function CaracMax(texte, max)
                {
                        if (texte.value.length >= max)
                        {
                                texte.value = texte.value.substr(0, max - 1) ;
                        }
                }
                </script>

после этого скрипта я вставляю свой
Код
<script type="text/javascript">
function limitText(limitField, limitCount, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
} else {
limitCount.value = limitNum - limitField.value.length;
}
}
</script>

Далее ищем код
Код
ase 'textarea':
                                                if ($field->editable == 0)


вместо
Код
if ($field->required == 1)
                                                        echo "<textarea class='adsmanager_required' mosReq='1' mosLabel='$strtitle' id='$name' name='$name' cols='".$field->cols."' rows='".$field->rows."' wrap='VIRTUAL' onkeypress='CaracMax(this, $field->maxlength) ;' $read_only>$value</textarea>\n";
                                                else
                                                        echo "<textarea class='adsmanager' id='$name' mosLabel='$strtitle' name='$name' cols='".$field->cols."' rows='".$field->rows."' wrap='VIRTUAL' onkeypress='CaracMax(this, $field->maxlength) ;' $read_only>$value</textarea>\n";
                                                break;


Меняем на
Код
                                                if ($field->required == 1)
                                                {
                                                       echo "<textarea class='adsmanager_required' mosReq='1' mosLabel='$strtitle' id='$name' name='$name' cols='".$field->cols."' rows='".$field->rows."' wrap='VIRTUAL' onKeyDown='limitText(this,name=count$name, $field->maxlength);' onKeyUp='limitText(this,name=count$name, $field->maxlength);' $read_only>$value</textarea>  \n";
                                                       echo "<br>   ";
                                                       echo ADSMANAGER_COUNT_TEXT;
                                                       echo "<input readonly type='text' name=count$name size='3' value='$field->maxlength'/> ";
                                                }
                                                else 
                                                {
                                                        echo "<textarea class='adsmanager' id='$name' mosLabel='$strtitle' name='$name' cols='".$field->cols."' rows='".$field->rows."' wrap='VIRTUAL' onKeyDown='limitText(this,name=count$name, $field->maxlength);' onKeyUp='limitText(this,name=count$name, $field->maxlength);' $read_only>$value</textarea>\n";
                                                        echo "<br>   ";
                                                        echo ADSMANAGER_COUNT_TEXT;
                                                        echo "<input readonly type='text' name=count$name size='3' value='$field->maxlength'/> ";
                                                }
                                                break;

вот так выглядит
*

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
Цитировать
Вариант предложены GlooM мне не понравился, что то он громоздкий.
Это первая ссылка Googla ;)

А так, хорошее и интересное решение!
« Последнее редактирование: 25.02.2010, 12:22:35 от GlooM »
*

samson56633

  • Осваиваюсь на форуме
  • 37
  • 7 / 1
  • Самсон
Все  бы хорошо, но пропал текст при просмотре объявления!
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
 странно тестил все ок. дайте ссылку
*

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
Протестировал на своей площадке — все работает!
*

samson56633

  • Осваиваюсь на форуме
  • 37
  • 7 / 1
  • Самсон
странно тестил все ок. дайте ссылку
ссылку пока дать не могу    еще на денвере пока.  
А на каком АДС  Вы это делали?  У меня версия 2.5 RC2
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
У меня версия 2.5 RC2  Joomla 1.5
*

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
Re: Кто реализовывал подобное? {РЕШЕНО}
« Ответ #10 : 26.02.2010, 12:04:01 »
Я на версии AdsManager 2.5 RC2 Joostina 1.2.0
*

Sakhalin

  • Захожу иногда
  • 162
  • 6 / 0
Re: Кто реализовывал подобное? {РЕШЕНО}
« Ответ #11 : 26.02.2010, 12:11:11 »
Всё пошло отлично! 2.5 RC2  Joomla 1.5 . Спасибо! AlexAl +
*

Sakhalin

  • Захожу иногда
  • 162
  • 6 / 0
Re: Кто реализовывал подобное? {РЕШЕНО}
« Ответ #12 : 26.02.2010, 14:24:47 »
AlexAl, а как сделать чтобы текст объявления все-таки можно было добавлять из буфера? А то немного не удобно получается...
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Re: Кто реализовывал подобное? {РЕШЕНО}
« Ответ #13 : 26.02.2010, 14:49:16 »
Что не удобно? кто вам мешает копируйте текст из буфера, все что не влезет обрубится!  или я что то не понял
*

Sakhalin

  • Захожу иногда
  • 162
  • 6 / 0
Re: Кто реализовывал подобное? {РЕШЕНО}
« Ответ #14 : 26.02.2010, 14:51:52 »
В том то всё и дело, что при вставке текста из буфера, он отображается в окне, нажимаешь сохранить объявление, а показывает что оно пустое, только заголовок висит.
« Последнее редактирование: 26.02.2010, 14:56:57 от Sakhalin »
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Re: Кто реализовывал подобное? {РЕШЕНО}
« Ответ #15 : 26.02.2010, 15:30:01 »
Прошу простить меня, удевлен как это вообще работало.
вот правильный код.
Код
                                                if ($field->required == 1)
                                                {
                                                       echo "<textarea class='adsmanager_required' mosReq='1' mosLabel='$strtitle' id='$name' name='$name' cols='".$field->cols."' rows='".$field->rows."' wrap='VIRTUAL' onKeyDown='limitText(this,count$name, $field->maxlength);' onKeyUp='limitText(this,count$name, $field->maxlength);' $read_only>$value</textarea>  \n";
                                                       echo "<br>   ";
                                                       echo ADSMANAGER_COUNT_TEXT;
                                                       echo "<input readonly type='text' name=count$name size='3' value='$field->maxlength'/> ";
                                                }
                                                else
                                                {
                                                        echo "<textarea class='adsmanager' id='$name' mosLabel='$strtitle' name='$name' cols='".$field->cols."' rows='".$field->rows."' wrap='VIRTUAL' onKeyDown='limitText(this,count$name, $field->maxlength);' onKeyUp='limitText(this,count$name, $field->maxlength);' $read_only>$value</textarea>\n";
                                                        echo "<br>   ";
                                                        echo ADSMANAGER_COUNT_TEXT;
                                                        echo "<input readonly type='text' name=count$name size='3' value='$field->maxlength'/> ";
                                                }
                                                break;
*

Sakhalin

  • Захожу иногда
  • 162
  • 6 / 0
Re: Кто реализовывал подобное? {РЕШЕНО}
« Ответ #16 : 26.02.2010, 18:18:21 »
AlexAl, вот спасибо!  ^-^
*

samson56633

  • Осваиваюсь на форуме
  • 37
  • 7 / 1
  • Самсон
Re: Кто реализовывал подобное? {РЕШЕНО}
« Ответ #17 : 26.02.2010, 18:32:03 »
спасбочки!  Теперь все ОК
*

uf1976

  • Захожу иногда
  • 242
  • 6 / 5
Re: Кто реализовывал подобное? {РЕШЕНО}
« Ответ #18 : 28.02.2010, 12:07:38 »
Великолепно!
*

Night

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Re: Кто реализовывал подобное? {РЕШЕНО}
« Ответ #19 : 05.03.2010, 13:36:34 »
У меня вместо  Осталось символов - пишет ADSMANAGER_COUNT_TEXT. Это можно поправить как-нить?
*

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
Re: Кто реализовывал подобное? {РЕШЕНО}
« Ответ #20 : 05.03.2010, 13:38:17 »
У меня вместо  Осталось символов - пишет ADSMANAGER_COUNT_TEXT. Это можно поправить как-нить?
В языковом файле создайте метку.
Код
DEFINE( "ADSMANAGER_COUNT_TEXT","Осталось символов");
*

Night

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Re: Кто реализовывал подобное? {РЕШЕНО}
« Ответ #21 : 05.03.2010, 13:44:26 »
В языковом файле создайте метку.
Код
DEFINE( "ADSMANAGER_COUNT_TEXT","Осталось символов");


Ах, спасибо, мил человек. Все никак не найду где ж тут плюсики жмакать. А отблагодарить охото... =(
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Re: Кто реализовывал подобное? {РЕШЕНО}
« Ответ #22 : 22.04.2010, 22:47:57 »
Спасибо работает
С фантазией плохо.
*

боб

  • Новичок
  • 3
  • 0 / 0
Re: Кто реализовывал подобное? {решено}
« Ответ #23 : 14.02.2013, 19:07:50 »
Помогите чайнику! В Kunena 2.0.4 не появляются кнопки изменить аватар в профиле. Папки есть посмотрел. Может скрипты?
*

AdWeb

  • Давно я тут
  • 878
  • 31 / 3
Re: Кто реализовывал подобное? {решено}
« Ответ #24 : 15.02.2013, 16:25:24 »
для версии 2.7 и Joomla 2.5.9 есть подобное решение?
| Хороший Хостинг | Купить Хикашоп | Каталог перекладів Joomla компонентів
PS. спасибо кидать через вебмани: R152456839841 если плюсикофф не хватает :)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено]Дублирования ссылки "объвления" в breadcrumb, в компоненте AdsManager

Автор nicklas

Ответов: 4
Просмотров: 9720
Последний ответ 25.04.2024, 23:13:18
от Rinat abzyi
[Решено] Похожие объявления в AdsManager 2.9.13

Автор Ishti39

Ответов: 17
Просмотров: 5890
Последний ответ 06.06.2017, 22:08:18
от gremeru777
[Решено] IP адрес разместившего объявление в ADS 2.5 Как ?

Автор semo777

Ответов: 20
Просмотров: 5713
Последний ответ 15.03.2017, 22:22:15
от lustoff
(решено) re captcha не работала на AdsManager

Автор zvi

Ответов: 3
Просмотров: 2943
Последний ответ 10.01.2017, 08:41:57
от svoyak70
(Решено) Уведомления на e-mail - как получать данные со всех полей?

Автор nalegramus

Ответов: 6
Просмотров: 2903
Последний ответ 02.06.2016, 19:41:35
от biper