Skip to content

docs: Document bind-aware gateway/UI authentication posture#222

Open
MervinPraison wants to merge 1 commit intomainfrom
claude/issue-221-20260422-1154
Open

docs: Document bind-aware gateway/UI authentication posture#222
MervinPraison wants to merge 1 commit intomainfrom
claude/issue-221-20260422-1154

Conversation

@MervinPraison
Copy link
Copy Markdown
Owner

@MervinPraison MervinPraison commented Apr 22, 2026

Fixes #221

Summary

This PR implements comprehensive documentation for the bind-aware authentication posture feature introduced in PraisonAI PR #1517. The feature automatically changes security behavior based on the interface the gateway and UI bind to — permissive on loopback, strict on external.

Changes

New Documentation

  • docs/features/gateway-bind-aware-auth.mdx - Complete feature documentation with:
    • Hero Mermaid diagram following standard color scheme
    • Quick Start examples for local and external deployment
    • Interface detection table and auth mode explanations
    • Environment variables reference
    • Error handling documentation
    • Token fingerprinting explanation
    • User flow examples and decision diagram
    • Best practices and security guidance

Updated Documentation

  • docs/gateway.mdx - Added Authentication section with overview
  • docs/guides/troubleshoot-gateway.mdx - Added troubleshooting for auth errors
  • docs/features/chat.mdx - Added Security section with bind-aware behavior
  • docs/features/onboard.mdx - Updated token persistence information
  • docs.json - Added new page to Features navigation

Documentation Standards

  • Follows AGENTS.md guidelines for structure and style
  • Uses standard Mermaid diagram color scheme
  • Includes required Mintlify components (Steps, AccordionGroup, CardGroup)
  • Agent-centric Quick Start examples
  • Non-developer friendly language
  • Progressive disclosure of complexity

Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added comprehensive bind-aware authentication guide explaining how security behavior changes based on network interface binding (permissive for local, strict for external).
    • Updated authentication documentation with environment variable configurations and security best practices.
    • Added troubleshooting section for common authentication startup errors.
    • Enhanced onboarding guide with secure credential management details.

- Add comprehensive bind-aware authentication documentation
- Create docs/features/gateway-bind-aware-auth.mdx with:
  * Hero Mermaid diagram with standard color scheme
  * Quick Start examples for local and external deployment
  * Interface detection table and auth mode explanations
  * Environment variables reference
  * Error handling for GatewayStartupError and UIStartupError
  * Token fingerprinting documentation
  * User flow examples and decision diagram
  * Best practices and security guidance

- Update docs/gateway.mdx with Authentication section
- Update docs/guides/troubleshoot-gateway.mdx with auth error troubleshooting
- Update docs/features/chat.mdx with security and bind-aware behavior
- Update docs/features/onboard.mdx with token persistence info
- Update docs.json navigation to include new page

Co-authored-by: Mervin Praison <MervinPraison@users.noreply.github.com>
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces comprehensive documentation for 'Bind-Aware Authentication,' a security feature that automatically adjusts authentication requirements based on the network interface. The changes include a new dedicated feature guide, updated security sections for the chat UI and gateway, and new troubleshooting steps for authentication errors. Feedback focuses on clarifying the description of token auto-generation logic in the documentation tables and optimizing a shell command in the troubleshooting guide for better idiomatic usage.

Comment on lines +87 to +88
| `local` | Permissive — no token required | Loopback bind (default) |
| `token` | Token required (auto-generated if absent on loopback) | External bind (default) |
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The description for token mode is slightly misleading. Auto-generation of the token occurs during loopback binds (to facilitate future external access), but token mode itself (triggered by external binds) strictly requires an existing token and will fail if one is not found. It is clearer to associate the auto-generation behavior with local mode.

| `local` | Permissive — no token required (auto-generated for future use) | Loopback bind (default) |
| `token` | Strict — token required | External bind (default) |

<Steps>
<Step title="Retrieve full token from environment file">
```bash
cat ~/.praisonai/.env | grep GATEWAY_AUTH_TOKEN
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This is a "useless use of cat". grep can read the file directly, which is more idiomatic and slightly more efficient.

grep "GATEWAY_AUTH_TOKEN" ~/.praisonai/.env

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 22, 2026

📝 Walkthrough

Walkthrough

This PR adds comprehensive documentation for bind-aware authentication, introducing a new feature page and updating existing documentation files to describe how gateway and chat UI security behavior changes depending on the network interface binding (permissive for loopback, strict for external). All changes are documentation-only, with no code modifications.

Changes

Cohort / File(s) Summary
Bind-Aware Auth Documentation
docs/features/gateway-bind-aware-auth.mdx
New comprehensive documentation page covering bind-aware authentication modes, including quick start, decision diagrams, auth mode tables, interface detection mapping, user flow scenarios, environment variable reference, error documentation, token fingerprinting details, best practices, and related links.
Gateway & Chat UI Documentation
docs/gateway.mdx, docs/features/chat.mdx
Added "Authentication" sections to both files documenting bind-interface-aware behavior with decision diagrams, quick-reference tables, environment variable explanations (CHAINLIT_HOST, CHAINLIT_USERNAME, CHAINLIT_PASSWORD, PRAISONAI_ALLOW_DEFAULT_CREDS), security warnings, and links to the new bind-aware auth feature page.
Onboarding & Navigation
docs/features/onboard.mdx, docs.json
Updated onboarding documentation with token persistence details (mode 0600), fingerprinting format (gw_****XXXX), and a new card linking to bind-aware auth guide. Updated navigation config to include the new bind-aware auth feature page under "Features" group.
Troubleshooting Guide
docs/guides/troubleshoot-gateway.mdx
Added new "Authentication Errors" section documenting GatewayStartupError and UIStartupError cases with step-by-step remediation commands, token fingerprint logging notes, and configuration examples.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related issues

  • #1502: The documentation directly describes the bind-aware authentication feature implementation, including token persistence, error handling, and credential enforcement across different network interfaces.

Possibly related PRs

  • PraisonAIDocs#215: Both PRs update docs/features/onboard.mdx to clarify GATEWAY_AUTH_TOKEN persistence location and file permissions in ~/.praisonai/.env.

Poem

🐰 A gateway's guard, now wise and aware,
Knows when to be strict, and when to be fair—
Loopback's a friend, external's a care,
With docs that explain the bind-auth affair!
~🔐✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title clearly and concisely describes the main change: adding documentation for bind-aware gateway/UI authentication posture, which aligns with the primary objective of documenting this feature.
Linked Issues check ✅ Passed The PR comprehensively addresses all coding/documentation requirements from issue #221: new feature page created with required sections, gateway and chat docs updated, troubleshooting guide enhanced, onboard docs improved with security notes, and docs.json navigation updated under Features.
Out of Scope Changes check ✅ Passed All changes are directly aligned with issue #221 requirements: documentation files updated as specified (gateway.mdx, chat.mdx, onboard.mdx, troubleshoot-gateway.mdx, docs.json) with no extraneous code or unrelated modifications present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/issue-221-20260422-1154

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (3)
docs/features/gateway-bind-aware-auth.mdx (2)

1-218: Page is missing Configuration Options and Common Patterns sections from the standard template.

The coding guidelines require documentation pages to follow the structure: frontmatter, hero diagram, Quick Start, How It Works, Configuration Options, Common Patterns, Best Practices, Related. This page jumps from How It Works → Interface Detection → User Flows → Environment Variables → Error Reference → Best Practices → Related. The Environment Variables table is close to Configuration Options but doesn't use the required Option | Type | Default | Description columns, and there is no Common Patterns section at all.

Consider either renaming/expanding Environment Variables into a Configuration Options section with the required table schema, and adding a short Common Patterns section (e.g., LAN share, VPS with TLS, reverse proxy with trusted-proxy).

As per coding guidelines: "All documentation pages must follow the standard page structure template with frontmatter, hero diagram, Quick Start, How It Works, Configuration Options, Common Patterns, Best Practices, and Related sections" and "Configuration documentation must include a table with columns: Option, Type, Default, Description for all SDK config options".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/features/gateway-bind-aware-auth.mdx` around lines 1 - 218, The page is
missing the required "Configuration Options" and "Common Patterns" sections;
update the doc by renaming or expanding the existing "Environment Variables"
block into a new "Configuration Options" section that contains the required
table with columns Option | Type | Default | Description and include entries for
GATEWAY_AUTH_TOKEN, CHAINLIT_HOST, CHAINLIT_USERNAME, CHAINLIT_PASSWORD,
PRAISONAI_ALLOW_DEFAULT_CREDS, CHAINLIT_AUTH_SECRET (use the current
descriptions as the Description column and populate Type/Default); then add a
short "Common Patterns" section (3–4 bullets) illustrating LAN share
(onboard/export token), VPS deployment (token + TLS + custom creds) and
reverse-proxy/trusted-proxy setups referencing the `trusted-proxy` mode; keep
the existing Best Practices and Related sections intact.

109-117: Consider promoting User Flows to <Steps> or a table for scannability.

Flows A–D are rendered as four consecutive bold-lead paragraphs, which is harder to scan than the rest of the page (which uses Steps/tables/accordions consistently). A small table (Scenario | Command | Notes) or an <AccordionGroup> would match the page's style and the Mintlify-component guideline.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/features/gateway-bind-aware-auth.mdx` around lines 109 - 117, Convert
the four bold-paragraph flows under the "User Flows" heading into a scannable
component (use the existing page pattern): replace the consecutive bold-led
paragraphs "Flow A", "Flow B", "Flow C", "Flow D" with either a <Steps>
component or a small table with columns "Scenario | Command | Notes" (or an
<AccordionGroup> if you prefer collapsible sections); ensure each flow keeps its
current content (e.g., token generation details, exact commands like `praisonai
onboard` / `export GATEWAY_AUTH_TOKEN...` and env hints like
`CHAINLIT_USERNAME`/`PRAISONAI_ALLOW_DEFAULT_CREDS`) mapped into the
corresponding step/table row/accordion panel for easier scanning.
docs/features/onboard.mdx (1)

363-366: Move the bind-aware auth Card into the Related CardGroup.

The new <Card> is emitted as a bare element between Best Practices and the ## Related heading, which breaks the page's structural template (Related is the canonical place for cross-links, and it already uses a <CardGroup cols={2}>). Placing a lone Card outside any CardGroup also renders inconsistently with the four cards below.

♻️ Suggested fix
-<Card title="Bind-Aware Authentication" icon="shield" href="/docs/features/gateway-bind-aware-auth">
-  Gateway and UI security behavior based on bind interface
-</Card>
-
 ---
 
 ## Related
 
 <CardGroup cols={2}>
+  <Card title="Bind-Aware Authentication" icon="shield" href="/docs/features/gateway-bind-aware-auth">
+    Gateway and UI security behavior based on bind interface
+  </Card>
   <Card title="Installation Guide" icon="download" href="/docs/install/installer">
     Complete installer documentation including onboarding flow
   </Card>

As per coding guidelines: "Use Mintlify CardGroup component for Related section with <CardGroup cols={2}> and <Card> children".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/features/onboard.mdx` around lines 363 - 366, The new standalone <Card
title="Bind-Aware Authentication" icon="shield"
href="/docs/features/gateway-bind-aware-auth"> is placed outside the Related
section and must be moved into the existing <CardGroup cols={2}> that renders
the "Related" cards; edit the markup so this <Card> becomes one of the children
inside the Related <CardGroup cols={2}> (remove the bare Card from between Best
Practices and the "## Related" heading) to restore consistent layout and use the
canonical Related CardGroup.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/features/chat.mdx`:
- Around line 115-119: The docs list PRAISONAI_CHAT_HOST and CHAINLIT_HOST as
independently configurable via environment, but the code sets CHAINLIT_HOST
programmatically (overriding env) and never reads PRAISONAI_CHAT_HOST; update
either docs or code: either change docs to state that chat host must be
configured via the API (start_chat_server(host=...)) and remove the env var
rows, or implement env-var support by reading PRAISONAI_CHAT_HOST /
CHAINLIT_HOST at startup and falling back to start_chat_server host parameter
(or vice versa) so environment values are respected; check the logic around
CHAINLIT_HOST assignment in praisonai.chat.__init__ (the code that sets
CHAINLIT_HOST) and ensure consistent precedence and documentation.

In `@docs/features/gateway-bind-aware-auth.mdx`:
- Around line 32-45: Replace the example's bare Agent instantiation with one
that configures the gateway so the snippet demonstrates bind-aware auth:
construct a GatewayConfig(host="127.0.0.1") and pass it to Agent via the gateway
parameter (e.g., Agent(..., gateway=GatewayConfig(...))) before calling
agent.start("hello"), ensuring the code shows the agent using the gateway bind
rather than running purely locally.

---

Nitpick comments:
In `@docs/features/gateway-bind-aware-auth.mdx`:
- Around line 1-218: The page is missing the required "Configuration Options"
and "Common Patterns" sections; update the doc by renaming or expanding the
existing "Environment Variables" block into a new "Configuration Options"
section that contains the required table with columns Option | Type | Default |
Description and include entries for GATEWAY_AUTH_TOKEN, CHAINLIT_HOST,
CHAINLIT_USERNAME, CHAINLIT_PASSWORD, PRAISONAI_ALLOW_DEFAULT_CREDS,
CHAINLIT_AUTH_SECRET (use the current descriptions as the Description column and
populate Type/Default); then add a short "Common Patterns" section (3–4 bullets)
illustrating LAN share (onboard/export token), VPS deployment (token + TLS +
custom creds) and reverse-proxy/trusted-proxy setups referencing the
`trusted-proxy` mode; keep the existing Best Practices and Related sections
intact.
- Around line 109-117: Convert the four bold-paragraph flows under the "User
Flows" heading into a scannable component (use the existing page pattern):
replace the consecutive bold-led paragraphs "Flow A", "Flow B", "Flow C", "Flow
D" with either a <Steps> component or a small table with columns "Scenario |
Command | Notes" (or an <AccordionGroup> if you prefer collapsible sections);
ensure each flow keeps its current content (e.g., token generation details,
exact commands like `praisonai onboard` / `export GATEWAY_AUTH_TOKEN...` and env
hints like `CHAINLIT_USERNAME`/`PRAISONAI_ALLOW_DEFAULT_CREDS`) mapped into the
corresponding step/table row/accordion panel for easier scanning.

In `@docs/features/onboard.mdx`:
- Around line 363-366: The new standalone <Card title="Bind-Aware
Authentication" icon="shield" href="/docs/features/gateway-bind-aware-auth"> is
placed outside the Related section and must be moved into the existing
<CardGroup cols={2}> that renders the "Related" cards; edit the markup so this
<Card> becomes one of the children inside the Related <CardGroup cols={2}>
(remove the bare Card from between Best Practices and the "## Related" heading)
to restore consistent layout and use the canonical Related CardGroup.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: df687263-84c3-4d7e-a16f-c754c0c22a27

📥 Commits

Reviewing files that changed from the base of the PR and between 927c44c and 4a73fe7.

📒 Files selected for processing (6)
  • docs.json
  • docs/features/chat.mdx
  • docs/features/gateway-bind-aware-auth.mdx
  • docs/features/onboard.mdx
  • docs/gateway.mdx
  • docs/guides/troubleshoot-gateway.mdx

Comment thread docs/features/chat.mdx
Comment on lines +115 to 119
| `CHAINLIT_HOST` | Host the UI binds to (drives auth mode) | `127.0.0.1` |
| `CHAINLIT_USERNAME` | Username for authentication | `admin` |
| `CHAINLIT_PASSWORD` | Password for authentication | `admin` |
| `PRAISONAI_ALLOW_DEFAULT_CREDS` | Allow admin/admin on external bind (unsafe) | `false` |
| `CHAINLIT_AUTH_SECRET` | Auth secret for sessions | Auto-generated |
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Confirm how PRAISONAI_CHAT_HOST and CHAINLIT_HOST are actually resolved in code.
rg -nP -C3 '\b(PRAISONAI_CHAT_HOST|CHAINLIT_HOST)\b'

Repository: MervinPraison/PraisonAIDocs

Length of output: 2517


🏁 Script executed:

#!/bin/bash
# Find the ChatConfig or configuration class to understand how config.host is set
fd -e py . praisonai/chat | head -20 | xargs grep -l "class.*Config\|config.host" 2>/dev/null

# Also search for where config is instantiated in chat/__init__.py
rg -A 10 "def run_chat" praisonai/chat/__init__.py | head -40

Repository: MervinPraison/PraisonAIDocs

Length of output: 97


🏁 Script executed:

#!/bin/bash
# Read the chat/__init__.py file to understand config initialization
wc -l praisonai/chat/__init__.py

Repository: MervinPraison/PraisonAIDocs

Length of output: 101


🏁 Script executed:

#!/bin/bash
# Read the entire chat/__init__.py file
cat -n praisonai/chat/__init__.py

Repository: MervinPraison/PraisonAIDocs

Length of output: 3825


🏁 Script executed:

#!/bin/bash
# Check if PRAISONAI_CHAT_HOST environment variable is actually read anywhere in the codebase
rg "PRAISONAI_CHAT_HOST" --type py

Repository: MervinPraison/PraisonAIDocs

Length of output: 53


🏁 Script executed:

#!/bin/bash
# Search for any CLI entry point or __main__ that might read PRAISONAI_CHAT_HOST
fd -e py . praisonai/chat | xargs grep -l "argparse\|click\|PRAISONAI_CHAT" 2>/dev/null

# Also search in other locations for CLI definitions
rg "PRAISONAI_CHAT" --type-list all | head -20

Repository: MervinPraison/PraisonAIDocs

Length of output: 526


🏁 Script executed:

#!/bin/bash
# Check the size and read app.py
wc -l praisonai/chat/app.py

Repository: MervinPraison/PraisonAIDocs

Length of output: 96


🏁 Script executed:

#!/bin/bash
# Read app.py to check for environment variable usage
cat -n praisonai/chat/app.py

Repository: MervinPraison/PraisonAIDocs

Length of output: 5325


The documentation incorrectly lists environment variables that don't match implementation behavior.

The table describes PRAISONAI_CHAT_HOST and CHAINLIT_HOST as independent environment variables, but the code reveals:

  • PRAISONAI_CHAT_HOST (default 0.0.0.0 in the table) is never read from the environment
  • CHAINLIT_HOST (default 127.0.0.1 in the table) is always programmatically set to the value of config.host at runtime, overriding any environment variable

The code in praisonai/chat/__init__.py line 88 shows CHAINLIT_HOST is set by the application, not independently configurable via environment. Users cannot rely on these environment variables; configuration is only available through the start_chat_server(host=...) function parameter.

Fix: Either document that configuration is only available programmatically via the function API, or if environment variable support is intended, implement environment variable reading in the code.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/features/chat.mdx` around lines 115 - 119, The docs list
PRAISONAI_CHAT_HOST and CHAINLIT_HOST as independently configurable via
environment, but the code sets CHAINLIT_HOST programmatically (overriding env)
and never reads PRAISONAI_CHAT_HOST; update either docs or code: either change
docs to state that chat host must be configured via the API
(start_chat_server(host=...)) and remove the env var rows, or implement env-var
support by reading PRAISONAI_CHAT_HOST / CHAINLIT_HOST at startup and falling
back to start_chat_server host parameter (or vice versa) so environment values
are respected; check the logic around CHAINLIT_HOST assignment in
praisonai.chat.__init__ (the code that sets CHAINLIT_HOST) and ensure consistent
precedence and documentation.

Comment on lines +32 to +45
<Step title="Local development (loopback — permissive)">
```python
from praisonaiagents import Agent

agent = Agent(
name="Local Agent",
instructions="You are a helpful assistant.",
)

# Serve via gateway on loopback — no token needed
# $ praisonai gateway start --host 127.0.0.1
agent.start("hello")
```
</Step>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify whether GatewayConfig supports bind_host as the PR objective suggests,
# and how agents are actually served through the gateway.
rg -nP -C3 '\bbind_host\b'
rg -nP -C3 'class\s+GatewayConfig\b'

Repository: MervinPraison/PraisonAIDocs

Length of output: 436


🏁 Script executed:

cat -n praisonaiagents/gateway/config.py | head -250 | tail -80

Repository: MervinPraison/PraisonAIDocs

Length of output: 3656


🏁 Script executed:

# Search for how Agent uses GatewayConfig
rg -n 'Agent.*GatewayConfig|GatewayConfig.*Agent' -A5 -B5

Repository: MervinPraison/PraisonAIDocs

Length of output: 2379


🏁 Script executed:

# Look for gateway start or serve methods in Agent
rg -n 'def start\b' praisonaiagents/agent.py -A10

Repository: MervinPraison/PraisonAIDocs

Length of output: 135


🏁 Script executed:

# Find where Agent class is defined
fd 'agent\.py$|agents\.py$' praisonaiagents --type f

Repository: MervinPraison/PraisonAIDocs

Length of output: 812


🏁 Script executed:

# Look at the specific file being reviewed
cat -n docs/features/gateway-bind-aware-auth.mdx

Repository: MervinPraison/PraisonAIDocs

Length of output: 8842


Replace the Python snippet with Agent passing GatewayConfig(host="127.0.0.1") to actually exercise the gateway bind behavior.

The Step title says "Local development (loopback — permissive)" but the Python code creates a bare Agent without any gateway configuration and calls agent.start("hello"), which runs the agent locally rather than through the gateway's bind-aware auth. The bash comment alone doesn't demonstrate the feature. Show the gateway being configured on the agent itself using gateway=GatewayConfig(host="127.0.0.1") so the snippet matches the documentation's purpose.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/features/gateway-bind-aware-auth.mdx` around lines 32 - 45, Replace the
example's bare Agent instantiation with one that configures the gateway so the
snippet demonstrates bind-aware auth: construct a
GatewayConfig(host="127.0.0.1") and pass it to Agent via the gateway parameter
(e.g., Agent(..., gateway=GatewayConfig(...))) before calling
agent.start("hello"), ensuring the code shows the agent using the gateway bind
rather than running purely locally.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Docs: Document bind-aware gateway/UI authentication posture (PraisonAI PR #1517)

2 participants