惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
腾讯CDC
Jina AI
Jina AI
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
小众软件
小众软件
M
MIT News - Artificial intelligence
MyScale Blog
MyScale Blog
D
Docker
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
月光博客
月光博客
L
LangChain Blog
F
Fortinet All Blogs
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - Franky
C
Check Point Blog
U
Unit 42
人人都是产品经理
人人都是产品经理

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
I built a browser-based chat UI for Kiro CLI and it compl...
Jérôme GUYON · 2026-05-21 · via DEV Community

I've been living inside Kiro CLI for months now. The ACP integration in my JetBrains IntelliJ IDEA is fantastic for coding sessions : I get the full agentic power of Kiro right where my code lives. And the new Terminal UI with its syntax-highlighted markdown, collapsible tool outputs, and crew monitor is genuinely impressive and I love it.

But here's the thing. Not everything I do with an AI agent is coding. Sometimes I'm researching an architecture pattern. Sometimes I'm exploring a hypothesis about a system design. Sometimes I'm doing deep analysis on a technical decision and I want to see tool calls, and streaming responses in a comfortable visual layout, the kind of experience you get on claude.ai or ChatGPT. A web chat, basically. Except one that talks to Kiro's full agentic capabilities instead of a vanilla LLM.

So I built one with the AI-Driven Development Lifecycle (AI-DLC) methodology and Kiro CLI as my usual coding partner, I created Kiro UI a self-hosted, browser-based chat interface that connects to Kiro CLI via the Agent Client Protocol.

How it works. At its core, the architecture is simple: your browser (React 19 + Vite) connects via WebSocket to an Express server, which spawns and manages kiro-cli acp processes over stdio. Each browser tab gets its own independent agent process with its own context. The communication uses the ACP protocol.

What you get in the browser is a proper agentic chat experience: real-time streaming with markdown rendering and syntax highlighting, side-by-side diffs when the agent modifies files, collapsible tool call blocks with raw I/O inspection, an MCP server panel with live status indicators, permission management with auto-approve policies, slash command autocomplete, image and file attachments, a context usage meter showing how much of the context window you've consumed, ...

Let me show you how to get started.

Step 1: Clone the repository and install dependencies.

git clone https://github.com/guyon-it-consulting/kiro-ui.git
cd kiro-ui
npm install

Enter fullscreen mode Exit fullscreen mode

Step 2: Make sure Kiro CLI is installed and authenticated. You need kiro-cli in your PATH.

# Verify kiro-cli is available
which kiro-cli
# Should output something like: ~/.local/bin/kiro-cli

Enter fullscreen mode Exit fullscreen mode

Step 3: A single command builds the frontend and starts the server:

npm start
# Open http://localhost:3000

Enter fullscreen mode Exit fullscreen mode

Et voilà! You have a full-featured chat interface to Kiro's agentic capabilities running locally in your browser.

Step 4 (optional): If you prefer a desktop app experience, Kiro UI packages as an Electron app:

npm run electron:dev              # Dev mode
npm run electron:build:mac        # macOS → DMG + ZIP (universal)

Enter fullscreen mode Exit fullscreen mode

Things to know:

  • Self-hosted and private : Everything runs on localhost. No data leaves your machine.
  • Multi-tab sessions : Each tab spawns its own kiro-cli acp process. They're fully independent : different contexts, different conversations, different working directories.
  • Protocol-first design : Every feature is driven by ACP. The UI adapts to what the agent supports, including Kiro-specific extensions (_kiro.dev/*) for MCP servers, slash commands, and context compaction.
  • Configuration : Settings live in ~/.kiro-ui/ with settings.json for preferences and trust.json for persistent tool permission rules.
  • License : Apache 2.0. Use it, fork it, extend it.

Give it a try: https://github.com/guyon-it-consulting/kiro-ui. I'd love to hear how you use it and what features you'd want next.

— Jérôme