--- title: "The Complete jcode Guide: A Hands-On Review of a Rust-Built Ultralight AI Coding Agent" date: 2026-09-23 time: "18:35" model: "deepseek-v4-flash" category: knowhow summary: "A hands-on record of wiring the Rust-built coding agent jcode — which boots in 14ms in the terminal and uses only 27.8MB of RAM — directly to DeepSeek V4 Flash. About 86% of the roughly 14,000-token system prompt is reused as cache, confirming a cost of about 0.1 won per question." tags: "jcode, Rust, coding agent, DeepSeek, token saving, CLI, Ollama, cache" --- ## Bottom Line First Used well, jcode is a bargain. It starts in 14ms in the terminal and eats only 27.8MB of RAM. When I actually measured it wired to DeepSeek V4 Flash, about 86% of the roughly 14,000-token system prompt was reused as cache, so the cost per question was only about 0.1 won. These are operator-environment measurements. ## 1. What Is jcode jcode is an open-source AI coding agent harness first released by American developer Jeremy Huang in February 2026. It is MIT-licensed and completely free. | Item | Content | |------|------| | Official site | jcode.sh | | GitHub | 1jehuang/jcode | | Language | Rust | | License | MIT | | Latest version | v0.87.1 (operator-environment measurement) | | GitHub stars | about 17,000 (as of August 2026) | | Install | curl -fsSL https://jcode.sh/install \| bash | A harness is a cockpit that pulls an AI model (Claude, GPT, Gemini, DeepSeek, and so on) into the terminal and makes it read code, edit, and run commands. In other words, jcode is not the model itself but a shell that connects a model. ## 2. Why It Is Lightweight, in Numbers ### RAM Usage | Item | jcode | Claude Code | |------|-------|-------------| | 1 session | 27.8MB | 386.6MB | | 10 sessions | 117MB | 2,300MB | | Ratio | 1x | about 14-20x | Whereas Claude Code or Copilot CLI load Electron and the Node.js runtime whole, jcode is a Rust native binary with almost no overhead. The official line is that you can run 10-20 agents at once even on an 8GB laptop. ### Boot Speed | Item | jcode | Claude Code | Codex | |------|-------|-------------|-------| | Boot time | 14ms | about 3.4s | about 14s | | Multiple | 1x | about 245x slower | about 63x slower | Operator-environment measurement; after install, `jcode --version` responds instantly. ## 3. Four Core Features ### Semantic Memory Graph A vector-based memory automatically recalls relevant context. When repeating work on the same project, it remembers previous conversations and the file structure so you do not have to explain again. ### Agent Swarm It runs multiple AI agents in parallel. CrewAI-style collaboration — running a planner, coder, and reviewer at once — is handled inside the terminal. ### 30+ Provider Support Claude, OpenAI, Gemini, DeepSeek, OpenRouter, Ollama, LM Studio, Copilot, xiaomi-mimo, and more can be swapped with a single `--provider` option. You can switch mid-conversation with the `/model` command. ### MCP and Browser Automation MCP server connections, browser automation, Mermaid diagram rendering, and a side-panel UI come built in. ## 4. From Install to DeepSeek Connection ```bash # Install curl -fsSL https://jcode.sh/install | bash # Version check jcode --version # jcode v0.87.1 (operator-environment measurement) # Connect DeepSeek (API key required) jcode --provider deepseek # Specify a model jcode --provider deepseek --model deepseek-v4-flash # Ask one question and exit jcode --provider deepseek run "1+1? One line" # REPL mode (chat without the TUI) jcode --provider deepseek repl ``` If you save your API key in `~/.config/jcode/deepseek.env` as below, you do not have to enter it every time. ```bash mkdir -p ~/.config/jcode echo "DEEPSEEK_API_KEY=sk-xxxx" > ~/.config/jcode/deepseek.env chmod 600 ~/.config/jcode/deepseek.env ``` ## 5. Connecting a Local Ollama Model and Its Limits ```bash # Connect local Ollama (no tool calls) jcode --provider ollama --model qwen3.8-9b-distill:latest --tool-profile none ``` One caveat. Local Ollama models cannot parse jcode's tool-calling grammar and throw an error. ``` Failed to initialize samplers: failed to parse grammar ``` So you must add `--tool-profile none` to make it work. In this mode, agent features like file reading, writing, and command execution are off, and only simple conversation works. To use it as a real coding agent, you must connect an API model such as DeepSeek, Claude, or GPT. | Model type | Connect | Tool calls | Note | |-----------|------|-----------|------| | DeepSeek API | Yes | Yes | Measured | | Claude API | Yes | Yes | Officially supported | | OpenAI API | Yes | Yes | Officially supported | | Gemini API | Yes | Yes | Officially supported | | Ollama local | Yes | No | --tool-profile none required | ## 6. Measured Injected Tokens Before the Answer I measured actual token usage with the `--trace` option. Operator-environment measurement. ### Input Tokens by Profile | Profile | Input tokens | System prompt estimate | Description | |----------|-----------|---------------------|------| | none | about 800 | about 750 | No tools, simple chat | | minimal | about 3,000 | about 2,900 | 10 basic tools and rules | | full (DeepSeek) | about 14,000 | about 13,500 | All tools and detailed rules | ### Tool List Injected in minimal (measured) read, write, edit, multiedit, apply_patch, patch, bash, ls, and agentgrep, plus skill tools (/ollama, /tavily-search, and so on), for 15 injected in total. ### Actual Log of One Weather Question Here is the actual flow when I asked "What is the weather today?" | Step | Input tokens | Output tokens | Cache hits | Action | |------|-----------|-----------|-----------|------| | 1st request | 14,281 | 267 | 13,824 | Question received, bash tool called | | 2nd request | 14,608 | 91 | 14,464 | Re-request after weather search | | 3rd request | 15,401 | 265 | 14,592 | Generate answer after reading the web page | | Final answer | 18,091 | 151 | 15,616 | Final answer output | Total input about 18,000 tokens, total output about 774 tokens, cache reuse about 15,600 tokens (86%). ## 7. Why the Cache Hit Rate Is the Bargain DeepSeek API's context-caching discount is known to be around 50x, larger than the industry standard (10x discount). Repeated parts like the system prompt are handled as cache hits, so the cost plunges. Converting the measurement above to DeepSeek V4 Flash rates (input about $0.14/1M, cache hit about $0.014/1M, output about $0.28/1M): | Item | Tokens | Rate | Cost | |------|------|------|------| | Input (cache miss) | about 2,400 | $0.14/1M | about $0.0003 | | Input (cache hit) | about 15,600 | $0.014/1M | about $0.0002 | | Output | 774 | $0.28/1M | about $0.0002 | | Total | | | about $0.0007 (about 0.1 won) | About 0.1 won per question. With a balance of $11.59, that works out to about 16,500 questions. Operator-environment measurement, and rates may change. ## 8. Who It Suits | Type | Fit | Reason | |------|--------|------| | Terminal power user | High | Handle everything with the keyboard, no GUI | | Low-spec environment (8GB RAM) | High | 27.8MB allows multiple sessions | | API-cost-sensitive user | High | Great chemistry with DeepSeek's cache | | GUI editor preferrers | Low | TUI/CLI-centric, so Cursor is better | | Sensitive to beta anxiety | Medium | Some features are still in beta | ## 9. Three Common Sticking Points ### The TUI Does Not Appear jcode is an interactive screen (TUI), so stdin and stdout must be a TTY. If a background server is already running, stop it and run again. ```bash jcode server stop jcode --provider deepseek ``` ### DEEPSEEK_API_KEY not found Create the `~/.config/jcode/deepseek.env` file and set its permissions to 600. Restart the terminal or reload the environment variables with `source ~/.zshenv`. ### Grammar Error on Ollama This is a problem where the local model cannot parse the tool-calling schema. Add `--tool-profile none` to use it for simple chat, or switch to an API model. ## 10. One-Line Conclusion If you are tired of heavy, expensive agent harnesses, the jcode + DeepSeek combination is a realistic alternative. It is light, fast, and about 0.1 won per question, so you can run it without burden. The configuration that uses local Ollama only for chat and connects a DeepSeek API key when you need a real coding agent offers the best value.