学者贵知其当然与所以然,若偶能然,不得谓为学——孙中山

jcode:一位“把写代码这件事拉到更高天花板”的伙伴(Coding Agent Harness)

如果你见过那种做事极快、思路极清、还特别耐心的“搭子”,那你大概能想象 jcode 的气质:
它不是一个只会对话的工具,也不是只会跑一条指令的脚本。它更像一台精心调校过的“多会话工作流引擎”,站在终端里,随时准备把你从「单线条写代码」带进「多线程协作、可无限定制、性能还特别省」的世界。

jcode 的自我介绍也很直接:

The next generation coding agent harness to raise the skill ceiling.
Built for multi-session workflows, infinite customizability, and performance.

它说得不花哨,但每个词都带着野心:下一代harness(驯服/驾驭)提高上限多会话工作流无限可定制性能

而它在 GitHub 上的 Description 更像一句“名片上的职业”:

Coding Agent Harness


01|jcode 住在终端里,但它不“终端”

jcode 是一个 TUI(终端交互界面) 的存在:你打开终端,它就像一位坐在屏幕里的工程伙伴,既能陪你进行交互式工作,也能像一个冷静的执行者那样非交互运行命令,还能常驻后台开成服务,让你随时连接回来继续干活。

它不是那种“你只能跟我聊一聊”的助手;它更像一套专门为 多会话、多任务、持久化工作流 打造的架构。

它把自己活成了三种形态:

  • 交互式 TUI:像在开一间“终端里的工作室”
  • 非交互 run:像派一个人去把事办了,办完回来汇报
  • server/client 持久化:像在本机开一座“多入口的指挥中心”,你可以开好几个终端接入同一个后台大脑

02|它很在意“性能”:把每一毫秒都当成自尊

jcode 的性格里有一种很硬的坚持:
“我不允许自己拖沓。”

它在 README 里专门放了性能与资源效率的对比数据,像是在公开场合把自己的体检报告摊开给你看,并且非常自信地说:我就是那种“越开多会话越不慌”的人。

它强调这件事的原因也很直白:
要支撑 multi-session workflows,资源效率和响应速度不只是体验问题,而是“能不能规模化”问题。

你甚至能感受到它那种工程师式的偏执:
时间到第一帧、时间到第一次输入、RAM scaling……它都要测、都要对比、都要赢。


03|它有“记忆”(Memory),而且记得很聪明

jcode 的记忆不是“我记住你说过什么”这么简单,它更像一个认真做笔记、还会自己整理笔记的人。

README 的描述很像一个在认真解释自己脑回路的伙伴:

  • 每一轮对话/响应会被嵌入成语义向量(semantic vector)
  • 通过余弦相似度在“记忆图”里检索相关记忆
  • 记忆不仅要“能被检索”,还要“被提取并存储”
  • 还会在某些时机做自动 consolidation(整理、冲突检查、过期检查等)
  • 并且提供显式 memory 工具:让 agent 主动搜索或存储,而不只依赖后台的被动流程
  • 还支持 session search(会话搜索)

它像是在说:
“我不只是记性好,我还会把记忆整理成能用的知识结构。”


04|UI:它不满足于“能用”,它要“好用得离谱”

jcode 的 UI 特性像一个热衷布置工位的同事:
它不想让你在拥挤的终端里凑合,它要把信息摆放得清清楚楚。

README 里提到:

  • Side panels(侧边栏):用来展示辅助信息,比如让 agent 把文件加载进去,实时更新
  • Diagrams(图):甚至为了图的渲染,它搞了个新的 mermaid 渲染库,号称渲染速度提升到夸张的级别(README 里提到“render diagrams 1800x faster”)
  • Info widgets(信息小组件):只占“负空间”,尽量不抢正文区域
  • 超高帧率渲染:能渲染到上千 fps(它甚至会吐槽:你显示器刷新率都跟不上我)
  • 对齐模式:默认左对齐,但你可以用 Alt+C/alignment 或配置切换

它像个对排版特别敏感的伙伴:
“你写代码已经够累了,信息别再乱。”


05|Swarm:它会“组队”,而不是只会“单打独斗”

jcode 不是那种“我���个人包打天下”的英雄型角色,它更像一个团队型队长:

  • 你可以在同一个 repo 里 spawn 两个或更多 agent
  • server 会管理它们,让协作更自然
  • 它还允许 agent 自己“拉群组队”,并行完成任务
  • 重点是:它考虑到多 agent 编辑时的真实问题(比如 A 改了文件,B 读过旧版本,代码在脚下漂移),并且以“原生协作”的方式来处理

它像在说:
“别把复杂任务都压在一个脑子里,我们可以并行。”


06|OAuth & Providers:它社交能力很强,朋友圈很大

jcode 不要求你只跟某一家模型生态绑定。它更像一位“会办事的协调者”:
你已经订阅了哪个服务,它就尽量让你用你已经在付费的东西,同时还能在需要时 fallback 到直接 API provider。

README 中列出了支持的内置登录流(Built-in login flows):

  • Claude:jcode login --provider claude
  • OpenAI / ChatGPT / Codex:jcode login --provider openai
  • Google Gemini:jcode login --provider gemini
  • GitHub Copilot:jcode login --provider copilot
  • Azure OpenAI:jcode login --provider azure
  • Alibaba Cloud Coding Plan:jcode login --provider alibaba-coding-plan
  • Fireworks:jcode login --provider fireworks
  • MiniMax:jcode login --provider minimax
  • LM Studio:jcode login --provider lmstudio
  • Ollama:jcode login --provider ollama
  • Custom OpenAI-compatible endpoint:jcode login --provider openai-compatible

它还支持:

  • provider profile 一次性配置写入 ~/.jcode/config.toml
  • 密钥读取支持 --api-key-stdin(避免 shell history 泄露)
  • 本地/自建 OpenAI-compatible endpoint(支持 http://localhost / 私有 LAN)
  • MCP 配置文件(~/.jcode/mcp.json.jcode/mcp.json,并兼容 .claude/mcp.json

这感觉就像一位经验丰富的系统管理员在你耳边说:
“你手头已有的资源,我都能接起来;你想扩展,我也留了接口。”


07|Browser Automation:它还会“动手点网页”

jcode 甚至把浏览器控制当作一等公民(first-class built-in tool):

  • 内置 browser 工具用于 agent session 内的浏览器控制
  • 当前内置后端:Firefox via Firefox Agent Bridge
  • 动作包含:openclicktypefill_formscreenshotscrolleval……一串你看了就知道它不是玩具的能力

快速设置也很干脆:

1
2
jcode browser status
jcode browser setup

它像个能跑腿的同伴:
“你别来回切窗口了,我去点,我去填,我去截图给你看。”


08|Quick Start:让它先动起来,再慢慢熟悉它的脾气

jcode 的 Quick Start 不是“给你一个最小例子敷衍一下”,它是一套能直接把你带进节奏的开场白:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Launch the TUI
jcode

# Run a single command non-interactively
jcode run "say hello"

# Resume a previous session by memorable name
jcode --resume fox

# Run as a persistent background server, then attach more clients
jcode serve
jcode connect

# Send voice input from your configured STT command
jcode dictate

你从这里就能看见 jcode 的性格标签:

  • 它喜欢会话(session):还能用“好记的名字”恢复
  • 它喜欢常驻(serve/connect):让工作流不断线
  • 它也接受单次任务(run):像一次性委派
  • 它甚至愿意听你说话(dictate):热键友好,不强迫你安装一整套 STT

09|安装:它把门口修得很平整,来的人别绊倒

README 在 Installation 一开始就给了最短路径(macOS & Linux):

1
2
# macOS & Linux
curl -fsSL https://raw.githubusercontent.com/1jehuang/jcode/master/scripts/install.sh | bash

并且在 Detailed Installation 里,把不同平台、不同安装方式都列得明明白白:

Windows(PowerShell)

1
2
# Windows (PowerShell)
irm https://raw.githubusercontent.com/1jehuang/jcode/master/scripts/install.ps1 | iex

macOS via Homebrew

1
2
brew tap 1jehuang/jcode
brew install jcode

From Source(all platforms)

1
2
3
git clone https://github.com/1jehuang/jcode.git
cd jcode
cargo build --release

然后通过脚本把它“挂到你的 PATH 上”:

1
scripts/install_release.sh

它还给 Linux x86_64 的本地 self-dev/refactor 预留了偏好的构建方式:

1
2
scripts/dev_cargo.sh build --release -p jcode --bin jcode
scripts/dev_cargo.sh --print-setup

并解释这个 wrapper 会做一些构建性能相关的偏好设置(比如 sccache、linker 选择等),像一个很会照顾你电脑状态的搭档:
“别让构建把你拖死,我来帮你走快路。”


10|平台支持:它不挑人

README 的 Platform Support 表格给了非常明确的状态:

  • Linux x86_64 / aarch64:Fully supported
  • macOS Apple Silicon & Intel:Supported
  • Windows x86_64:Supported(native + WSL2)

它像是在说:
“你在哪儿工作都行,我跟着你。”


11|进一步阅读:它的“内心世界”写在文档里

如果你觉得 jcode 的气质不止是一个 CLI/TUI,那你会喜欢它把“架构与原理”作为 Further Reading 摆出来:

  • Ambient Mode / OpenClaw:docs/AMBIENT_MODE.md
  • Browser Provider Protocol:docs/BROWSER_PROVIDER_PROTOCOL.md
  • Memory Architecture:docs/MEMORY_ARCHITECTURE.md
  • Swarm Architecture:docs/SWARM_ARCHITECTURE.md
  • Server Architecture:docs/SERVER_ARCHITECTURE.md
  • iOS Client Notes:docs/IOS_CLIENT.md
  • Safety System:docs/SAFETY_SYSTEM.md
  • Windows Notes:docs/WINDOWS.md
  • Wrappers and Shell Integration:docs/WRAPPERS.md
  • Refactoring Notes:docs/REFACTORING.md

它像一位认真到有点“写论文式”的工程伙伴:
“你想了解我为什么这么做?我都写下来了。”


12|收尾:jcode 想做的不是“帮你写几行代码”,而是“把你写代码的方式升级”

jcode 的定位很清楚:Coding Agent Harness
它要做的不是替代你,而是给你一个可以扩展、可以并行、可以持续工作的“承载层”。

它像一位在终端里等你很久的队友,目光很稳:

  • 你想要快,它把响应与资源效率压到极限
  • 你想要记得住,它把记忆做成可检索、可整理的系统
  • 你想要协作,它能 swarm,能多会话,能 server/client 持久在线
  • 你想要自由,它把 provider、OAuth、OpenAI-compatible、MCP 都接好
  • 你想要舒服,它把 UI 做成侧边栏、对齐、信息组件、图渲染
  • 你想要动手,它甚至能帮你操控浏览器

当你下一次在终端里敲下:

1
jcode

你打开的可能不是“一个工具”,而是一个有脾气、有记忆、有速度感、还愿意陪你长期干活的工程伙伴。