Skip to main content

Chat Workspace

The chat workspace is GenieBuilder's primary interface for AI interaction. It provides multi-tab conversations, real-time streaming responses, and seamless integration with MCP tools.

Chat Workspace - Empty State

Multi-Tab Architecture

Unlike single-chat interfaces, GenieBuilder allows multiple concurrent conversations:

Chat Workspace - Multiple Tabs

Benefits of multi-tab chat:

  • Compare responses from different providers
  • Separate contexts (planning vs implementation vs review)
  • Preserve conversation history per task

Benefits of multi-tab chat:

  • Compare responses from different providers
  • Separate contexts (planning vs implementation vs review)
  • Preserve conversation history per task
  • No need to clear context when switching topics

Per-Tab Configuration

Each tab maintains its own:

  • Provider: Cloud or local LLM
  • Model: Specific model version
  • Context: Conversation history
  • Tool access: Enabled MCP tools

Streaming Behavior

Responses stream in real-time for a responsive experience:

Streaming States

StateIndicatorAction
IdleStatic send buttonReady for input
StreamingPulsing indicatorReceiving tokens
Tool CallTool iconExecuting MCP tool
WaitingSpinnerAwaiting user approval

Chat Workspace - With Message

Safety Model

GenieBuilder implements a layered safety approach:

Tool Approvals

Mutating operations require explicit confirmation:

Auto-approved (read-only):

  • File reading
  • Git status/diff
  • Task viewing

Requires approval (mutating):

  • File writing
  • Git commit/push
  • Task status changes
  • Shell command execution

Approval dialog shows:

  • Tool name and operation
  • Affected resources
  • Preview of changes (when available)

Provider-Specific Safety

Different providers have different safety characteristics:

ProviderSafety Notes
OpenAIBuilt-in content filtering
AnthropicConstitutional AI safety
GeminiGoogle safety filters
OllamaLocal, no external filtering
CLI RunnersDepends on CLI tool settings

Markdown Rendering

Chat messages support rich Markdown formatting:

Code Blocks

Fenced code blocks with syntax highlighting:

```typescript
function greet(name: string): string {
return `Hello, ${name}!`
}
```

Features:

  • Shiki-powered highlighting
  • Language auto-detection
  • Copy button on hover
  • Line numbers (optional)

Other Formatting

  • Bold and italic text
  • Bullet and numbered lists
  • Tables
  • Blockquotes
  • Inline code
  • Links (clickable)

Tool Execution in Chat

MCP tools are available as function calls:

Tool Discovery

Available tools are listed in the chat context:

  • Git operations (branch, commit, diff)
  • Backlog operations (task CRUD)
  • Shell execution
  • Custom MCP tools

Tool Results

Tool execution results appear inline:

[Tool: git.status]
Result: Working tree clean

[Tool: backlog.task_view]
Result: TASK-123 — Implement auth
Status: In Progress

Chain of Thought

Complex tasks may involve multiple tool calls:

  1. Plan: "I'll help you implement authentication"
  2. Read: Examine existing code
  3. Modify: Create/update files
  4. Verify: Run tests
  5. Commit: Save changes

Each step shows tool calls and results.

Keyboard Shortcuts

ShortcutAction
Ctrl/Cmd + EnterSend message
EscapeCancel/close dialogs
Tab Management

Use the + button in the chat tab bar to create new tabs, and click the × on a tab to close it.

Chat History

Current Beta limitations:

  • History is runtime-local only
  • Not persisted across app restarts
  • Each tab maintains independent history

Planned improvements:

  • Persistent history storage
  • Search across conversations
  • Export/import conversations

System Prompts

GenieBuilder includes a system prompt builder that:

  • Injects workspace context
  • Describes available tools
  • Sets communication style
  • Includes task context (when applicable)

Example system prompt excerpt:

You are an AI assistant in GenieBuilder.
Current workspace: /Users/dev/project
Available tools: git, backlog, shell
Current task: TASK-123 — Implement auth

Tool Set per Tab

Configure which MCP tools are available:

toolSet: {
git: true, // Git operations
backlog: true, // Task management
shell: false // No shell access
}

This allows restricting tool access for safety or focus.

Using Chat for Workflows

Chat can trigger workflow execution:

User: "Run the code review workflow on TASK-123"
→ Chat interprets intent
→ Triggers workflow:example-code-review
→ Associates with task TASK-123
→ Shows workflow progress in overlay

Best Practices

  1. Use tabs for different contexts — Don't mix unrelated topics
  2. Choose appropriate providers — Match model to task complexity
  3. Review tool approvals — Verify before confirming mutating operations
  4. Cancel if needed — Don't wait for incorrect responses
  5. Reference tasks explicitly — "Update TASK-123" is clearer than "update the task"

Troubleshooting

Slow Responses

If streaming feels sluggish:

  1. Check network connectivity (for cloud providers)
  2. Verify local model is loaded (for Ollama)
  3. Close unused tabs to free memory
  4. Check for large context windows

Tool Calls Failing

If MCP tools fail to execute:

  1. Verify MCP sidecar is running (check Settings)
  2. Review tool approval settings
  3. Check sidecar logs for errors
  4. Restart MCP sidecar if needed

Formatting Issues

If Markdown doesn't render correctly:

  1. Check the raw message (view source option)
  2. Report rendering bugs with examples
  3. Use simpler formatting as workaround