Chatbot Engine: Dynamic, configurable conversations
メンテナーはふだん 1 日以内に返信
@Ayush8923 がすでに取り組んでいます。
2026年10月5日 から。
評価
この issue はまだ評価されていません。
説明
Describe the current behavior
As a first step (#1210), we built a read-only /agent endpoint: a single, static LangGraph agent that answers natural-language questions about a tenant own eval runs, datasets, etc. It is "static" in two senses:
- The graph itself is fixed in code, one
agent_node/tool_executor_nodeloop, hand-written, the same for every caller. - The toolset is a fixed, hand-written registry of read-only GET wrappers (
list_evaluation_runs,get_collection, etc.), the agent picks which of these to call and in what order, but the set of available tools and the conversation shape never change per request.
That's the right shape for "ask a question, get an answer" over existing data. It is not the right shape for the next use case below, where the conversation itself needs to be admin-configurable, stateful across many turns/days, and able to take write-side actions (set a reminder, etc.), not just read.
Describe the enhancement you'd like
We want to generalize from "one static read-only agent" to a dynamic, admin-configurable conversational bot flow engine, the foundation for use cases like NGO onboarding on Glific:
When an NGO onboards, today they fill out a static form. We want to replace this with a chatbot that asks a configurable sequence of questions one at a time, analyzes each answer, and, if the user doesn't answer a question, retries up to an admin-configured count before applying an admin-configured fallback (skip the question, end the conversation, escalate, etc.). The flow (questions, retry/skip rules, branching) must be fully dynamic/admin-authored, not hand-coded per bot. The bot also has access to an admin-selectable catalogue of tools (Recurring Reminder, One-off Reminder, Delete Reminder, etc.) that it can call autonomously, the same way #1210's agent calls read-only Kaapi endpoints.
we define the overall direction here at a high level, then detail only Stage 0. Later stages are scoped after learnings from the previous one, so we keep room to pivot.
| Stage | Description |
|---|---|
| Stage 0 | Config-driven question sequence, retry/skip logic, simple per-node tool selection from a fixed catalogue. |
| Stage 1 | TBD based on Stage 0 learnings. |
| Stage 2+ | TBD (scheduling, reminders, branching, admin UI). |
Stage 0: detailed spec
Goal: admin authors a flow as a linear sequence of nodes. The bot asks questions one at a time over WhatsApp/Glific, retries on non-answers, and at designated steps can call tools the admin selected when authoring that node. Session state is persisted across turns (conversations can span hours/days).
Example config blob
{
"nodes": [{
"id": "intake",
"type": "collector",
"goal": "Onboard a new beneficiary warmly; ask one thing at a time, in their language.",
"fields": [
{"key": "location", "description": "District and state", "type": "string", "required": true, "max_asks": 2, "on_exhausted": "skip"},
{"key": "occupation", "description": "Current work", "type": "string", "required": false, "max_asks": 2, "on_exhausted": "skip"},
{"key": "consent", "description": "Agrees to be contacted", "type": "boolean", "required": true, "max_asks": 2, "on_exhausted": "end_conversation"}
],
"tools": ["end_session"],
"llm": {"config_id": "...", "version": 3}
}],
"edges": []
}
Reference: Open Chat Studio (OCS)
- we looked at OCS (github.com/dimagi/open-chat-studio) as a reference
- 主要言語
- Python
- スター
- 18
- フォーク
- 11
- 平均マージ
- 3日 2時間
- マージ済み PR(30日)
- 7
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ProjectTech4DevAI/kaapi-backend のほかの issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
ProjectTech4DevAI/kaapi-backend#889 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
ProjectTech4DevAI/kaapi-backend#269 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
API Management: Restrict Gemini API keys対応中かも @Prajna1999 が 1 日前に担当しました。 オープン
ProjectTech4DevAI/kaapi-backend#1239 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Migration: Update to Google Gen AI対応中かも @Prajna1999 が 3 日前に担当しました。 オープン
ProjectTech4DevAI/kaapi-backend#1238 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
Deployment: Update AWS account configuration対応中かも @Ayush8923 が 4 日前に担当しました。 オープンinfrastructure
ProjectTech4DevAI/kaapi-backend#1236 · コメント 1 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
ProjectTech4DevAI/kaapi-backend の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
awslabs/visual-asset-management-system#414 ·
メンテナーはふだん 1 日以内に返信
-
bug v1 v2
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
modelcontextprotocol/python-sdk#3670 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
aicell-lab/bioengine#232 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
modelscope/evalscope#1836 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100