jcode 中文教程:先管好凭据、遥测和赞助发现
jcode 是一个 Rust 编写的 AI 编程代理外壳。它把终端界面、无头命令、会话恢复、SSH、多代理协作、MCP 和多家模型提供方放进同一套程序。客户端采用 MIT 许可,但模型调用可能消耗你已有订阅或 API 额度。它也不是完全离线的软件:普通遥测和赞助工具发现默认开启,首次使用前应该先决定是否保留这两项。
v0.86.0。本教程固定这个稳定版,不把 master 分支上的后续提交当成已经发布的功能。1. 为什么这页值得继续更新
2026-09-22 报告约有 413 次展示、12 次点击。点击在两期都存在,所以不能按“长期无人访问”处理。数据只说明搜索需求持续,不代表项目性能宣传已经被本站复现。
v0.86.0 主要改进客户端消息类型、共享 SSH 连接,并修复 OpenAI WebSocket 恢复、用量与成本估算、定时任务和本地技能加载。完整变化以官方 release为准。
2. 固定版本并核对安装来源
macOS 已有 Homebrew 时,官方 tap 比把远程脚本直接接到 shell 更容易检查和回滚:
brew tap 1jehuang/jcode
brew install jcode
jcode --version
Linux 或没有 Homebrew 的 macOS 可先下载官方脚本,读完再执行。Windows 官方安装器会根据架构下载 release,并对照 SHA256SUMS;Alacritty 和全局快捷键需要另行同意。源码构建使用 cargo build --release。
curl -fsSLo /tmp/jcode-install.sh https://jcode.sh/install
less /tmp/jcode-install.sh
bash /tmp/jcode-install.sh
jcode --version
3. 首次启动前先设置两个网络开关
普通遥测默认开启。官方 TELEMETRY.md 说明,它使用随机安装 ID,记录版本、系统、provider、模型、会话结果和功能级计数,不包含普通会话的提示、源码或回答。单独的完整 transcript 分享默认关闭;主动开启后,会上传提示、回答、保留的推理、消息中的源码和工具结果。
jcode telemetry status --json
jcode telemetry disable
# 也可以在启动环境中设置:
export JCODE_NO_TELEMETRY=1
另一个开关是赞助工具发现。源码写明它默认开启,目录中的供应商可以付费获得展示位置。discover_tools 会把工具类别、重新概括的能力需求和选择理由发给发现服务;在配置了赞助商收件人时,与其条目有关的摘要还可能进入赞助报告。若不需要这个功能,在 ~/.jcode/config.toml 加入:
[sponsors]
enabled = false
这两项是不同的数据路径。关闭普通遥测不能替代关闭赞助发现,反过来也一样。
4. 只配置一个模型提供方
jcode 支持 Claude、OpenAI、Gemini、Copilot、Azure 及多种 OpenAI 兼容服务,也能连接 Ollama、LM Studio 或自建 vLLM。先选你已经有凭据的一家,不要一上来批量导入所有工具的登录状态。
# 查看 jcode 判断出的真实凭据来源
jcode auth status --json
# 示例:已有 OpenAI/Codex 登录时
jcode login --provider openai
jcode auth-test --provider openai
# 示例:本机 Ollama
jcode login --provider ollama
jcode --provider ollama --model llama3.2 run '只回复 JCODE_OK'
openai OAuth 与 openai-api API key 是两条不同路径,Claude 也一样。auth-validation.json 只是上次测试的缓存,超过七天的失败记录不能证明当前凭据失效;应重新执行 auth-test。
5. 外部凭据要逐个授权
jcode 能发现 Codex、Claude Code、OpenCode、Gemini CLI、Copilot、Cursor 等工具留下的认证文件。官方认证文档称,首次发现后会列出来源,只有得到逐项同意才读取,且不会把凭据复制进 jcode 自己的存储。确认时至少核对文件路径、provider 名称和认证类型。不要把一个目录的授权扩大成“读取所有历史工具凭据”。
6. 在小仓库做第一次验证
mkdir -p /tmp/jcode-smoke
cd /tmp/jcode-smoke
git init
printf 'hello\n' > README.md
jcode run '读取 README.md,只说明它有几行,不要修改文件'
运行前后检查 git status、provider 用量面板和 jcode 会话记录。确认只读任务没有意外改文件,再试一个可回滚的小修改。SSH、MCP、浏览器和 swarm 会扩大网络与执行权限,等单代理路径稳定后再逐个开启。
7. 不要直接照搬官方性能数字
官方 README 给出了 RAM 和启动时间对比,但这些数字来自项目方选定的机器、版本和 PTY 测试。终端、仓库大小、本地 embedding、模型和并发数都会改变结果。要比较实际成本,应在同一台机器、同一个仓库和同一个模型上,记录冷启动、稳定内存、首次响应、完成时间和 provider 账单。
8. 同类对比:jcode 与 OpenCode
相比 OpenCode,jcode 更强调原生 Rust TUI、共享 server、SSH 会话和内建 swarm;OpenCode 的官方生态集中在自己的 client/server、模型和插件体系。两者都能接多家 provider。选择时应比较已有登录方式、工具权限提示、diff 可读性、会话恢复和总费用,同时把 jcode 默认开启的遥测与赞助发现算进隐私评估。
9. 卸载前先看保留范围
官方普通卸载会删除程序,但保留配置、认证和会话。只有 --purge 才清除这些数据。先用 dry-run 看路径,再决定是否备份:
curl -fsSL https://raw.githubusercontent.com/1jehuang/jcode/master/scripts/uninstall.sh \
| bash -s -- --dry-run --purge
这里仅补原教程没有展开的事实和边界。安装命令与操作步骤仍以前文为准。
先判断这个项目是否适合你
适合谁用
适合希望在一个终端外壳里切换多个模型提供方、恢复会话、运行并行代理或连接远程开发机的人。只需要简单问答或单一 provider 时,额外的 server、认证和遥测配置会增加维护量;严格离线环境应改用本地模型,并关闭遥测、赞助发现和不需要的网络工具。
采用建议
推荐从 v0.86.0、小测试仓库和单一 provider 开始;首次运行前明确决定是否关闭遥测和赞助发现,只在需要时授权外部凭据、SSH、MCP、浏览器或 swarm。
原教程未展开的系统信息
核心功能
会话与多代理协作
TUI、无头命令和 SDK 共用会话能力;swarm 模式可在同一仓库中运行多个代理,并在已读文件被其他代理修改时发出通知。
远程与工具接入
支持原生 SSH 会话、MCP、浏览器工具、侧边面板和自定义 OpenAI 兼容 endpoint;远程凭据导入和外部凭据复用有单独的确认流程。
技术栈和运行条件
语言
Rust workspace,原生 TUI、server、SDK 与 provider adapters
框架
Cargo、Tokio 风格异步服务、多 provider/OAuth、MCP、SSH 与本地会话存储
关键依赖
- macOS Apple Silicon/Intel、Linux x86-64/aarch64、Windows x86-64/ARM64;v0.86.0 release 另列 FreeBSD x86-64 资产
- 在线模型需要对应订阅或 API key;Ollama、LM Studio、自建 vLLM 可走本地或自管 endpoint
- 源码构建需要 Rust toolchain;Windows 源码构建还需要 Visual Studio 2022 C++ workload
运行环境
默认在 ~/.jcode 与平台配置目录保存会话、认证和 provider 配置;普通遥测默认开启,赞助发现默认开启;MIT 许可
常见问题
jcode 本身免费,为什么运行仍可能花钱?
jcode 客户端采用 MIT 许可,但云端模型由对应 provider 计费,或要求已有订阅。使用 Ollama、LM Studio 或自建 vLLM 可把推理放到自己的机器或服务器,硬件和运维成本仍由你承担。
怎样彻底关闭 jcode 普通遥测?
运行 jcode telemetry disable,或设置 JCODE_NO_TELEMETRY=1、DO_NOT_TRACK=1,也可创建 ~/.jcode/no_telemetry。官方文档称关闭后遥测模块不会发网络请求;可用 jcode telemetry status --json 检查。
赞助工具发现会发送什么?可以关闭吗?
discover_tools 会发送固定类别、重新概括的能力需求和选择理由;服务可能把与赞助条目相关的摘要交给已配置的赞助商收件人。它默认开启,在 ~/.jcode/config.toml 写入 [sponsors] enabled = false 可关闭。
jcode 会自动读取 Codex、Claude Code 或 OpenCode 的登录凭据吗?
它能发现这些外部凭据来源,但官方认证文档称读取前要逐项同意,凭据不会复制进 jcode 自己的存储。先用 jcode auth status --json 查看来源,只授权你认识的文件。
卸载 jcode 会删除会话和密钥吗?
普通卸载默认保留配置、认证和会话,方便重装后继续使用。需要全部清除时使用官方卸载脚本的 --purge;先加 --dry-run 查看将删除的路径,再自行备份需要的会话。