codepapu

Work · Shipping · 5 min

Permission-aware AI chat for Liferay DXP — OSGi in-portal assistant with charts, screenshots, and admin forms.

Liferay DXP 2026.Q2 · OSGi · React · LangChain4j · Java 21

Open playbook

Demo

Lyfre 2.0 — full product tour

Architecture

From the real workspace — how the pieces fit.

Lyfre

In-portal AI assistant · caller identity on every call

lyfre-app

React custom element · docked panel · 12 languages · streaming SSE

session · signed-in only

lyfre-chatbot-rest

/o/lyfre-chatbot · LangChain4j · Java 21

caller sessionany OpenAI-compatible LLM
tool calling

Read tools

Search · sites · docs · objects · commerce

Data Insights

Live charts · PNG export · date chips

Admin forms

Model opens form · human confirms write

Site seed: lyfre-site-setup-api · lyfre-site-bootstrap

A vertical chat stack: React bubble → OSGi /o/lyfre-chatbot → tools & forms as the signed-in user.

Lyfre is an AI assistant that lives inside Liferay DXP. It answers questions about portal content, users, commerce, and custom objects, draws live charts, and opens guided forms for admin changes — always as the signed-in user.

Status

Completed / shipping as Lyfre 2.0 on Liferay DXP 2026.Q2. The older Spring Boot microservice path is gone; the brain is an OSGi JAX-RS module at /o/lyfre-chatbot.

What it does

  • Docked chat on any DXP page — site-aware and permission-aware.
  • Read tools for search, sites, pages, web content, documents, commerce, objects, workflow tasks, and more.
  • Data Insights charts with date ranges, table view, and PNG export.
  • Image questions (screenshot → vision model) and streaming answers.
  • Admin writes only through guided forms — the model never writes directly.

How it ships

  • lyfre-chatbot-rest — chat API, tools, forms, Data Insights, settings.
  • lyfre-site-setup-api + lyfre-site-bootstrap — company config and idempotent site seed.
  • lyfre-app — React custom element (assistant-ui, Tailwind, shadcn).