言
更新日期:2026年10月21日
本地运行的开源长程 Agent,通过 SiliconFlow API 接入大模型,可在无人值守的情况下持续数小时乃至数天推进一项任务。
1. 关于言
言是一个本地运行的开源 Agent,专注于长程任务:让模型在无人值守的情况下,把一项需要数小时乃至数天的工作持续推进下去。它可以作为日常的对话助手,也可以绑定一个工作目录,在其中读写代码、执行命令。
言以 Apache-2.0 协议在 GitHub 开源。Windows 用户下载便携包,解压即可运行。会话、文件与配置都保存在本机;言不设服务端,请求只发往用户自己接入的模型接口。

一段会话是否绑定工作目录,决定了它的工作方式:
- 对话模式:未绑定目录时,用于问答、检索资料、阅读论文。需要产出表格、文档或 PDF 时,模型把文件写入本地输出目录,可以直接预览、下载。
- Agent 模式:绑定目录后,模型通过终端与文件工具在目录内检索、读写文件、执行命令,每一处改动都以 diff 呈现。
目录可以在会话中途绑定,已有的上下文完整保留。
1.1 长程机制
言的核心设计是任务常驻、会话不常驻:任务状态保存在会话之外,模型按需被唤醒,每次唤醒都开启一个新的会话。
- 事件驱动调度:后台命令结束后直接唤醒模型,无需轮询。子 Agent 可以在后台独立运行,例如启动训练、挂起等待、醒来评估,完成后把结果注入主会话。
- 上下文压缩:单次任务的工具往来接近上下文窗口上限时,较早的部分会被压缩成工作笔记,最近两轮保留原文。
- 项目级持久上下文
.yan/:作用类似 Claude Code 的.claude/,位于工作目录下,记录跨会话有效的约束、技术取舍与环境要点。它在每轮自动注入,子 Agent 以只读方式共享。 - 图结构约束核心(beta):用 DAG 组织一项任务需要达成的结论。每个节点都带有验收条件、前置依赖和证据锚点(文件、目录或命令输出);锚点一旦变化,依赖它的节点自动失效、转为待复核。模型结束回合前会被钩子拦截,要对照原始需求校验完成度。1.1 中的跨周模型调优任务即由它驱动,目前仍在持续推进。

一项 GitHub 维护任务的约束图:节点逐一写明完成依据,对外发出的内容须经用户审核。
硅基流动汇集了 DeepSeek、Qwen、GLM、Kimi 等主流开源模型。同一套 harness 可以直接接入规模更大的模型,长程任务的上限也会随之提高。
1.2 主要能力
- 子 Agent 并行:主模型可以派发多个子 Agent,并行处理相互独立的子任务;对同一文件的写入由本地桥接加锁排队。运行中的子 Agent 可以追加指令,已完成的可以续派。
- 人机共享的浏览器会话:模型通过 Playwright MCP 操作的浏览器经 CDP 实时投屏到侧栏,人与模型操作的是同一个浏览器实例,用户可以随时接管;模型的每次点击、输入都会在画面上标出。用户在画面上圈选的区域会作为引用发给模型,附带网址、位置、圈内文字和截图。
- 工具调用:免 Key 联网检索、网页抓取、HTTP 请求、PDF / Office 文档解析、在隔离沙箱中执行 JavaScript、文件下载;支持接入 MCP 服务。
- 锚定式分支追问:选中回复中的一段,开启一个侧边子会话。子会话能读取主线上下文,主线不读取子会话,追问不会污染主上下文。
- 内联渲染:Mermaid、ECharts 图表与 HTML 在隔离 iframe 中渲染,可以直接交互。
- 结构化澄清:下一步取决于用户的选择时,模型弹出一张选项表单,可单选、多选或自行填写,答案随上下文带入后续轮次。
- 长期记忆:跨会话持久化,由模型按需检索,不默认注入上下文。
- 权限与沙箱:命令执行分三级权限,即逐条确认、规则审查(自动拦截高危操作)和完全放行,默认逐条确认。另有一层本地沙箱:写操作限于工作目录,拦截系统级命令,屏蔽敏感环境变量与凭据文件。

人机共享的浏览器会话与结构化澄清:模型在侧栏浏览器中打开硅基流动登录页,随后用选项表单询问用户登录方式,登录这类敏感步骤交由用户决定。

内联渲染:讲解傅里叶分解时,对话中渲染出的交互组件。拖动各频率的振幅与相位,时域波形与频域柱状图同步变化。
2. 安装使用言
2.1 Windows:便携包(推荐)
- 打开 GitHub Releases,下载
yan-<版本>-win-x64.zip。 - 解压后进入「言」文件夹,双击
言.exe。浏览器会自动打开言的页面。
便携包已内置 Node.js,无需另外安装。
注意:启动后出现的命令行窗口是言的本地桥接进程,使用期间请保持开启。
言.exe暂无代码签名,首次运行时 Windows 可能提示「已保护你的电脑」,点击「更多信息 → 仍要运行」即可。
2.2 macOS 与源码运行
需要 Node.js 18 或更高版本。克隆仓库后在项目目录启动:
git clone https://github.com/Master-Norna/yan.git
cd yan
npm startmacOS 用户也可以直接双击项目中的 start.command。启动后浏览器会打开 http://127.0.0.1:8787。
便携包与源码版的数据都保存在 ~/.yan/,两者可以互换使用。
3. 在言中使用硅基流动模型
3.1 获取硅基流动 API 密钥
- 登录 SiliconFlow(若未注册,首次登录会自动注册账号)
- 访问 API 密钥 新建或复制已有密钥
3.2 在言中配置
- 打开「设置 → 模型」,点击「+ 接入模型」。
- 在「接口」中选择第一项 硅基流动,Base URL 会自动填为
https://api.siliconflow.cn/v1。 - 粘贴 API Key。
- 点击「获取列表」,在「模型」下拉框中选择要使用的模型,并填写显示名称。
- 点击「测试连接」,通过后即可使用。如果希望新会话默认使用该模型,点击「设为默认」。
使用国际站(siliconflow.com)的用户,请将 Base URL 改为国际站地址。
API Key 只保存在本机
~/.yan/下的配置文件中,仅发往硅基流动的接口;导出的备份不含 Key。
3.3 言对硅基流动的适配
选择「硅基流动」接口后,言会自动做以下处理,无需手动调参:
- 只列出对话模型:获取模型列表时,自动过滤图像生成、Embedding 与语音类模型。
- 自动换算推理强度参数:推理强度在发送键旁菜单的「思考深度」中调整。各模型接受的参数不同,言会自动换算:DeepSeek-V4 系列与 GLM-5.2 使用
reasoning_effort(high / max 两档);Qwen3 系列等其他模型换算为enable_thinking与thinking_budget。菜单只列出当前模型支持的档位。 - 一个 Key 接入多个模型:重复 3.2 的步骤,即可用同一个 Key 接入多个模型,并在会话中随时切换。例如,日常对话用响应更快的模型,Agent 模式与长程任务用能力更强的模型。

3.4 开始使用
配置完成后,回到首页直接提问即可。可以让模型联网检索资料、整理成表格或文档;也可以在输入框上方的「目录」中选择一个项目文件夹,进入 Agent 模式,让它阅读代码、修改代码、运行测试。

对话模式:模型联网检索硅基流动官方价格页,比较各模型的价格、上下文与缓存价,测算月成本并产出 Word 文档,回复末尾列出 33 条出处。图中为本地部署的 Qwen3.8-27B,与硅基流动上的 Qwen/Qwen3.8-27B 为同一模型。

3.5 使用技巧
3.5.1 推荐模型
Agent 模式、子 Agent 与长程任务都依赖模型的工具调用(function calling)能力,子 Agent 与主会话使用同一个模型。
推荐使用 Qwen/Qwen3.8-27B,1.1 中开发者的各项实测均由该模型完成。它支持工具调用和视觉输入,上下文长度为 256K,默认开启思考模式。接入后,可以在该模型的「高级配置 → 上下文窗口」中填写 256000:右下角会按比例显示上下文占用,超过 75% 时自动压缩历史。
如果所选模型不支持工具调用,可以在「高级配置」中关闭「本机联网与文档工具」,把它作为纯对话模型使用。
3.5.2 Token 用量上限
每个模型都可以设置 Token 用量上限,单位可选千、百万或亿。达到上限后会话暂停,调高上限或切换模型即可在原处继续。运行长程任务前,建议先设好上限。
3.5.3 多模态输入
图片、PDF 与 Office 文件可以直接拖入或粘贴,随消息一起发送。发送图片时,请选择支持视觉输入的模型,例如 Qwen/Qwen3.8-27B。