@bendyline/gezel-cli (英语)
这个 gezel 命令行: 组装一组 AI 同伴 (宝石并设置
他们从你的终端工作.
快开始
在全球安装CLI。 它需要节点24或更新;检查
node --version,如果它是长的, brew install node (macOS), (英语:,
winget install OpenJS.NodeJS.LTS (窗户)或 nvm install 24 (任何地点)
安装当前 .
npm install -g @bendyline/gezel-cli
没有瞄准镜 gezel-cli 软件包是
此处的短名 : npx gezel-cli 运行它不安装,和
npm install -g gezel-cli 安装同一程序。 安装其中之一
全球范围,而不是两者:两者都提供 gezel 命令.
然后选择AI运行的地方.
在这台电脑上. 看看哪个聊天模式适合你的机器 下载一个, 用它来聊天:
gezel model list --available
gezel model pull <id>
gezel model use <id>
以云供养. 保存您的 API 密钥而不放在命令上
中,然后选择一个提供商的模型 /model 内部 gezel数字 :
gezel secret set openaiApiKey --env OPENAI_API_KEY
gezel secret set anthropicApiKey --stdin < anthropic-key.txt
现在开始工作:
gezel # the interactive terminal app
gezel run "Summarize this project" # one prompt, one reply
你第一次跑的时候 gezel {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}在一台新机器上 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}它让你走过同样的路
选项:它提供了经过验证的 Gezel 本地工具包,然后是最佳聊天模式
用于此设备( 建议和最小的首次下载), 可选
完整的图像、语音、读取和视频辅助工具组合,适合,或其他
兼容聊天模式。 下载显示现场进展并生效
重新启动 。 您已经拥有的模型, 在您自己的商店或桌面应用程序中
此机上的共享, 用于不下载另一个副本 .
格泽尔是当地第一。 在你的磁盘下创造出的一切
~/.gezel/ 作为普通文件,你可以 cat 财务报告和审定财务报表 grep,然后与任何
模型提供者你指向它。 我们没有云服务 站在你和
那个模特儿 npm 软件包是您需要的; 桌面应用程序是可选的 .
图标
运行 gezel --help,或 --help 任何命令,每个选项.
| 命令 | 它会做什么 |
|---|---|
gezel | 为此文件夹的项目打开交互式终端应用程序 |
gezel run [prompt…] | 一个迅速,一个答复,使用 这个项目的船员领先 除非你通过 --gezel <id>单人 - 从 stdin 读取提示 |
gezel do <craftbook…> | 启动一个手写本作为此文件夹项目的任务: 它的名称, 然后需要值, key=value 参数和您的请求. --wait 跟着它到底 |
gezel <craftbook> … | 简指 gezel do <craftbook> …,在 crawbook 命令名上精确匹配;内置命令总是获胜 |
gezel craftbook list [words…] | 列出手写本 gezel do 可在此文件夹的工程( 命令名称、 标题、 类别) 中开始; 以命令、 标题和标签来过滤单词 . --json 脚本 |
gezel workflow <name-or-file> [args…] | 运行仓库工作流程 .gezel/workflows/<name>.mjs 或模块路径 |
gezel task list|show|create | 每个项目的任务 |
gezel task wait|resume|pause <ref> | 尾随任务, 重试一个已暂停的任务并跟踪它, 或者暂停一个任务 |
gezel task notes <ref> | 任务笔记,包括暂停原因和失败的检查(--warnings 添加运行时间警告) |
gezel agent list|create|show|output-limit | 管理您的 gezels( 命令名称为历史名称) |
gezel project list|create|install|indexing | 管理项目、其 npm 软件包和背景索引( )gezel env 是同一个命令) |
gezel skills list|import|convert | 找到 SKILL.MD 技能并将其转化为工艺书 |
gezel app … | 构建、安装、应用和服务AI Apps(.gezapp: new, (中文(简体) ), validate, (中文(简体) ), pack, (中文(简体) ), add, (中文(简体) ), update, (中文(简体) ), list, (中文(简体) ), show, (中文(简体) ), apply, (中文(简体) ), status, (中文(简体) ), serve, (中文(简体) ), enable, (中文(简体) ), disable, (中文(简体) ), remove, (中文(简体) ), schemas |
gezel model list|pull|use|export | 在线聊天模式. list --available 显示适合此机器的目录模型,并有大小; use <id> 使聊天使用一个已下载的模型( 当没有设定工作默认时, 牵引本身会这样做 ); export <id> [file] 写一个便携式、 校验和验证 .gezmodel |
gezel model context|concurrency | 本地模型的上下文窗口, 以及有多少请求本地引擎同时服务 |
gezel native install|list|status | 在这个计算机上运行模型的本地引擎 |
gezel image status|models|pull|rm | 图像生成模型 |
gezel create-image|create-video|create-audio | 生成图像、视频或口语音频 |
gezel knowledge … | 构建、检查和搜索 .gezk 知识目录init, (中文(简体) ), build, (中文(简体) ), validate, (中文(简体) ), inspect, (中文(简体) ), export-parquet, (中文(简体) ), search, (中文(简体) ), nearby),并管理被安装在Gezel(available, (中文(简体) ), install, (中文(简体) ), list, (中文(简体) ), remove, (中文(简体) ), find(中文(简体) ) |
gezel secret list|set|remove | 提供者密钥, 只存储写入 |
gezel security external-services [on|off] | Gezels 是否可以使用网络搜索和其他外部服务 |
gezel mode [mode] | 显示或设定 AI 活动程度 : read-only, (中文(简体) ), reactive, (中文(简体) ), reactive+tasks,或 full-play |
gezel start 编号 : status 编号 : stop | 开始、检查或停止您的 Gezel 服务(参见 开始和停止(中文(简体) ) |
gezel doctor | 检查安装 |
gezel cleanup | 显示或回收此设备上的空间 Gezel 用途(--redownloadable, (中文(简体) ), --models, (中文(简体) ), --dry-run, (...) (中文(简体) ) |
gezel backup <file> 编号 : restore <file> | 将您的宝石、工程和文件写入备份文件,或带回(restore --list 看着第一) |
gezel handboek export --out <dir> | (原始内容存档于2018-10-21). Render the Handboek, Gezel的内置文档,作为静态网站 |
开始和停止
gezel start确保你的Gezel服务运行.--port <n>针头 a 端口,以及--foreground保持它附着在终端上(Ctrl+C停止).gezel start --web还服务于此计算机上的浏览器界面和 打印带有签名符的浏览器 URL,该签名符在服务前有效 重启 .--open为您打开它。 当运行中的服务启动时 没有网络界面,gezel start --web --restart替换它.gezel status报告服务是否在上方和在哪里; 当 它不是运行或不健康.gezel stop取消任何人工智能工作并关闭您的用户Gezel服务.gezel stop --keep-running是紧急刹车: 取消人工智能工作, 卸下 引擎,切换到Reactive,使服务运行. ()--daemon实值 仍被接受为平地站的别名. )
如果桌面应用程序的全机服务在使用中, gezel stop 显示
紧急刹车 并说服务由操作系统管理.
在互动应用程序内, /mode 切换相同的四个活性水平
/model 列出每个已安装的模型 下载新模式 要获取
另外一个; 下载被选择给活动的 gezel 并开始一个新的聊天.
/continue 处理适当的时间表并抓取当前项目的活动
任务,以及 /nightshift start|stop|list 管理"夜行". /allow edits 财务报告和审定财务报表
/disallow edits 让 Gezel 自己的工具和背景工作编辑当前
工程,或只让他们读; codexedits 财务报告和审定财务报表 claudeedits 做到这一点
对运行在 Codex 或 Claude 命令行工具上的宝石一样.
一发催泪弹和管道
gezel run - 读取管道或重定向文件中的 UTF-8 提示。 写着
至 EOF 并保持换行和缩进 :
printf 'Summarize these notes:\nThe launch is Friday.\n' | gezel run -
gezel run - < prompt.txt
回复到 stdout, 这样您就可以重定向到一个文件; 诊断到
师曰. 空输入退出状态 1 。 没有了
-, (中文(简体) ), gezel run "your prompt" 用它的论点 gezel run 显示
用途。 在模型建立之前, run 下载什么也没有: 它命名了设置
命令和退出.
提供者密钥
提供方密钥进入桌面应用程序使用的同一证书存储处,从 一个环境变量,或者从 stdin ,所以数值从不出现在您的 命令参数或 shell 历史 :
gezel secret list
gezel secret set openaiApiKey --env OPENAI_API_KEY
gezel secret set anthropicApiKey --env ANTHROPIC_API_KEY
gezel secret set braveSearchApiKey --env BRAVE_SEARCH_API_KEY --use-for-search
gezel secret remove openaiApiKey
--stdin 读取管道或重定向文件的值。 受支助者
名称是 openaiApiKey, (中文(简体) ), openaiOrganization, (中文(简体) ), anthropicApiKey, (中文(简体) ),
googleAiApiKey, (中文(简体) ), githubToken, (中文(简体) ), braveSearchApiKey, (中文(简体) ), tavilyApiKey, (中文(简体) ),
webhookBearerToken,以及 webhookBasicAuth· ; gezel secret list 给他们看
,但从不打印一个值。 所有三个命令都接受
--json。存储使用您的系统密钥环,或者在有加密文件的地方
无.
--use-for-search (与 braveSearchApiKey) 也使网络搜索变得勇敢
供养. 网络搜索还需要外部服务允许:
gezel security external-services 显示此设置,以及 on 或者说 off
改变它。 保存一个钥匙永远不会为你打开它.
保存 OpenAI 或 Anthropic 密钥后, 运行 gezel 和使用情况 /model 选择
一个供应商的模型。 在桌面应用程序或 CLI 中保存的密钥是
两者均可使用.
3 个设置对长期未处理的批次有帮助 :
gezel model context <id> 65536设置本地模型的背景窗口 ; 省略数字以查看,或使用auto来清理它.gezel model concurrency 1将本地引擎限制为一次一个请求, 也保留较少的记忆;auto恢复自动缩放.gezel env indexing off在此文件夹中暂停可选的背景索引 项目(或--project目标);on还原它.
--provider llama-cpp|mlx|ds4 为模型命令选择引擎
(默认: 此平台的安装引擎), 所有三个都接受 --json。 。 。 .
命令行的手提书
工艺书是杰泽尔作为任务完成的作品的配方.
gezel craftbook list 显示您可以在当前文件夹中启动的
项目,以及 gezel craftbook list deck 按命令、标题、 缩小列表,
还有标签.
gezel do 取出手书,然后取出它的价值观。 下一个是空值
所需的参数,按手书列出的顺序. key=value 财务报告和审定财务报表
可重复 --param key=value 设置任何参数,包括应用程序的参数
发射表隐藏。 每一个字都是你的要求: 成为任务
说明,并且,当手书用到一个时,其主要内容。 引文为
选项.
任何工艺书都用名字来写,所以 gezel summarize-long "…" 实值
gezel do summarize-long "…"。名称必须符合手书的命令
名称( 其 id, 除非它声明一个) , 内置命令总是
赢了。 错误的类型名称报告一个未知的命令而不创建项目 .
gezel do summarize-long "Summarize notes.txt for the board"
gezel summarize-long "Summarize notes.txt for the board"
gezel do powerpoint-deck "A deck about Delft" audience=investors --wait --json
gezel task wait my-project/12 --timeout 7200 --json
gezel task resume my-project/12 --json
gezel task notes my-project/12 --warnings --json
只发送您给出的值; 服务在默认值之后填充
创建任务。 任务完成后等待 0 退出, 1 退出
取消 暂停或等待回答时取消2个 超时3个 A 类
超时让任务运行 。 当任务被阻断时, --wait 打印原因
(最新注),并指出 gezel task notes <ref>。前进
标准; --json 将结果写入 studout . resume 重试已暂停的任务
用它保存的食谱。 在Gezel再等待之前回答悬而未决的问题.
仓库工作流程
对于围绕多本手稿的脚本管弦乐,请在下面添加一个模块
.gezel/workflows/,例如 .gezel/workflows/quarterly-reports.mjs数字 :
export async function run({ args, log, runCraftbook }) {
const results = [];
for (const region of args) {
log(`Writing the ${region} report`);
results.push(await runCraftbook('region-report', { region }));
}
return results;
}
运行它 gezel workflow quarterly-reports north south --json,或给出
模块路径 : gezel workflow ./pipeline/quarterly-reports.mjs north编辑
模块接收公众 GezelClient (单位:千美元)client),文件夹的项目编号
(单位:千美元)projectId),绝对值 workspace、 args,一个 stderr log,并:
runCraftbook(id, params, options)开始 a 项目 手书(列在下).gezel/craftbooks/)并等来. 选项包括timeoutMs,一个保存taskRef接下来,parentTaskRef将儿童与其批次联系起来onCreated(task)以检查新的引用。 它检查了手书的 (b) 宣布需求为第一(见下文).complete(request)在工程引擎上调用一个限定的模型 队列,用于对模块已经持有的输入进行判断。 没有工具、会话或 笔录涉及;模块验证答案并保存内容 继续.validateCraftbook(document)检查生成的手写本与相同 在安装前, 设置和步骤规则为服务 .ensureSetup({ services, models })请求设置模块 运行时间,同样的方式gezel do已经.
const { json } = await complete({
gezelId: 'checker', // or provider + model
system: 'You are a meticulous fact-checker.',
prompt: `FACTS:\n${facts}\n\nSENTENCES:\n${sentences}`,
jsonSchema: verdictSchema, // grammar-constrained on local engines
thinking: false, // skip a local model's reasoning phase
maxTokens: 4000,
timeoutMs: 300_000,
label: 'fact-check, paragraph 3',
});
complete 返回时 { content, json?, jsonError?, elapsedMs }返回时
对象为 exitCode 从 run 设置 shell 退出状态.
要将工作流程显示为手工艺书命令,请添加
"cliWorkflow": { "module": ".gezel/workflows/quarterly-reports.mjs" } 改为
项目工艺手册和申报其投入 paramSchema,列出
空值应填入 required接下来 gezel do quarterly-reports north --json 运行它,模块也收到 craftbook 和审定的
params。工作流程手册不需要请求文本,模块拥有
创建父任务、默认、检查站,以及有多少儿童在
一次 一次吗 模块必须生活在项目工作空间内; --strict-sandbox
拒绝他们.
工作流在前景中运行 即使没有 --wait,所以保留终端
打开。 每一个孩子都要等待时间。 如果 CLI 退出, 任务已经完成
创建持续运行,但其他工作流程需要再次运行;
gezel task wait 跟踪父母及其子女,但不重新启动
工作流程.
宣布手工业手册需要什么
手工艺书可以声明它运行的聊天模式及其能力
无法运行没有. gezel do 在事发前检查他们:
"services": [{ "kind": "web-search", "reason": "research checks every fact" }],
"models": [
{ "id": "qwen3.8-27b-q4", "reason": "writes the report" },
{ "id": "{{checkerModel}}", "provider": "llama-cpp", "reason": "checks every sentence" }
]
web-search 指按键搜索提供者(Brave);维基百科不计数.
这意味着 external-services,只获取页面的工艺书可以
自行宣说. 一个模型 id (或 provider可能是一个 {{param}}
引用,从运行的值或默认值中填入;解决为
什么都没有跳过. provider 默认此计算机的安装引擎 .
在一个终端,每个缺失的作品是一个问题:打开外部服务 (命名移动到的安全级别),粘贴一个勇敢的搜索 API 密钥 (隐藏,然后通过一次测试搜索得到证明)并下载模型(a 磁盘空间检查, 如果缺少引擎的话). 任何"不",或者没有逃跑 终端,在运行开始前停止并打印修正它的命令:
gezel security external-services on
gezel secret set braveSearchApiKey --env BRAVE_SEARCH_API_KEY --use-for-search
gezel model pull qwen3.8-27b-q4 --provider llama-cpp
项目手稿及其脚本
项目手册 .gezel/craftbooks/<id>/manifest.json (标识)
财务报告和审定财务报表 versions/<version>/craftbook.json (完整的食谱,包括其
剧本). 改变食谱会影响新的任务;运行中的任务会保留其副本.
国家行动倡议的发射,包括 /do 在交互式应用程序中,信任精确
该任务中的脚本内容 复制的食谱。 编辑的脚本没有
继承这种信任, 一个模型永远不会给予它。 在平台上没有
可执行的操作系统网络边界,例如Windows,这些脚本
与最佳网络隔离运行; gezel do … --strict-sandbox 需求
操作系统边界。 宣布的能力和项目以及
安全政策仍然适用。 工作流程模块本身为普通运行
本地节点代码, 如 npm 脚本 .
没有进一步设置有什么用
CLI不捆绑模型重量或本地推论引擎 只在您选择在线设备模型时才下载。 你可以直接使用:
- 互动应用程序( E)
gezel),它让你通过选择一个模型 和一发提示gezel run "…"一旦一个模型建立. - 云提供商: OpenAI, Anthropic, GitHub 副驾驶, 以及任何兼容 OpenAI 的 终点.
- 您的宝石、 工程和任务( E)
gezel agent, (中文(简体) ),gezel project, (中文(简体) ),gezel task) (中文(简体) ). gezel skills convert财务报告和审定财务报表gezel handboek export,不需要运行 服务.- 您已有的知识目录 :
gezel knowledge validate, (中文(简体) ),inspect, (中文(简体) ), 和全文search工作离线,没有服务.
建立目录( E)gezel knowledge build和 gezel knowledge search --semantic 还需要嵌入运行时间, npm 将它安装出叶.
在 Gezel 安装的地方添加( 滴放) -g 用于工程安装); 桌面
应用已包含:
npm install -g @huggingface/transformers@^4.3.1
在项目安装中,还添加 overrides 从
@bendyline/gezel-service 读取, (中文(简体) ),
使Kokoro在相同的变形器上。 Js复制服务.
在自己的机器上运行模型
在线聊天、本地图像和视频生成以及语音对文本的需要 本土引擎(llama.cpp,稳定-分流.cpp,低语.cpp,uv). 他们很远 对 npm 软件包来说太大了( CUDA 单是 超过 700 MB), 所以它们 当您询问时, 下载一次 :
gezel native install # this platform's default backend
gezel native install --variant cuda # or cpu / vulkan / metal
gezel native status
下载来自 native-v* 发布
GitHub 图像 并经过验证
使用时。 每个CLI发布一个精确的 本地发布,每个存档
SHA-256被编译入包. Gezel 自己的 Windows 二进制也必须
携带 Bendyline 的认证码签名及其 macOS 二进制
开发者 ID; Linux 二进制对照编译的散列检查 。 没什么
被获取直到你要求它.
CLI怎么找到格泽尔的
没有连接旗,CLI使用你自己的每个用户Gezel服务. 这个
找到它通过 ~/.gezel/runtime (其端口和被绑定的TLS证书)和
连接为您, 因此不需要立即批准, 也不需要桌面
应用.
- 管理命令在服务不运行时启动, 并说这样的话
师曰. 它一直运行 之后,直到
gezel stop日志为~/.gezel/logs/service-YYYY-MM-DD.log(以10 MB 滚动,保存了7天). - 只读诊断,例如
gezel native status从不离开服务 后面 后面那个. - 互动应用程序关闭了您退出时开始的服务 .
gezel run没有服务运行 启动一个 的提示并停止它 后结. 当运行中的服务不健康时,它不会这样做.
CLI 免费时在端口 6228 开始收听服务, 所以其他的应用程序
获得一个稳定的 OpenAI 兼容地址 (https://127.0.0.1:6228/v1),并在a
自由端口; --port 针一. 当桌面应用程序安装完毕时
全机服务,该服务拥有6228. 目前的全机服务
只运行模型: CLI 从未发送它的项目, 密钥, 工具, 以及您自己的
服务将其用于模型下载和推断. 当你从一个升级
旧的桌面发布器, 旧的全机服务, 仍保留您的
转而使用宝石和项目; --standalone 跳过它.
您自己的服务可能会重新使用桌面应用程序的机器安装的两样东西 发布,只读:其下载的模型(你自己的模型优先, 在首次使用之前,一个共享型号将重新安装) 当它们匹配 CLI 的被绑定的放出文件以获取文件并通过签名时 检查。 其他的都被下载到自己的家里 CLI从来没有读过 机器服务的私人数据.
连接旗有:
gezel --connect https://host:6228 # another Gezel; approve on first use
gezel --connect https://host:6228 --token "$TOKEN"
gezel --standalone # skip an older machine-wide service
gezel --home /path/to/another-home # a separate Gezel home
--connect 需要Gezel的CLI资助 没有节省的赠款或
--token,终端显示一个六字符代码 等待你批准
格泽尔CLI 在Gezel软件。 可撤销的证书保存在
~/.gezel/cli/tokens/。 。 。 . gezel stop 无法关闭您获取的服务
--connect· ; gezel stop --keep-running 停止它的人工智能工作.
--home <dir> (或明示) GEZEL_HOME隐含 --standalone一个你的家
名称为 --home 与 Gezel 桌面应用的分离
机器安装发布:其共享的宝石和项目及其模型
下载。 设定 GEZEL_DISABLE_MACHINE_SHARED=0 包括他们。
默认家, ~/.gezel,仍然看到他们.
稳定
这个软件包的支持的公开表面是它的 命令行页:1 命令,他们的旗帜,和他们的输出。 它没有载运 JavaScript API; 导入 从它不支持,其内部模块可以在任何发行中更改.
打破对命令或旗帜的更改会跟随semver.
文档
麻省理工学院