单二进制 · 数据不出本机

你的模型,你的电脑,
你的 Agent。

Copher 是一个用 Go 开发的编码智能体。会话、流式输出、工具调用、权限审批、MCP、 子智能体、定时任务和 Git 快照,全部装在一个二进制里;接哪家模型你说了算, 代码和会话记录哪也不去。

Go 1.24 · macOS / Windows / Linux · Web、桌面与终端三大工作环境 · 内置离线模型,零配置可跑

Copher Web UI:正在整理当日国际国内大事,右侧抽屉预览刚写入的 markdown 文件

Agent 在做什么,你都看得见。

不做黑盒。每一次思考、每一次工具调用、每一处文件改动,都摊在对话流里,随时展开核对。

会话流中的思考过程块、工具卡片与右侧文件预览

每次工具调用都能展开看

思考过程逐行流式上屏,橙色 ✻ Thought 标签记录“这里想过”,点一下即可折叠; 工具卡片带着参数与耗时。任务进行中还有一行心跳提示——思考中、执行工具中、输出回答中, 分得清“在跑”和“断了”。

终端 TUI:多轮对话、思考过程与 webfetch 工具调用

改了什么,一眼看清;不对就撤

每一回合的文件改动以 diff 呈现,/undo 撤回上一回合碰过的文件, /redo 再应用回来。回合内还有验证与复核的闸门盯着证据,不是模型说“我做完了”就算数。

右侧抽屉正在预览刚写入的 markdown 文件

写出来的东西,直接预览

右侧抽屉就是文件浏览器:markdown、图片、PDF、音视频、docx、代码高亮,当场看; Git 面板、审计日志和应用内终端也住在同一列里。

会话再多,也井井有条。

按项目归档、随时续上;换模型和权限模式,都在输入框旁边,点一下的事。

欢迎页,模型选择为 deepseek-v4.1-flash
OpenAI、Anthropic、Gemini 原生协议,或任意 openai-compatible 网关——模型按 provider/model 引用,点一下就换。

按项目归档,随时续上

会话挂在项目目录下,侧栏分组、搜索、重命名、Fork、删除都在;数据库就是本机一个 SQLite 文件,历史会话打开即恢复。

插话、排队、分支

任务在跑也能继续输入,选排队或直接插话;任何一个回合都能“从此处分支”,试错不毁现场。

人不在电脑前,活照干。

排期、触发、记忆、外层循环——四样东西让 Copher 在合上盖子之后接着替你跑。

  • 定时任务

    五段 cron 排期一个 prompt,到点自动开跑,结果以通知块落回会话。/jobs 一条命令建好,到点看结果就行。

  • 事件触发

    不只看钟点:文件变了、会话结束了,都可以触发一轮新任务。租约与防重入都在常驻进程里管好。

  • 持久记忆

    决定、偏好、踩过的坑,写进可检索的记忆库;下一次会话先读再干,同样的学费不交两遍。

  • quest 与 workflow

    quest 拿着验收命令做外层循环:不过就再开一个回合,直到全绿;recipe 化的 workflow 把固定流程存下来反复跑。

需要的时候,它都在。

  • MCP 服务器

    标准 MCP 客户端,工具、资源、prompt 都能挂;OAuth 授权与工具白名单内建。

  • 子智能体

    一批子任务并发跑,可以各发一份私有工作树,改完交回 patch,由父会话亲手应用。

  • Skills 与 Agents

    一个 markdown 文件就是一个 agent 或一项技能:描述、模型、工具白名单、权限都写在文件头里。

  • Code Mode

    execute 工具里跑一段 JS,把十次工具调用写成一次循环,省掉来回的 token。

  • LSP 与格式化

    定义跳转、引用查找、诊断和保存即格式化——改完代码,让编译器和 linter 先说话。

  • 持久 shell 与伪终端

    目录和环境跨命令保留,长任务放后台;桌面壳里还有一块真正的应用内终端。

  • 附件

    图片、PDF、notebook 直接丢进对话,模型看得见,预览也看得见。

  • 沙箱

    macOS 走 sandbox-exec,Linux 上 rlimit + Landlock + seccomp 四道闸;约束不了就拒绝启动,绝不裸跑。

  • 中英双语与主题

    Web 与终端界面中英双语、深浅色齐备,键位可改,主题跟随系统也能手动切。

终端党的福利,也齐了。

Copher tui 是同一颗心脏的终端壳:思考流、斜杠命令、心跳行、/undo, 和 Web 版共用会话与配置。

终端多轮对话:提问、思考、调用 webfetch、回答
问天气、查资料、改代码——工具调用与结果原样落在对话里。

你的代码和密钥,只待在你的电脑上。

Copher 不设账号、不上传会话;唯一出网的,是你自己配置的模型服务商。

留在本机的

  • 全部会话与事件日志——一个 SQLite 文件,事件溯源,随时 prune
  • Git 快照与 undo 历史,改坏了一步就能回去
  • API Key:密封后写进本机配置,界面里删不掉手写的注释
  • 定时任务、记忆、Skills、agent 定义,全是本地文件

不会发生的

  • 没带 token,除静态页面外任何 API 都答不上话
  • 输出里的密钥被自动打码成 [redacted …],连日志都看不见原文
  • 网页抓来的内容被标记为不可信,不会当成指令来执行
  • rm -r、sudo、git push --force、terraform destroy 这类命令默认先弹审批

两条命令,先跑起来。

不用注册,不用配 Key:内置 fake/echo 离线模型,装完就能完整跑通一次工具回合。

# 编译(要求 Go 1.24+)
go build -o bin/Copher ./cmd/Copher

# 离线演示:fake/echo 会调用 glob 工具,然后汇总结果
./bin/Copher run -dir . "list files in the current directory"

# 想要 Web UI,起服务(浏览器打开 http://127.0.0.1:4096/)
export Copher_TOKEN="$(openssl rand -hex 24)"
./bin/Copher serve -addr 127.0.0.1:4096 -dir . -db ./Copher.db

要更顺手的使用:Copher tui 进终端界面;桌面版是 Tauri 壳, 和终端共用同一批会话;配好模型之后,Copher quest 可以带着验收命令整项目自主推进。

装之前,你可能想知道。

它和一般的编码 agent 有什么不同?

三件事:单二进制,Go 开发,没有任何运行时依赖;存储是事件日志加投影的 SQLite,会话可回放、可清理;权限模型长在核心里——四档模式、命令级审批、输出打码、不可信内容隔离,不是一个可选项。

必须先有 API Key 吗?

不用。内置 fake/echo 离线模型,零配置就能完整跑通工具回合,适合先看一眼它怎么工作;之后想接真模型,/connect 或改配置都行。

支持哪些模型服务商?

OpenAI Chat Completions、Anthropic Messages、Google Gemini 原生协议,以及任意兼容 /chat/completions 的网关(Ollama、vLLM、OpenRouter 等)。模型按 provider/model 引用,可以标注免费与思考档位。

Web UI 要登录吗?

不用登录、不用 cookie。页面本身不带任何会话数据,所以先于 token 放行;token 不对时停在“连接 Copher”卡片上,其余每个 API 路由都要 bearer 认证。

桌面版、Web 版和终端是三份数据吗?

是同一份。桌面壳(Tauri 2)自己不做业务,只是拉起同一个 Copher serve;TUI 甚至不经过 HTTP,直接进程内装配。三个界面打开的是同一批会话、同一份配置。

数据都存在哪里?

你指定的工作目录与数据库文件:默认一个 SQLite(Copher.db),事件日志加物化投影;配置在 ~/.config/Copher/。备份就是复制文件,Copher prune 按保留策略清理旧会话。

把下一个任务,交给它。

两条命令跑起来 go build -o bin/Copher ./cmd/Copher

Go 1.24 · 一个二进制 · 你的模型,你的电脑