Skip to content

Commit e4f9542

Browse files
Merge pull request #885 from keboola/devin/1773841768-kai-tool-permissions
docs: add dedicated Kai Settings page with Tool Permissions and System Instructions
2 parents 7b55ee1 + 118aa97 commit e4f9542

6 files changed

Lines changed: 107 additions & 0 deletions

File tree

_data/navigation.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@ items:
7777
- url: /kai/getting-started/
7878
title: Getting Started
7979

80+
- url: /kai/settings/
81+
title: Settings
82+
8083
- url: /kai/use-cases/
8184
title: Use Cases & Examples
8285

kai/best-practices.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ Test changes safely by creating a development branch in the Keboola UI, then wor
5959
- Let Kai handle credentials through secure configuration forms—never type secrets directly in chat
6060
- Say "I'll provide the API key when you prompt me" and Kai will use the secure configuration interface
6161
- Review every tool approval before confirming
62+
- [Configure Tool Permissions](/kai/settings/#tool-permissions) to control which tools Kai can use—block tools you don't need and set sensitive tools to **Always ask**
6263
- Use dev branches for testing
6364

6465
**Don't:**

kai/getting-started.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ Click the **KAI** button in your project's top navigation bar, or use keyboard s
5252

5353
When Kai wants to modify your project, you'll see a tool approval prompt. Review what Kai wants to do before approving. All actions are logged in your project's audit trail.
5454

55+
You can also click **Always allow** directly in the approval dialog to skip future confirmations for that specific tool.
56+
57+
For more granular control, see [Tool Permissions](/kai/settings/#tool-permissions) in Kai Settings.
58+
5559
## Contextual Awareness & Follow Mode
5660

5761
Kai is aware of what you're currently viewing in the Keboola UI. Every message you send includes your current page location, so Kai understands your context without needing explicit references.
@@ -101,5 +105,6 @@ Each user receives **150 turns (messages) per month per project** on contracted
101105

102106
## Next Steps
103107

108+
- [Kai Settings](/kai/settings/) — Configure Tool Permissions and System Instructions
104109
- [Use Cases & Examples](/kai/use-cases/)
105110
- [Best Practices](/kai/best-practices/)

kai/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ Kai is now in **Public Beta** and available to all users. Look for the **KAI** b
5050

5151
## Learn More
5252

53+
- [Settings (Tool Permissions & System Instructions)](/kai/settings/)
5354
- [Use Cases & Examples](/kai/use-cases/)
5455
- [Best Practices](/kai/best-practices/)
5556

88.7 KB
Loading

kai/settings.md

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
---
2+
title: Kai Settings
3+
permalink: /kai/settings/
4+
---
5+
6+
* TOC
7+
{:toc}
8+
9+
Kai's settings let you personalize how Kai behaves in your project. Open the Kai chat panel and click the **Settings** icon (gear) to access them. Settings are **per-user and per-project**, so each team member can configure their own preferences independently.
10+
11+
The settings panel has two tabs: **Tool Permissions** and **System Instructions**.
12+
13+
## Tool Permissions
14+
15+
Tool Permissions let you control which tools Kai is allowed to use. This eliminates the need to manually approve each action — you can pre-approve tools you trust and block those you don't want Kai to use.
16+
17+
{: .image-popup}
18+
![Kai Settings — Tool Permissions](/kai/kai-settings-tool-permissions.png)
19+
20+
### Tool Categories
21+
22+
Tools are organized into two categories:
23+
24+
- **Read-only tools** — Tools that only read data from your project (e.g., listing tables, reading configurations). By default, all read-only tools are set to **Always allow**.
25+
- **Write tools** — Tools that can create or modify resources in your project (e.g., creating configurations, updating transformations, running jobs).
26+
27+
### Permission Levels
28+
29+
For each tool, you can set one of three permission levels:
30+
31+
| Permission | Behavior |
32+
|------------|----------|
33+
| **Always allow** | The tool runs automatically without asking for confirmation. |
34+
| **Always ask** | Kai must request your approval each time before using the tool. |
35+
| **Block** | The tool is completely disabled and Kai cannot use it. |
36+
37+
### Setting Permissions
38+
39+
You can configure permissions in two ways:
40+
41+
- **From the Settings panel** — Open **Settings → Tool Permissions**, find the tool, and select the desired permission level.
42+
- **From the approval dialog** — When Kai requests approval for a tool, click **Always allow** to automatically approve that tool for all future uses.
43+
44+
Your permissions persist across all conversations within the same project.
45+
46+
## System Instructions
47+
48+
System Instructions let you provide Kai with persistent context and guidelines so you don't have to repeat yourself in every chat. Instructions exist at two levels: **project-level** (shared across all users) and **user-level** (personal to you). User-level instructions amend project-level instructions — both are included in every conversation.
49+
50+
### Project-Level Instructions
51+
52+
Project-level instructions apply to **all users** in the project. They are managed in the project settings:
53+
54+
1. Go to **Settings → Kai Assistant** in the main Keboola navigation.
55+
2. Enter your instructions in the **System instructions** text field.
56+
3. The instructions auto-save.
57+
58+
Use project-level instructions for team-wide standards such as:
59+
60+
- **Naming conventions** — e.g., "Always prefix staging tables with `stg_` and use snake_case for all column names."
61+
- **Coding standards** — e.g., "Write SQL transformations using CTEs instead of subqueries. Always include comments explaining business logic."
62+
- **Project context** — e.g., "Our fiscal year starts in April. Revenue calculations should exclude returns and use the `completed_at` date."
63+
64+
Project-level instructions can be edited by project admins and managers.
65+
66+
### User-Level Instructions
67+
68+
User-level instructions are **personal to you** and are added on top of the project-level instructions. They are configured in the Kai chat panel:
69+
70+
1. Open the Kai chat panel.
71+
2. Click the **Settings** icon.
72+
3. Select the **System Instructions** tab.
73+
4. Enter your instructions in the text field.
74+
5. The instructions auto-save.
75+
76+
Use user-level instructions for personal preferences such as:
77+
78+
- **Response style** — e.g., "Keep explanations concise. Always show the SQL query before executing it."
79+
- **Preferred workflows** — e.g., "Always create transformations in a dev branch first."
80+
- **Language or formatting** — e.g., "Respond in German. Use metric units."
81+
82+
### How Instructions Are Applied
83+
84+
When you start a conversation with Kai, both levels of instructions are included:
85+
86+
1. **Project-level instructions** are applied first.
87+
2. **User-level instructions** are appended on top.
88+
89+
This means user-level instructions can refine or add to the project-level instructions but cannot override Kai's core system rules.
90+
91+
### Tips
92+
93+
- Each instruction field supports up to **4,000 characters**.
94+
- Keep instructions clear and specific — vague guidelines are less effective.
95+
- Update instructions as your project evolves and conventions change.
96+
- Focus on rules Kai can't infer from your project data alone (e.g., business logic, team preferences).
97+
- If Kai doesn't seem to follow an instruction, try rephrasing it more directly.

0 commit comments

Comments
 (0)