diff --git a/content/guides/10.ai/1.chat/.navigation.yml b/content/guides/10.ai/1.chat/.navigation.yml new file mode 100644 index 00000000..cd380032 --- /dev/null +++ b/content/guides/10.ai/1.chat/.navigation.yml @@ -0,0 +1,3 @@ +title: AI Chat +headline: AI Chat +--- diff --git a/content/guides/10.ai/1.chat/0.index.md b/content/guides/10.ai/1.chat/0.index.md new file mode 100644 index 00000000..0ea430b0 --- /dev/null +++ b/content/guides/10.ai/1.chat/0.index.md @@ -0,0 +1,82 @@ +--- +title: Overview +description: Chat with an AI assistant directly inside Directus. Create content, manage your schema, trigger automations, and explore your data through natural conversation. +--- + +Directus AI Chat is an embedded conversational assistant that helps you interact with your Directus instance through natural language. + + + +::callout{icon="material-symbols:science" color="warning"} +**AI Chat is currently in beta.** Features and tools may change as we refine the experience based on feedback. +:: + +::callout{icon="material-symbols:info" color="info"} +**AI Chat requires an OpenAI or Anthropic API key.** Administrators [configure API keys](/guides/ai/chat/setup) in Settings → AI. +:: + +## What can AI Chat do? + +- **Content Management**: Create, update, and organize items across your collections +- **Schema Operations**: Explore your data model, add new fields and collections +- **Flow Automation**: Create new Flows and trigger them manually +- **Data Exploration**: Query your data and understand your schema structure + +## Supported Models + +### :icon{name="i-simple-icons-openai" class="align-middle mr-1 size-5"} OpenAI + +| Model | Model ID | Context Window Size | +|-------|----------|---------| +| GPT-5 Nano | `gpt-5-nano` | 400k tokens | +| GPT-5 Mini | `gpt-5-mini` | 400k tokens | +| GPT-5 | `gpt-5` | 400k tokens | + +### :icon{name="i-simple-icons-claude" class="align-middle mr-1 size-5"} Anthropic + +| Model | Model ID | Context Window Size | +|-------|----------|---------| +| Claude Haiku 4.5 | `claude-haiku-4-5` | 200k tokens | +| Claude Sonnet 4.5 | `claude-sonnet-4-5` | 200k tokens | + +Want additional models or features? [Submit a request on our roadmap](https://roadmap.directus.io/). + +## Key Features + +- **Tool Approval**: All tools require approval by default. [Configure per-tool settings](/guides/ai/chat/tools#tool-behavior). +- **Uses Your Permissions**: The AI operates with your existing Directus role and access policies. +- **Streaming Responses**: Responses stream in real-time. Stop or retry at any time. + +::callout{icon="material-symbols:warning" color="warning"} +**Conversations are stored in your browser only.** They are not saved to the server or shared between devices. Closing your browser or clearing localStorage will delete your conversation history. +:: + +--- + +## Get Started + +::card-group + +:::card{title="Admin Setup" icon="material-symbols:settings" to="/guides/ai/chat/setup"} +Configure API keys and customize the AI assistant behavior. +::: + +:::card{title="User Guide" icon="material-symbols:chat" to="/guides/ai/chat/usage"} +Learn how to use AI Chat effectively in your daily workflow. +::: + +:::card{title="Available Tools" icon="material-symbols:construction" to="/guides/ai/chat/tools"} +Reference of all tools the AI can use to interact with Directus. +::: + +:::card{title="Tips & Best Practices" icon="material-symbols:lightbulb" to="/guides/ai/chat/tips"} +Get the most out of AI Chat with practical tips and example prompts. +::: + +:::card{title="Security" icon="material-symbols:security" to="/guides/ai/chat/security"} +Access control, data protection, and security considerations. +::: + +:: diff --git a/content/guides/10.ai/1.chat/1.setup.md b/content/guides/10.ai/1.chat/1.setup.md new file mode 100644 index 00000000..61105854 --- /dev/null +++ b/content/guides/10.ai/1.chat/1.setup.md @@ -0,0 +1,187 @@ +--- +title: Setup +description: Configure AI Chat by adding your AI provider API keys and customizing assistant behavior. +headline: AI Chat +--- + +AI Chat requires an API key from a supported AI provider. This page covers the administrator setup process. + +## Requirements + +- Administrator access to your Directus instance +- API key from OpenAI or Anthropic (see below) +- Users must have **App access** - Public (non-authenticated) or API-only users cannot use AI Chat + +::callout{icon="material-symbols:info" color="info"} +Note that all users of AI Chat will share a single API key from your configured provider. Usage limits and costs will be shared across all users. See your provider's dashboard for monitoring usage details and costs. +:: + +## Get an API Key + +You'll need an API key from at least one provider. Choose based on which models you want to use. + +::accordion{type="single"} + +:::accordion-item{label="OpenAI" icon="i-simple-icons-openai"} + +OpenAI provides GPT-5 models (Nano, Mini, Standard). + +1. Go to [platform.openai.com](https://platform.openai.com/) and sign in or create an account +2. Navigate to **API Keys** in the left sidebar (or go directly to [platform.openai.com/api-keys](https://platform.openai.com/api-keys)) +3. Click **Create new secret key** +4. Give it a name like "Directus AI Chat" +5. Copy the key immediately - you won't be able to see it again + +::callout{icon="material-symbols:info" color="info"} +OpenAI requires a payment method and has usage-based pricing. Set spending limits in **Settings → Limits** to control costs. +:: + +::: + +:::accordion-item{label="Anthropic" icon="i-simple-icons-anthropic"} + +Anthropic provides Claude models (Haiku 4.5, Sonnet 4.5). + +1. Go to [console.anthropic.com](https://console.anthropic.com/) and sign in or create an account +2. Navigate to **API Keys** in the settings +3. Click **Create Key** +4. Give it a name like "Directus AI Chat" +5. Copy the key immediately + +::callout{icon="material-symbols:info" color="info"} +Anthropic requires a payment method and has usage-based pricing. Monitor usage in the Console dashboard. +:: + +::: + +:: + +## Configure API Keys in Directus + +::steps{level="3"} + +### Navigate to AI Settings + +Go to **Settings → AI** in the Directus admin panel. + +![AI Settings page in Directus](/img/ai-chat-settings-disabled.png) + +### Enter Your API Key + +Add your API key for one or both providers: + +- **OpenAI API Key** - Enables GPT-5 models +- **Anthropic API Key** - Enables Claude models + +::callout{icon="material-symbols:security" color="info"} +API keys are encrypted at rest in the database and masked in the UI. +:: + +### Save Settings + +Click **Save** to apply your changes. AI Chat is now available to all users with [App access](/guides/auth/access-control#studio-users). + +:: + +## Custom System Prompt + +Optionally customize how the AI assistant behaves in **Settings → AI → Custom System Prompt**. + +The [default system prompt](https://github.com/directus/directus/blob/main/api/src/ai/chat/constants/system-prompt.ts) provides the AI with helpful instructions on how to interact with Directus and is tuned to provide good results. + +If you choose to customize the system prompt, it's recommended to use the following template as a starting point: + +::accordion{type="single"} + +:::accordion-item{label="View Default System Prompt" icon="material-symbols:code"} + +```xml + +You are **Directus Assistant**, a Directus CMS expert with access to a Directus instance through specialized tools + +## Communication Style + +- **Be concise**: Users prefer short, direct responses. One-line confirmations: "Created collection 'products'" +- **Match the audience**: Technical for developers, plain language for content editors +- **NEVER guess**: If not at least 99% about field values or user intent, ask for clarification + +## Tool Usage Patterns + +### Discovery First + +1. Understand the user's task and what they need to achieve. +2. Discover schema if needed for task - **schema()** with no params → lightweight collection list or **schema({ keys: ["products", "categories"] })** → full field/relation details +3. Use other tools as needed to achieve the user's task. + +### Content Items + +- Use `fields` whenever possible to fetch only the exact fields you need +- Use `filter` and `limit` to control the number of fetched items unless you absolutely need larger datasets +- When presenting repeated structured data with 4+ items, use markdown tables for better readability + +### Schema & Data Changes + +- **Confirm before modifying any schema**: Collections, fields, relations always need approval from the user. +- **Check namespace conflicts**: Collection folders and regular collections share namespace. Collection folders are distinct from file folders. + +### Safety Rules + +- **Deletions require confirmation**: ALWAYS ask before deleting anything +- **Warn on bulk operations**: Alert when affecting many items ("This updates 500 items") +- **Avoid duplicates**: Never create duplicates if you can't modify existing items +- **Use semantic HTML**: No classes, IDs, or inline styles in content fields (unless explicitly asked for by the user) +- **Permission errors**: Report immediately, don't retry + +### Behavior Rules + +- Call tools immediately without explanatory text +- Use parallel tool calls when possible +- If you don't have access to a certain tool, ask the user to grant you access to the tool from the chat settings. +- If there are unused tools in context but task is simple, suggest disabling unused tools (once per conversation) + +## Error Handling + +- Auto-retry once for clear errors ("field X required") +- Stop after 2 failures, consult user +- If tool unavailable, suggest enabling in chat settings + +``` + +::: + +:: + +Leave blank to use the default behavior. + +## Managing Costs + +::callout{icon="material-symbols:warning" color="warning"} +**AI Chat uses your own AI provider API keys.** Every message and tool call costs money. Be mindful of usage, especially with larger models. You are responsible for the costs of your usage. +:: + +**Tips for controlling costs:** +- Use faster, cheaper models (GPT-5 Nano, Claude Haiku 4.5) for simple tasks +- Disable unused tools - disabled tools are not loaded into context, reducing token usage +- Set spending limits in your [OpenAI](https://platform.openai.com/settings/organization/limits) or [Anthropic](https://console.anthropic.com/) dashboard + +## Next Steps + +::card-group + +:::card{title="User Guide" icon="material-symbols:chat" to="/guides/ai/chat/usage"} +Learn how users interact with AI Chat. +::: + +:::card{title="Available Tools" icon="material-symbols:construction" to="/guides/ai/chat/tools"} +See what actions the AI can perform. +::: + +:::card{title="Tips & Best Practices" icon="material-symbols:lightbulb" to="/guides/ai/chat/tips"} +Get the most out of AI Chat. +::: + +:::card{title="Security" icon="material-symbols:security" to="/guides/ai/chat/security"} +Access control and data protection. +::: + +:: diff --git a/content/guides/10.ai/1.chat/2.usage.md b/content/guides/10.ai/1.chat/2.usage.md new file mode 100644 index 00000000..71940330 --- /dev/null +++ b/content/guides/10.ai/1.chat/2.usage.md @@ -0,0 +1,125 @@ +--- +title: Usage +description: Learn how to use AI Chat to interact with your Directus instance through natural conversation. +headline: AI Chat +--- + +This guide covers how to use AI Chat effectively in your daily workflow. + +## Opening AI Chat + +![AI Chat button in Directus header](/img/ai-chat-collapsed-point.png) + +Click the AI Chat button in the Directus right sidebar to open the chat panel. The panel appears on the right side of your screen and persists as you navigate. + +## Selecting a Model + +![Model selector dropdown](/img/ai-chat-model-selector-cropped.png) + +Click the model dropdown in the chat header to choose which AI model to use: + +| Model | Best For | +|-------|----------| +| :icon{name="logos:openai-icon"} GPT-5 Nano / :icon{name="logos:claude-icon"} Claude Haiku 4.5 | Quick tasks, simple queries | +| :icon{name="logos:openai-icon"} GPT-5 Mini | Balanced speed and capability | +| :icon{name="logos:openai-icon"} GPT-5 / :icon{name="logos:claude-icon"} Claude Sonnet 4.5 | Complex operations, detailed analysis | + +Only models for [configured providers](/guides/ai/chat/setup) appear in the dropdown. + +## Having a Conversation + +Type your message and press **Enter** to send (**Shift+Enter** for new line). Responses stream in real-time with full Markdown formatting. + +## Understanding Responses + +AI Chat displays several types of content in responses: + +### Text Messages + +Standard conversational responses with Markdown formatting. + +### Reasoning Blocks + +![Reasoning block showing AI's internal thinking](/img/ai-chat-reasoning-cropped.png) + +Collapsible sections showing the AI's internal reasoning (extended thinking). Click to expand. + +### Tool Calls + +![Completed tool call showing results](/img/ai-chat-tool-call-complete-cropped.png) + +When the AI performs an action, it displays a tool call card showing: +- The tool being used +- Input parameters +- Results after execution + +## Tool Approval + +All tools require approval by default. When a tool needs approval, review the action then choose **Approve**, **Deny** (Esc), or **Always Allow**. + +![Tool approval dialog showing approve, deny, and always allow options](/img/ai-chat-tool-approval-requested-cropped.png) + +Configure per-tool approval settings via the gear icon in the chat header. See [Tool Behavior](/guides/ai/chat/tools#tool-behavior) for details. + +![Tool settings menu with approval modes](/img/ai-chat-tool-menu-open.png) + +## Managing Conversations + +### Clearing the Conversation + +![Clear conversation button in chat header](/img/ai-chat-clear-conversation-cropped.png) + +Click the clear button (trash icon) in the chat header to start fresh. This resets: +- Message history +- Token usage tracking + +### Stopping a Response + +While the AI is generating a response, the send button becomes a stop button. Click it to interrupt generation. + +### Retrying After an Error + +If an error occurs, a retry button appears. Click to regenerate the last response. + +## Context Limits + +::callout{icon="material-symbols:lightbulb" color="primary"} +Start a new conversation when switching topics. The AI performs better with focused, single-topic conversations. Long conversations may have older messages dropped automatically. +:: + +## Data Storage + +### What's Stored in Your Browser + +- Conversation history +- Selected model preference +- Tool approval settings +- Chat open/closed state + +### What's NOT Stored + +- Conversations are **not saved to the Directus server** +- Conversations are **not shared** between users or devices +- Closing the browser or clearing local storage deletes history + +## Permissions + +The AI operates with your existing [Directus permissions](/guides/auth/access-control). If you don't have access to a collection or operation, neither does the AI. See [Security](/guides/ai/chat/security) for more details. + +## Next Steps + +::card-group + +:::card{title="Available Tools" icon="material-symbols:construction" to="/guides/ai/chat/tools"} +See what actions the AI can perform. +::: + +:::card{title="Tips & Best Practices" icon="material-symbols:lightbulb" to="/guides/ai/chat/tips"} +Get more out of AI Chat with practical tips. +::: + +:::card{title="Security" icon="material-symbols:security" to="/guides/ai/chat/security"} +Access control and data protection. +::: + +:: diff --git a/content/guides/10.ai/1.chat/3.tools.md b/content/guides/10.ai/1.chat/3.tools.md new file mode 100644 index 00000000..35950c69 --- /dev/null +++ b/content/guides/10.ai/1.chat/3.tools.md @@ -0,0 +1,102 @@ +--- +title: Tools +description: Reference of all tools available to AI Chat for interacting with your Directus instance. +headline: AI Chat +--- + +AI Chat uses tools to perform actions on your behalf. Each tool handles a specific type of operation within Directus. + +::callout{icon="material-symbols:science" color="warning"} +**AI Chat is in beta.** Tools and capabilities may change. +:: + +::callout{icon="material-symbols:security" color="info"} +**Tools use your existing user permissions.** Users without admin access won't see Admin Only tools. If you can't access a collection or perform an action in Directus, the AI can't either. +:: + +## System Tools + +These tools interact with your Directus instance via API to manage content, files, and schema. + +| Tool | Description | +|------|-------------| +| :icon{name="material-symbols:database-search-outline" class="text-muted"} **Schema** | Explore collections, fields, and relationships (read-only) | +| :icon{name="material-symbols:box-outline" class="text-muted"} **Items** | Create, read, update, and delete items in your collections | +| :icon{name="material-symbols:folder-outline" class="text-muted"} **Files** | Manage file metadata, import from URLs, organize uploads | +| :icon{name="material-symbols:folder-open-outline" class="text-muted"} **Folders** | Create and organize folder structures for files | +| :icon{name="material-symbols:play-arrow-outline" class="text-muted"} **Trigger Flow** | Execute manual flows on demand | + +### Admin Only + +::callout{icon="material-symbols:warning" color="warning"} +Be careful when using these tools as deleting or modifying schema can result in data loss. +:: + +| Tool | Description | +|------|-------------| +| :icon{name="material-symbols:database-outline" class="text-muted"} **Collections** | Create, modify, and delete collections (database tables) | +| :icon{name="material-symbols:variable-add-outline" class="text-muted"} **Fields** | Add, configure, and remove fields within collections | +| :icon{name="material-symbols:hub-outline" class="text-muted"} **Relations** | Set up relationships between collections | +| :icon{name="material-symbols:bolt-outline" class="text-muted"} **Flows** | Create and manage automation workflows | +| :icon{name="material-symbols:offline-bolt-outline" class="text-muted"} **Operations** | Configure individual steps within flows | + +--- + +## Page Context Tools + +::callout{icon="material-symbols:lightbulb" color="primary"} +Page Context tools let the AI work directly with what's on your screen. They are only available when editing data and may not be available on all pages. Approval modes cannot be changed for Page Context tools. +:: +| Tool | Description | +|------|-------------| +| **Read Form Values** | Read current field values from the form on screen | +| **Set Form Values** | Update field values on the current form | + + + +--- + +## Tool Behavior + +### Approval Modes + +Each tool can be configured with one of three approval modes: + +| Mode | Behavior | +|------|----------| +| :icon{name="material-symbols:check" class="text-success"} **Always Allowed** | Execute immediately without asking | +| :icon{name="material-symbols:approval-delegation" class="text-warning"} **Needs Approval** | Show approval dialog before executing (default) | +| :icon{name="material-symbols:block" class="text-error"} **Disabled** | Tool is hidden from AI and not loaded into context | + +Tool approval settings are stored locally in your browser and are unique to you. They won't sync to your Directus instance or affect other users. + +::callout{icon="material-symbols:lightbulb" color="primary"} +**Disable unused tools to reduce costs.** Disabled tools are not sent to the AI provider, reducing token usage. If you only manage content, disable schema and flow tools. +:: + +### Default Settings + +All tools default to **Ask** mode. Nothing executes without your explicit approval until you change the settings. + +### Configuring Tools + +![Tool configuration panel showing approval modes](/img/ai-chat-tool-menu-open-cropped.png) + +1. Open the settings menu (gear icon) in the chat header +2. Search for specific tools +3. Click a tool and select an approval mode from the dropdown +4. Settings persist in your browser + +## Next Steps + +::card-group + +:::card{title="Tips & Best Practices" icon="material-symbols:lightbulb" to="/guides/ai/chat/tips"} +Get the most out of AI Chat. +::: + +:::card{title="Security" icon="material-symbols:security" to="/guides/ai/chat/security"} +Access control and data protection. +::: + +:: diff --git a/content/guides/10.ai/1.chat/4.tips.md b/content/guides/10.ai/1.chat/4.tips.md new file mode 100644 index 00000000..2fd2070f --- /dev/null +++ b/content/guides/10.ai/1.chat/4.tips.md @@ -0,0 +1,173 @@ +--- +title: Best Practices +description: Get the most out of AI Chat with practical tips, example prompts, and common pitfalls to avoid. +headline: AI Chat +--- + +Follow these tips to work effectively with AI Chat and get better results from your conversations. + +## Be Specific About Collections and Fields + +The more specific you are, the better results you'll get. + +**Less effective:** +> "Add a new post" + +**More effective:** +> "Create a new article in the articles collection with title 'Getting Started with Directus', status 'draft', and assign it to the 'Tutorials' category" + +## Complex Tasks + +Break complex requests into smaller, more manageable steps: + +1. "First, show me all products without descriptions" +2. "Now update product X with this description: ..." +3. "Next, do the same for product Y..." +4. "Finally, verify the products were updated correctly" + +## Start Fresh for New Topics + +Long conversations can lose context. When switching to a different task, clear the conversation and start fresh. + +**Signs you should start a new conversation:** +- The AI seems confused about your schema +- Responses are becoming less relevant +- You're working on an unrelated task + +## Configure Tool Approvals + +- Read-only tools like Schema can safely be set to :icon{name="material-symbols:check" class="text-success"} **Always Allowed** +- Keep write operations on :icon{name="material-symbols:approval-delegation" class="text-warning"} **Needs Approval** until you're confident +- :icon{name="material-symbols:block" class="text-error"} **Disable** tools you don't need to reduce token usage + +See [Tool Behavior](/guides/ai/chat/tools#tool-behavior) for more details. + +## Manage Costs + +AI Chat requires API keys from OpenAI or Anthropic — you cannot use a ChatGPT Plus or Claude Pro subscription. API access is billed per token, so costs scale with usage. Be mindful of this, especially with larger models. + +::callout{icon="material-symbols:paid" color="warning"} +**Disable tools you don't use.** Disabled tools are not loaded into context, reducing token usage and API costs. If you only work with content, disable schema modification tools. +:: + +--- + +## Example Prompts by Use Case + +### Content Management + +``` +Show me all published articles from this month +``` + +``` +Create a new blog post titled "AI in Content Management" with status draft +``` + +``` +Update all products in the "Summer Sale" category to have a 20% discount tag +``` + +``` +Find articles without a featured image +``` + +### Schema Operations + +``` +What fields does the products collection have? +``` + +``` +Add a "featured" boolean field to the articles collection +``` + +``` +Create a relationship between products and categories (many-to-many) +``` + +``` +Show me how the pages collection is structured +``` + +### Flow Automation + +``` +List all active flows +``` + +``` +Create a flow that sends an email when a new order is placed +``` + +``` +Trigger the "Generate Report" flow for all products +``` + +### Data Exploration + +``` +How many users signed up last week? +``` + +``` +Show me the 10 most recent orders +``` + +``` +What's the relationship between articles and authors? +``` + +``` +Find all items with status "pending review" +``` + +--- + +## Common Gotchas + +### Permissions Apply + +The AI operates with your user permissions. If you're receiving permissions errors in AI Chat, it's likely the user account doesn't have the necessary permissions to perform the action. + +### Deletions Require Extra Care + +The AI is instructed to ask for confirmation before deleting items. However, LLMs don't always follow instructions perfectly — keep destructive tools on "Ask" approval mode if you want guaranteed confirmation before deletions. + +### Related Data May Be Affected + +When deleting items that have relationships, consider cascade behavior: +- Deleting an author may affect related articles +- Deleting a category may orphan products + +The LLM may not always warn you about potential impacts. + + +--- + +## When AI Chat Works Best + +**Great for:** +- Exploring and understanding your schema +- Quick content operations (create, update, query) +- Setting up new collections and fields +- Triggering manual flows + +**Consider other approaches for:** +- Very large bulk operations (use direct API or import / export through the Data Studio) +- Complex data migrations (use scripts or dedicated tools) +- Sensitive operations on production data (test in staging first) + +## Next Steps + +::card-group + +:::card{title="Available Tools" icon="material-symbols:construction" to="/guides/ai/chat/tools"} +See what actions the AI can perform. +::: + +:::card{title="Security" icon="material-symbols:security" to="/guides/ai/chat/security"} +Access control and data protection. +::: + +:: diff --git a/content/guides/10.ai/1.chat/5.security.md b/content/guides/10.ai/1.chat/5.security.md new file mode 100644 index 00000000..69e463f7 --- /dev/null +++ b/content/guides/10.ai/1.chat/5.security.md @@ -0,0 +1,60 @@ +--- +title: Security +description: Security considerations for using AI Chat safely with your Directus data. +headline: AI Chat +--- + +AI Chat is designed with security in mind. This page covers how access is controlled and what to consider when using AI with your data. + +## Access Control + +AI Chat requires authentication and Data Studio access. Unauthenticated users, API-only users, and public roles cannot access it. + +The AI operates with your existing Directus permissions - if you can't access a collection or delete items, neither can the AI. This differs from the [MCP Server](/guides/ai/mcp), which uses separate access tokens. + +## Data Protection + +**API Keys:** Encrypted at rest in the database and masked in the UI. Only administrators can configure them. + +**Conversations:** Stored in your browser only (local storage). Not saved to the server, not shared between devices. See [Data Storage](/guides/ai/chat/usage#data-storage). + +## Data Sent to AI Providers + +Your messages, schema information, item data, and tool responses are sent to the configured provider (OpenAI or Anthropic). + +**Review provider privacy policies:** +- [OpenAI Privacy Policy](https://openai.com/policies/privacy-policy) | [API Data Usage](https://platform.openai.com/docs/models/how-we-use-your-data) +- [Anthropic Privacy Policy](https://www.anthropic.com/privacy) + +::callout{icon="material-symbols:warning" color="warning"} +**Be mindful of what you discuss.** Avoid sharing sensitive personal data, credentials, or confidential information in AI conversations. +:: + +## Tool Approvals + +All tools require approval by default. Configure per-tool settings in the chat header menu. See [Tool Behavior](/guides/ai/chat/tools#tool-behavior) for details. + +## Best Practices + +1. **Review tool calls** before approving, especially writes and deletes +2. **Use appropriate roles** - don't give users more permissions than needed +3. **Test in development** before using AI Chat with production data +4. **Be selective** about what data you discuss with AI + +## Next Steps + +::card-group + +:::card{title="User Guide" icon="material-symbols:chat" to="/guides/ai/chat/usage"} +Learn how to use AI Chat effectively. +::: + +:::card{title="Available Tools" icon="material-symbols:construction" to="/guides/ai/chat/tools"} +See what actions the AI can perform. +::: + +:::card{title="Tips & Best Practices" icon="material-symbols:lightbulb" to="/guides/ai/chat/tips"} +Get the most out of AI Chat. +::: + +:: diff --git a/content/guides/10.ai/1.mcp/.navigation.yml b/content/guides/10.ai/2.mcp/.navigation.yml similarity index 100% rename from content/guides/10.ai/1.mcp/.navigation.yml rename to content/guides/10.ai/2.mcp/.navigation.yml diff --git a/content/guides/10.ai/1.mcp/0.index.md b/content/guides/10.ai/2.mcp/0.index.md similarity index 100% rename from content/guides/10.ai/1.mcp/0.index.md rename to content/guides/10.ai/2.mcp/0.index.md diff --git a/content/guides/10.ai/1.mcp/1.installation.md b/content/guides/10.ai/2.mcp/1.installation.md similarity index 100% rename from content/guides/10.ai/1.mcp/1.installation.md rename to content/guides/10.ai/2.mcp/1.installation.md diff --git a/content/guides/10.ai/1.mcp/2.use-cases.md b/content/guides/10.ai/2.mcp/2.use-cases.md similarity index 100% rename from content/guides/10.ai/1.mcp/2.use-cases.md rename to content/guides/10.ai/2.mcp/2.use-cases.md diff --git a/content/guides/10.ai/1.mcp/3.tools.md b/content/guides/10.ai/2.mcp/3.tools.md similarity index 100% rename from content/guides/10.ai/1.mcp/3.tools.md rename to content/guides/10.ai/2.mcp/3.tools.md diff --git a/content/guides/10.ai/1.mcp/4.prompts.md b/content/guides/10.ai/2.mcp/4.prompts.md similarity index 100% rename from content/guides/10.ai/1.mcp/4.prompts.md rename to content/guides/10.ai/2.mcp/4.prompts.md diff --git a/content/guides/10.ai/1.mcp/5.troubleshooting.md b/content/guides/10.ai/2.mcp/5.troubleshooting.md similarity index 100% rename from content/guides/10.ai/1.mcp/5.troubleshooting.md rename to content/guides/10.ai/2.mcp/5.troubleshooting.md diff --git a/content/guides/10.ai/1.mcp/6.security.md b/content/guides/10.ai/2.mcp/6.security.md similarity index 100% rename from content/guides/10.ai/1.mcp/6.security.md rename to content/guides/10.ai/2.mcp/6.security.md diff --git a/content/guides/10.ai/1.mcp/7.local-mcp/.navigation.yml b/content/guides/10.ai/2.mcp/7.local-mcp/.navigation.yml similarity index 100% rename from content/guides/10.ai/1.mcp/7.local-mcp/.navigation.yml rename to content/guides/10.ai/2.mcp/7.local-mcp/.navigation.yml diff --git a/content/guides/10.ai/1.mcp/7.local-mcp/0.index.md b/content/guides/10.ai/2.mcp/7.local-mcp/0.index.md similarity index 100% rename from content/guides/10.ai/1.mcp/7.local-mcp/0.index.md rename to content/guides/10.ai/2.mcp/7.local-mcp/0.index.md diff --git a/content/guides/10.ai/1.mcp/7.local-mcp/1.tools.md b/content/guides/10.ai/2.mcp/7.local-mcp/1.tools.md similarity index 100% rename from content/guides/10.ai/1.mcp/7.local-mcp/1.tools.md rename to content/guides/10.ai/2.mcp/7.local-mcp/1.tools.md diff --git a/content/guides/10.ai/1.mcp/7.local-mcp/2.prompts.md b/content/guides/10.ai/2.mcp/7.local-mcp/2.prompts.md similarity index 100% rename from content/guides/10.ai/1.mcp/7.local-mcp/2.prompts.md rename to content/guides/10.ai/2.mcp/7.local-mcp/2.prompts.md diff --git a/public/img/ai-chat-clear-conversation-cropped.png b/public/img/ai-chat-clear-conversation-cropped.png new file mode 100644 index 00000000..191f4fa6 Binary files /dev/null and b/public/img/ai-chat-clear-conversation-cropped.png differ diff --git a/public/img/ai-chat-collapsed-point.png b/public/img/ai-chat-collapsed-point.png new file mode 100644 index 00000000..b7b9a07a Binary files /dev/null and b/public/img/ai-chat-collapsed-point.png differ diff --git a/public/img/ai-chat-model-selector-cropped.png b/public/img/ai-chat-model-selector-cropped.png new file mode 100644 index 00000000..4f15bc5d Binary files /dev/null and b/public/img/ai-chat-model-selector-cropped.png differ diff --git a/public/img/ai-chat-reasoning-cropped.png b/public/img/ai-chat-reasoning-cropped.png new file mode 100644 index 00000000..b0150e2a Binary files /dev/null and b/public/img/ai-chat-reasoning-cropped.png differ diff --git a/public/img/ai-chat-settings-disabled.png b/public/img/ai-chat-settings-disabled.png new file mode 100644 index 00000000..f54254a4 Binary files /dev/null and b/public/img/ai-chat-settings-disabled.png differ diff --git a/public/img/ai-chat-tool-approval-requested-cropped.png b/public/img/ai-chat-tool-approval-requested-cropped.png new file mode 100644 index 00000000..5d6c2005 Binary files /dev/null and b/public/img/ai-chat-tool-approval-requested-cropped.png differ diff --git a/public/img/ai-chat-tool-call-complete-cropped.png b/public/img/ai-chat-tool-call-complete-cropped.png new file mode 100644 index 00000000..1e4344f9 Binary files /dev/null and b/public/img/ai-chat-tool-call-complete-cropped.png differ diff --git a/public/img/ai-chat-tool-menu-open-cropped.png b/public/img/ai-chat-tool-menu-open-cropped.png new file mode 100644 index 00000000..63936ace Binary files /dev/null and b/public/img/ai-chat-tool-menu-open-cropped.png differ diff --git a/public/img/ai-chat-tool-menu-open.png b/public/img/ai-chat-tool-menu-open.png new file mode 100644 index 00000000..99130efa Binary files /dev/null and b/public/img/ai-chat-tool-menu-open.png differ diff --git a/public/video/ai-chat-blog-post.mp4 b/public/video/ai-chat-blog-post.mp4 new file mode 100644 index 00000000..d9121fb5 Binary files /dev/null and b/public/video/ai-chat-blog-post.mp4 differ