<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: ZONGYUAN SUI</title>
    <description>The latest articles on DEV Community by ZONGYUAN SUI (@eeyzs1).</description>
    <link>https://dev.to/eeyzs1</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4052144%2Fd71ac277-fd6b-4db4-839b-2e20875aae44.png</url>
      <title>DEV Community: ZONGYUAN SUI</title>
      <link>https://dev.to/eeyzs1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/eeyzs1"/>
    <language>en</language>
    <item>
      <title>I built an AI IDE that shows you exactly what it sends to the model</title>
      <dc:creator>ZONGYUAN SUI</dc:creator>
      <pubDate>Wed, 29 Jul 2026 05:00:32 +0000</pubDate>
      <link>https://dev.to/eeyzs1/i-built-an-ai-ide-that-shows-you-exactly-what-it-sends-to-the-model-3jh8</link>
      <guid>https://dev.to/eeyzs1/i-built-an-ai-ide-that-shows-you-exactly-what-it-sends-to-the-model-3jh8</guid>
      <description>&lt;p&gt;Every AI coding tool asks for the same leap of faith: trust that the context it&lt;br&gt;
sends is reasonable, and trust that the agent won't touch anything it&lt;br&gt;
shouldn't. I got tired of leaps of faith, so I built&lt;br&gt;
&lt;a href="https://github.com/eeyzs1/DevWit" rel="noopener noreferrer"&gt;DevWit&lt;/a&gt; — a free, open-source AI IDE where&lt;br&gt;
both are fully visible and enforceable.&lt;/p&gt;

&lt;h2&gt;
  
  
  The two walls I kept hitting
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Wall 1: opaque context.&lt;/strong&gt; The model's answer degrades, and you can't tell&lt;br&gt;
why. Was a 40k-token file silently injected? Did a stale RAG chunk crowd out&lt;br&gt;
the file you actually care about? Most tools treat the prompt as a black box.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wall 2: ambient authority.&lt;/strong&gt; Agents that can write files and run shell&lt;br&gt;
commands are genuinely useful — right up until one does something you didn't&lt;br&gt;
expect. "It mostly asks first" is not a permission model.&lt;/p&gt;

&lt;p&gt;DevWit's answers to these two walls are its core features.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feature 1: The Context Panel
&lt;/h2&gt;

&lt;p&gt;Every LLM request in DevWit renders a complete manifest before it's sent:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The system prompt (per-mode, editable)&lt;/li&gt;
&lt;li&gt;The tool list&lt;/li&gt;
&lt;li&gt;Every injected item — files, RAG chunks, terminal output, diagnostics —
each with its own token count&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Any item can be toggled off, per request. Cut a noisy retrieval result and you&lt;br&gt;
watch the token total drop in real time. After the request, the manifest is&lt;br&gt;
written to disk, so "what exactly did the model see when it produced this&lt;br&gt;
diff?" is an answerable question — weeks later, in an audit, if needed.&lt;/p&gt;

&lt;p&gt;The codebase index (RAG) follows the same rule: retrieval hits appear as&lt;br&gt;
individual, labeled items in the manifest, and if nothing was injected, the&lt;br&gt;
panel says &lt;em&gt;why&lt;/em&gt; (index disabled / still building / no hits / provider&lt;br&gt;
doesn't support embeddings). No silent failures.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feature 2: The Authorization Gate
&lt;/h2&gt;

&lt;p&gt;The agent runtime physically cannot write a file or execute a shell command&lt;br&gt;
without a per-action approval. The gate shows the exact operation — file path&lt;br&gt;
or full command line — and you approve, reject, or remember the decision for&lt;br&gt;
the project.&lt;/p&gt;

&lt;p&gt;This isn't a system-prompt promise. The tool execution path routes through an&lt;br&gt;
authorizer; without a recorded approval the call doesn't happen. MCP tool&lt;br&gt;
servers get the same treatment: every external tool call goes through the gate&lt;br&gt;
under its fully-qualified name.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feature 3: Lean context by routing
&lt;/h2&gt;

&lt;p&gt;More context isn't better context. DevWit includes a task router that&lt;br&gt;
classifies each request: simple ones (typo fixes, small questions) go to a&lt;br&gt;
local model via Ollama — free, private, offline-capable — while complex&lt;br&gt;
multi-file work goes to your configured cloud model (Anthropic or any&lt;br&gt;
OpenAI-compatible API). A per-session usage ledger tracks tokens and estimated&lt;br&gt;
cost, so the routing decision is auditable too.&lt;/p&gt;

&lt;h2&gt;
  
  
  It's a real IDE, not a chat wrapper
&lt;/h2&gt;

&lt;p&gt;Under the AI features is a daily-driver editor:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;TypeScript language server&lt;/strong&gt; — live diagnostics, hover, go-to-definition&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integrated Git&lt;/strong&gt; — status badges in the file tree, stage/commit, inline diff&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Breakpoint debugging&lt;/strong&gt; — DAP via js-debug: breakpoints, stepping, variable
inspection&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-agent orchestration&lt;/strong&gt; — a planner mode decomposes intent into
parallel sub-agents with per-agent activity streams&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom modes&lt;/strong&gt; — define your own system prompt / tool set / model /
context policy per mode, hot-reloaded, shareable as JSON&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MCP tool servers&lt;/strong&gt; — stdio servers managed from settings, lifecycle
handled on quit&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Engineering honesty
&lt;/h2&gt;

&lt;p&gt;v0.3.0 is verified by &lt;strong&gt;614 unit tests and 28 end-to-end suites&lt;/strong&gt; that drive&lt;br&gt;
the real packaged app (not mocks). Ships for Windows (NSIS), macOS (dmg/zip),&lt;br&gt;
and Linux (AppImage/deb), with auto-update from GitHub Releases.&lt;/p&gt;

&lt;p&gt;What it deliberately does &lt;strong&gt;not&lt;/strong&gt; have: accounts, cloud sync, a marketplace,&lt;br&gt;
or any paywall. Telemetry is opt-in, off by default, anonymous, and collects&lt;br&gt;
zero content — the endpoint is configurable if you'd rather self-host&lt;br&gt;
&lt;a href="https://posthog.com" rel="noopener noreferrer"&gt;PostHog&lt;/a&gt;. It's free software, and it will stay that way.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;The near-term roadmap is trust and reach: Azure Trusted Signing for Windows&lt;br&gt;
builds (infrastructure is already in CI, waiting on my account), winget&lt;br&gt;
distribution (PR under review), then deeper LSP language coverage.&lt;/p&gt;

&lt;p&gt;If you work on a team with compliance requirements — or you simply want to&lt;br&gt;
know what your AI tools are doing — I'd genuinely love your feedback.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Links&lt;/strong&gt;: &lt;a href="https://github.com/eeyzs1/DevWit" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; ·&lt;br&gt;
&lt;a href="https://github.com/eeyzs1/DevWit/releases/latest" rel="noopener noreferrer"&gt;Releases&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>electron</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
