Context
Upstream PR MervinPraison/PraisonAI#1491 — "fix(onboard): drop unused home_channel + trim confusing prompts (4 fewer questions)" — has been merged to main (head SHA f5230ef).
The PR simplifies the praisonai onboard wizard in response to real user feedback:
"I didn't understand TELEGRAM_HOME_CHANNEL"
"don't you think we are asking too many questions?"
The wizard has gone from 9 prompts → 4 prompts, a dead YAML key has been removed from generated bot.yaml files, and a real bug (typing n at the "Config file path" prompt created a literal file named n in cwd) has been fixed.
This issue tracks the documentation work required in MervinPraison/PraisonAIDocs to reflect these user-facing changes. A follow-up agent should pick up this issue and land the doc updates.
What changed in the SDK (ground truth)
Source file: praisonai/cli/features/onboard.py (in praisonai-package/src/praisonai/).
1. Prompts removed from the wizard
| # |
Prompt (removed) |
Why it was removed |
| 4 |
Home channel / user ID for proactive messages (TELEGRAM_HOME_CHANNEL) (all 4 platforms) |
No code path in the gateway consumed it. DeliveryTarget.channel_id is set per-job by the scheduler; home_channel was dead config that confused non-developer users. |
| 5 |
Agent name |
95% of users pressed Enter. Default (assistant) is already applied in __init__. Power users edit bot.yaml directly. |
| 6 |
Agent instructions |
Same pattern — default "You are a helpful AI assistant." already applied. |
| 7 |
Config file path |
Now always writes to the canonical ~/.praisonai/bot.yaml. Fixes the bug where typing n (meaning "no") created a literal file named n in the current working directory. Overwrite-confirm still guards existing files. |
2. Prompts that remain (the "4 real questions")
- Platform(s) — Telegram / Discord / Slack / WhatsApp
- Token — bot token (hidden input, validated)
- Allowed user IDs — security allowlist (per-platform)
- Install as background service? — launchd / systemd / Windows Task
3. Dead YAML emit removed from _generate_bot_yaml
The home_channel: ${{TELEGRAM_HOME_CHANNEL}} (and sibling) lines are no longer written into generated bot.yaml files.
4. PLATFORMS dict fields
The home_channel_env key was removed from every platform entry in the PLATFORMS dict:
TELEGRAM_HOME_CHANNEL — no longer declared
DISCORD_HOME_CHANNEL — no longer declared
SLACK_HOME_CHANNEL — no longer declared
WHATSAPP_HOME_CHANNEL — no longer declared
A regression test (test_onboard_security.py) now asserts the absence of home_channel_env so a future copy-paste can't silently re-introduce dead config.
5. _save_env_vars comment updated
Docstring now says None values remove keys "e.g. dropping an allowlist" (the previous reference to home-channel has been dropped).
6. UX polish on Step 5
The "Written to ~/.praisonai/bot.yaml" line now formats the path in cyan, and the overwrite prompt now reads:
{path} exists. Overwrite with fresh config?
(previously just Overwrite?) with a clearer skip message: Kept existing file (was: Skipped).
Documentation impact — grep results
A full grep of docs/ was performed for home_channel, HOME_CHANNEL, Config file path, Agent name, Agent instructions, and the TELEGRAM/DISCORD/SLACK/WHATSAPP env-var names.
Good news: No current docs page enumerates the removed prompts or mentions home_channel by name. So the blast radius is small — no broken code blocks to chase down.
What does need updating:
Primary: docs/features/onboard.mdx (update — not rewrite)
This is the canonical onboarding page. Today it describes the wizard in 3 abstract steps (platform → token → daemon) and does not show the real prompt list. With the new leaner flow, we can be explicit and honest about exactly what users will see. Recommended edits:
Secondary: docs/install/installer.mdx (light touch)
No change required
These pages were checked and do not reference the removed prompts or home_channel:
docs/install/quickstart.mdx (only has the generic "Set up a messaging bot" prompt line, unchanged)
docs/best-practices/bot-security.mdx (uses a conceptual allowlist: YAML; no home_channel mention)
docs/features/messaging-bots.mdx, docs/features/gateway.mdx, docs/features/bot-gateway.mdx, docs/features/bot-routing.mdx — describe allowed_users / BotConfig, not the onboard wizard
docs/tools/external/{telegram,discord,slack}.mdx — platform tool docs, unrelated to home_channel
docs/concepts/bot-os.mdx, docs/concepts/bot-vs-gateway.mdx — architecture concepts, no prompt references
docs/cli/bot.mdx — bot start command, unaffected
⚠️ Do not edit docs/concepts/ — per AGENTS.md §1.8 that folder is HUMAN ONLY. All updates for this issue belong in docs/features/onboard.mdx and docs/install/installer.mdx.
Suggested rewrite — primary page outline
Here's a concrete outline the follow-up agent can use for docs/features/onboard.mdx. Keep the existing hero Mermaid diagram and overall structure (it already follows AGENTS.md §2), and replace / augment the sections below:
Replace Quick Start <Steps> with the real 4-question flow
## Quick Start
<Steps>
<Step title="Run the wizard">
\`\`\`bash
praisonai onboard
\`\`\`
</Step>
<Step title="Answer 4 questions">
The wizard asks exactly 4 questions — everything else uses sensible defaults:
1. **Which platform(s)?** — Telegram, Discord, Slack, WhatsApp (multi-select)
2. **Paste your bot token** — hidden input, validated against the platform API
3. **Allowed user IDs** — comma-separated allowlist (security). Leave blank for open access (not recommended).
4. **Install as a background service?** — `Y` on desktop, auto-skipped on CI/headless.
</Step>
<Step title="You're done">
The wizard writes `~/.praisonai/bot.yaml`, persists tokens to `~/.praisonai/.env` (chmod 600), and shows the ✅ Done panel with your dashboard URL.
</Step>
</Steps>
Add a "What the wizard writes" section
## What The Wizard Writes
| File | Contents |
|------|----------|
| `~/.praisonai/bot.yaml` | Platform routing, token env-var references, allowlist, agent defaults |
| `~/.praisonai/.env` | Bot token(s), `*_ALLOWED_USERS`, `GATEWAY_AUTH_TOKEN` (chmod 600) |
Agent name (`assistant`) and instructions (`"You are a helpful AI assistant."`) use sensible defaults — edit `~/.praisonai/bot.yaml` to customise. The file contains the full schema as inline documentation.
Add the migration note
<Note>
**Upgrading?** Older `bot.yaml` files may contain a `home_channel: ${TELEGRAM_HOME_CHANNEL}` line (or the equivalent for Discord / Slack / WhatsApp). This was never read by the gateway and is safe to delete. Re-running `praisonai onboard` and accepting the overwrite regenerates a clean file.
</Note>
Reference: the full PR diff (for the agent that picks this up)
The synced mirror at praisonaidocs/praisonai/cli/features/onboard.py (refreshed daily by update_repos.sh) will pick up the new code automatically — verify against that file before writing the docs (per AGENTS.md §1.2 SDK-first cycle).
Acceptance criteria
Context
Upstream PR MervinPraison/PraisonAI#1491 — "fix(onboard): drop unused home_channel + trim confusing prompts (4 fewer questions)" — has been merged to
main(head SHAf5230ef).The PR simplifies the
praisonai onboardwizard in response to real user feedback:The wizard has gone from 9 prompts → 4 prompts, a dead YAML key has been removed from generated
bot.yamlfiles, and a real bug (typingnat the "Config file path" prompt created a literal file namednin cwd) has been fixed.This issue tracks the documentation work required in
MervinPraison/PraisonAIDocsto reflect these user-facing changes. A follow-up agent should pick up this issue and land the doc updates.What changed in the SDK (ground truth)
Source file:
praisonai/cli/features/onboard.py(inpraisonai-package/src/praisonai/).1. Prompts removed from the wizard
Home channel / user ID for proactive messages (TELEGRAM_HOME_CHANNEL)(all 4 platforms)DeliveryTarget.channel_idis set per-job by the scheduler;home_channelwas dead config that confused non-developer users.Agent nameassistant) is already applied in__init__. Power users editbot.yamldirectly.Agent instructions"You are a helpful AI assistant."already applied.Config file path~/.praisonai/bot.yaml. Fixes the bug where typingn(meaning "no") created a literal file namednin the current working directory. Overwrite-confirm still guards existing files.2. Prompts that remain (the "4 real questions")
3. Dead YAML emit removed from
_generate_bot_yamlThe
home_channel: ${{TELEGRAM_HOME_CHANNEL}}(and sibling) lines are no longer written into generatedbot.yamlfiles.4.
PLATFORMSdict fieldsThe
home_channel_envkey was removed from every platform entry in thePLATFORMSdict:TELEGRAM_HOME_CHANNEL— no longer declaredDISCORD_HOME_CHANNEL— no longer declaredSLACK_HOME_CHANNEL— no longer declaredWHATSAPP_HOME_CHANNEL— no longer declaredA regression test (
test_onboard_security.py) now asserts the absence ofhome_channel_envso a future copy-paste can't silently re-introduce dead config.5.
_save_env_varscomment updatedDocstring now says
Nonevalues remove keys "e.g. dropping an allowlist" (the previous reference tohome-channelhas been dropped).6. UX polish on Step 5
The "Written to ~/.praisonai/bot.yaml" line now formats the path in cyan, and the overwrite prompt now reads:
(previously just
Overwrite?) with a clearer skip message:Kept existing file(was:Skipped).Documentation impact — grep results
A full grep of
docs/was performed forhome_channel,HOME_CHANNEL,Config file path,Agent name,Agent instructions, and the TELEGRAM/DISCORD/SLACK/WHATSAPP env-var names.Good news: No current docs page enumerates the removed prompts or mentions
home_channelby name. So the blast radius is small — no broken code blocks to chase down.What does need updating:
Primary:
docs/features/onboard.mdx(update — not rewrite)This is the canonical onboarding page. Today it describes the wizard in 3 abstract steps (platform → token → daemon) and does not show the real prompt list. With the new leaner flow, we can be explicit and honest about exactly what users will see. Recommended edits:
<Steps>block so it reflects the real 4-question flow: Platform, Token, Allowed user IDs, Install as background service. Show actual terminal output snippets, not abstract placeholders.## What The Wizard Askssection (or extend "How It Works") with a table of the 4 prompts, what each one sets, and what the generatedbot.yamlcontains.<Info>callout: "Agent name and instructions use sensible defaults (assistant/"You are a helpful AI assistant."). Edit~/.praisonai/bot.yamlafter onboarding to customise them — the full schema is in the generated file."~/.praisonai/bot.yaml(no longer prompted for). Link topraisonai doctorfor discovering the path.{path} exists. Overwrite with fresh config?withKept existing fileon decline.<Warning>or<Note>block): "Upgrading from an older install? Your existingbot.yamlmay contain ahome_channel: ${TELEGRAM_HOME_CHANNEL}line — this was never consumed by the gateway and is safe to delete. Re-runningpraisonai onboardand accepting the overwrite will generate a clean file."Secondary:
docs/install/installer.mdx(light touch)--no-onboard/PRAISONAI_NO_ONBOARDdocs.No change required
These pages were checked and do not reference the removed prompts or
home_channel:docs/install/quickstart.mdx(only has the generic "Set up a messaging bot" prompt line, unchanged)docs/best-practices/bot-security.mdx(uses a conceptualallowlist:YAML; nohome_channelmention)docs/features/messaging-bots.mdx,docs/features/gateway.mdx,docs/features/bot-gateway.mdx,docs/features/bot-routing.mdx— describeallowed_users/BotConfig, not the onboard wizarddocs/tools/external/{telegram,discord,slack}.mdx— platform tool docs, unrelated tohome_channeldocs/concepts/bot-os.mdx,docs/concepts/bot-vs-gateway.mdx— architecture concepts, no prompt referencesdocs/cli/bot.mdx—bot startcommand, unaffectedSuggested rewrite — primary page outline
Here's a concrete outline the follow-up agent can use for
docs/features/onboard.mdx. Keep the existing hero Mermaid diagram and overall structure (it already followsAGENTS.md§2), and replace / augment the sections below:Replace Quick Start
<Steps>with the real 4-question flowAdd a "What the wizard writes" section
Add the migration note
Reference: the full PR diff (for the agent that picks this up)
fix/onboard-lean-prompts→mainf5230ef062991b309c3ce794783055abcff97df4src/praisonai/praisonai/cli/features/onboard.py(+41 / -63),src/praisonai/tests/unit/cli/test_onboard_security.py(+16 / -7)2 files changed, 57 insertions(+), 70 deletions(-)The synced mirror at
praisonaidocs/praisonai/cli/features/onboard.py(refreshed daily byupdate_repos.sh) will pick up the new code automatically — verify against that file before writing the docs (perAGENTS.md§1.2 SDK-first cycle).Acceptance criteria
docs/features/onboard.mdxshows the real 4-question flow and no longer implies there are extra prompts for agent name / instructions / config path.home_channelYAML line so upgrading users aren't confused.docs/install/installer.mdxPost-Install Flow section mentions "4 questions" (one-liner + link).docs/concepts/is touched (perAGENTS.md§1.8).docs.jsonis untouched — this is a content edit, not a new page.<Steps>,<Note>,<AccordionGroup>,<CardGroup>) used perAGENTS.md§4.mainfor review.