跪拜 Guibai
← All articles
Artificial Intelligence

A Service Manager Born from a Rant: One Afternoon, 49M Tokens, and a Tauri Desktop App That Ships

By 一只牛博 ·
Read original on juejin.cn ↗ Google Translate ↗ Alt translation

A real, non-trivial desktop app — not a toy demo — was built in an afternoon by describing a problem in plain language and letting the model loop autonomously. The 1M context window held the entire conversation, including the opening rant, through hours of iteration, making multi-turn refinement practical without losing state.

Summary

A developer tired of untraceable Java, Go, Python, and Node processes occupying ports on a single Mac described the pain to doubao-seed-evolving on Volcano Engine's Agent Plan. The model didn't start coding — it proposed three architecture options, confirmed seven feature points, then built a Tauri + Vue3 desktop manager in a single afternoon while running in /loop mode.

Three rounds of fixes followed: a white screen from a missing Vue import, unresponsive UI with no loading states, and overlapping modals. Logic bugs were self-corrected; visual glitches required human description. The final tool scans configured directories to detect project type, Node version (from .nvmrc, .node-version, and engines), and start commands, while also reverse-scanning all listening ports system-wide to surface terminal-launched services that live outside any project folder.

The codebase landed at 3,347 lines (2,004 Rust, 1,343 Vue/TS) with no file exceeding 500 lines. Token consumption hit 49 million, all within a ¥49.9/month Medium plan that never triggered a usage warning. The tool is now the developer's daily driver for project start/stop, with Windows adaptation and open-sourcing planned next.

Takeaways
doubao-seed-evolving proposed three architecture options (menu bar tool, full desktop manager, lightweight CLI) before writing any code, then confirmed seven feature points individually.
The model's /loop mode ran unattended: it planned nine steps, executed them, self-checked, and continued without prompt-by-prompt hand-holding.
A white-screen bug was caused by using Vue's h function without importing it and calling a store outside setup; the model fixed both and produced an eight-item self-check checklist.
Logic-layer errors were self-corrected; visual layout problems (overlapping modals, spacing) required human description because the model cannot see the screen.
Node version detection reads .nvmrc, .node-version, and package.json engines in descending priority — a pattern the model arrived at independently.
Start command detection guesses among dev, serve, start in package.json scripts — a priority the developer never specified.
Before launching a process, the tool stuffs all nvm Node version bin directories into PATH, eliminating 'npm not found' errors.
Process termination sends SIGTERM, waits two seconds, then force-kills — no orphan processes.
The 'open project directory' feature bypasses Tauri's shell plugin permissions by calling macOS open or Windows explorer directly.
Total code: 3,347 lines (2,004 Rust backend, 1,343 Vue/TS frontend), with the largest file at 492 lines — no mega-files emerged.
Token consumption for the full build was 49 million, all within a ¥49.9/month Medium plan that never hit its 5-hour warning threshold.
The model added a 'will not delete local files' confirmation message on its own when removing a project from the list.
Volcano Engine's Agent Plan requires a dedicated API key and separate base URLs for Anthropic vs. OpenAI protocols; using the standard pay-as-you-go key silently bypasses the subscription.
Conclusions

The model's instinct to propose options and confirm requirements before coding — rather than jumping straight to implementation — mirrors what a senior engineer would do in a spec-less project, and it likely prevented significant rework.

Self-checking behavior (the eight-item checklist after fixing the white screen) suggests the model can be prompted into verification loops that catch regressions autonomously, which is more valuable than the initial code generation.

The 1M context window proved its worth not in a single prompt but across hours of iterative refinement: the model still recalled the opening complaint when asked to summarize at the end.

Visual UI bugs remain a hard boundary for LLM-based development. The model cannot see rendered output, so layout and styling issues require a human-in-the-loop who can describe what looks wrong.

The tool's pragmatic workarounds — stuffing all Node bin directories into PATH, calling OS-specific open commands instead of fighting Tauri's permission model — suggest the model internalized practical, 'just make it work' patterns from its training data rather than over-engineering abstractions.

49 million tokens sounds enormous, but the fixed-price subscription model makes the cost predictable. The developer never worried about a surprise bill, which changes the psychological calculus of letting a model run unattended.

Concepts & terms
doubao-seed-evolving
A large language model from Volcano Engine (ByteDance) that iterates weekly without changing its model ID. Subscribers always get the latest version without updating configuration. It offers 1M context and a 256k output limit.
Agent Plan
Volcano Engine's subscription-based API access plan that provides a fixed monthly quota of tokens and compute time, separate from pay-as-you-go billing. Requires a dedicated API key and plan-specific base URLs.
/loop mode
A Claude Code feature that lets the model run autonomously in cycles: it plans, executes, self-checks, and iterates without requiring a new prompt for each step.
Tauri
A framework for building lightweight desktop applications using a Rust backend and a web-based frontend (e.g., Vue, React). Produces smaller binaries than Electron by using the operating system's native webview.
Source: juejin.cn ↗ Google Translate ↗ Backup ↗