jcode
一句话简介
基于 Rust 的代码工具项目,提供高性能的代码处理与辅助功能。
标签
适用应用场景
- 代码格式化与处理
- 开发辅助脚本编写
- 命令行代码分析
- Rust 项目集成
README 中文摘要
项目概述
jcode 是一款面向 AI 编码代理的运行时外壳(Harness),主打极低的内存占用与极快的启动响应。它支持在本地同时运行多个会话,并提供内存系统、侧边栏渲染、子代理协作等特性,可作为 Claude Code、Cursor Agent、OpenCode 等同类工具的轻量替代方案。
性能与资源占用
内存对比(PSS 指标)
单个活跃会话:jcode(关闭本地嵌入)约 27.8 MB,jcode 默认配置 167.1 MB;同类工具中 Codex CLI 约 140 MB,pi 约 144.4 MB,而 Claude Code 高达 386.6 MB、OpenCode 达 371.5 MB。
10 个活跃会话:jcode 仅 260.8 MB,Codex CLI 为 334.8 MB,而 OpenCode 飙升至 3237.2 MB、Claude Code 达 2300.6 MB。每新增一个会话,jcode 额外占用约 10.4 MB,远低于 OpenCode(318.4 MB)与 Claude Code(212.7 MB)。
启动延迟
- 首帧渲染时间:jcode 约 14.0 ms,Codex CLI 882.8 ms,Claude Code 3436.9 ms。
- 首输入响应时间:jcode 约 48.7 ms,最快的同类工具仍慢 7.9 倍以上。
以上数据基于 Linux 平台 10 次交互式 PTY 启动的均值。
内存系统
每一轮对话都被嵌入为语义向量存入图谱,并通过余弦相似度检索相关记忆,注入到当前上下文中。可选的「记忆子代理」会验证记忆相关性并补充检索。未达到抽取阈值时(语义漂移、累计轮次、会话结束等)会触发后台抽取。系统还提供显式的 memory 工具供代理主动调用,并对历史会话提供传统 RAG 检索。环境模式(ambient mode)下会定期整合记忆,去除陈旧与冲突条目。
用户界面
- 侧边栏:可加载文件、显示 diff,或作为代理写入区域。支持 Mermaid 图表内联渲染。
- Mermaid 渲染器:自研的
mermaid-rs-renderer,无浏览器与 TypeScript 依赖,比传统方案快约 1800 倍。 - 信息部件(Info Widgets):仅占用屏幕负空间展示信息,无内容时自动隐藏。
- 渲染帧率:超过 1000 fps,避免闪烁。
- 滚动:自研
handterm终端,提供原生滚动 API,目前为开发中,普通终端下也已具备良好的滚动体验。 - 对齐方式:默认左对齐,可通过
Alt+C热键、/alignment命令或在配置中切换为居中模式。 - Emoji 控制:在
~/.jcode/config.toml中设置emoji = false,或启动时设置环境变量JCODE_NO_EMOJI=1,即可将 Emoji 替换为简洁的 ASCII 标记。
集群协作(Swarm)
在同一代码库中启动两个及以上代理时,服务端会自动协调。当代理 A 编辑了代理 B 已读取的文件,服务端会通知 B,由 B 决定是否检查差异并避免冲突。每个代理支持私信、全员广播或仓库内广播,并能通过 swarm 工具自主派生子代理,将主代理转为协调者、子代理为工作者,支持有界面与无界面两种模式。
OAuth 与 Provider
支持通过订阅 OAuth 登录多种服务,也可回退到直接 API Key:
# 内置订阅登录
jcode login --provider claude
jcode login --provider openai
jcode login --provider gemini
jcode login --provider copilot
jcode login --provider azure
jcode login --provider fireworks
# 自托管 OpenAI 兼容端点
jcode login --provider openai-compatible
内置的 OpenAI 兼容 Profile 涵盖 openrouter、orcarouter、deepseek、zai、kimi、moonshotai、opencode、opencode-go、302ai、baseten、cortecs、huggingface、nebius、scaleway、stackit、firmware 等。每个 Profile 仅配置 base URL 与 API Key 环境变量,模型仍通过 /model 或 --model 选择。
脚本化 Provider 配置
# 一次性写入命名配置(密钥通过 stdin 传入)
printf '%s' "$MY_API_KEY" | jcode provider add my-api \
--base-url https://llm.example.com/v1 \
--model my-model-id \
--api-key-stdin \
--set-default \
--json
# 验证连通性
jcode --provider-profile my-api auth-test --prompt 'Reply exactly JCODE_PROVIDER_SETUP_OK'
# 本地 vLLM(无需密钥)
jcode provider add local-vllm \
--base-url http://localhost:8000/v1 \
--model Qwen/Qwen3-Coder-30B-A3B-Instruct \
--no-api-key \
--set-default
常用可选参数:--api-key-env NAME(引用既有环境变量)、--api-key-stdin(不回显密钥)、--context-window TOKENS(持久化上下文窗口)、--overwrite(覆盖同名配置)、--model-catalog(启用 /v1/models 拉取)。Anthropic Messages 兼容网关使用同一套 Profile 机制,只需将 type 改为 anthropic-compatible 并指定 auth、api_key_env 等字段。
额外请求体字段(extra_body)
部分后端要求非标准顶层字段(例如 NVIDIA NIM 上的 DeepSeek-V4 需要 chat_template_kwargs)。可在 config.toml 中以 TOML 表形式声明:
[providers.my-nim.extra_body.chat_template_kwargs]
thinking = true
reasoning_effort = "high"
也可通过环境变量注入:JCODE_OPENAI_EXTRA_BODY={"chat_template_kwargs":{"thinking":true,"reasoning_effort":"high"}},该变量优先级高于配置文件。非法值会被记录并忽略,不影响请求。
MCP 配置
MCP 配置独立于 config.toml,主配置文件为:
~/.jcode/mcp.json:全局 MCP 服务器.jcode/mcp.json:项目本地 MCP 服务器
jcode 同时实时读取 Claude Code 的 ~/.claude.json 与 .mcp.json(包含项目级 projects.<abs_path>.mcpServers),变更无需重启即时生效;首次启动时会从 ~/.codex/config.toml 一次性导入 MCP 配置。配置文件同时支持 mcpServers 与历史 servers 键,当前仅启用 stdio 类型的服务器,HTTP/SSE 条目会被识别并跳过。
{
"mcpServers": {
"filesystem": {
"command": "/path/to/mcp-server",
"args": ["--root", "/workspace"],
"env": {},
"shared": true
}
}
}
无浏览器与脚本化登录
无头或 SSH 场景下:jcode login --provider <provider> --no-browser(别名 --headless)可输出认证链接或二维码并回退到手动粘贴。两步式流程:
jcode login --provider openai --print-auth-url --json
jcode login --provider openai --callback-url 'http://localhost:1455/auth/callback?...'
jcode login --provider gemini --auth-code '...'
jcode login --provider copilot --print-auth-url --json
jcode login --provider copilot --complete
待完成状态保存在 ~/.jcode/pending-login/,具备自动过期机制。
多账号切换
通过 /account 命令可在同一 provider 的多个账号之间快速切换(例如 ChatGPT Pro 多个订阅之间)。
自定义与自开发(Self-Dev)
进入 Self-Dev 模式后,jcode 可以直接修改自身源码、构建、测试并热加载二进制,在不中断现有会话的前提下继续工作。建议使用 GPT-5.5 或同等能力的前沿模型,以避免在复杂代码库中引入细微的破坏性改动。
安装
# macOS 与 Linux
curl -fsSL https://jcode.sh/install | bash
# Windows 11(PowerShell 5.1+)
irm https://jcode.sh/install.ps1 | iex
其他细节
- 缓存提醒:Anthropic Claude 缓存在 5 分钟后失效,jcode 会在 UI 中提示缓存变冷及异常缓存未命中。
- Firefox Agent Bridge:内置安装指引,完成后可在 jcode 中使用浏览器自动化。
- Agent grep:自研的文件结构感知 grep 工具,可在搜索结果中附带文件结构信息(原文截断,后续内容未提供)。
摘要更新于 2026-08-22 00:35:05
· 原文 41065 字符
· md5 2bf6b7bb8c6f…