新闻详情

新闻详情

首页 / 资讯中心 / 详情

Trellis Channel CLI 命令参考:EcoPaste 多智能体协作运行时的完整实战指南

发布时间:2026/9/29 6:32:56来源:尧图网络
Trellis Channel CLI 命令参考:EcoPaste 多智能体协作运行时的完整实战指南
桌面应用【免费下载链接】EcoPaste跨平台的剪贴板管理工具 | Cross-platform clipboard management tool项目地址https://gitcode.com/ayangweb/EcoPaste点击查看免费下载本文是trellis channel子命令体系的权威命令参考内容以 command-reference.md 为主体骨架并补充了 SKILL.md 中的路由规则与实战约束。trellis channel是本地多智能体协作运行时multi-agent collaboration runtime通过共享事件日志durable event log派生spawn、协调coordinate、中断interruptworker agent并支持基于--type forum的持久化议题频道。读完本文你将掌握每一个子命令的完整参数、默认值、行为语义、事件模型与输出约定能够在派发-等待、跨智能体评审、论坛议题、worker 调试等真实场景中正确写出可复现的trellis channel命令。本文所有命令均面向 v0.6.0 的 channel CLI参数解析与行为与源码packages/cli/src/commands/channel/下的 Commander 接线及各子命令 handler 保持一致。顶层命令与 scope 模型trellis channel subcommand每个子命令除非另有说明都接受--scope project|globalproject默认解析当前 cwd 所在的项目 bucketglobal操作共享的__global__bucket。scope 的选择必须刻意为之全局频道在项目列表中是看不见的除非显式传入--scope global。这也是协作时最常见的踩坑点——为什么我开的 forum 别人看不到多半就是 scope 不一致。创建与列出频道create nametrellis channel create name [--scope project|global] # 默认: project [--type chat|forum] # 默认: chat [--task path] # 关联的 Trellis task 目录 [--project slug] [--labels a,b,c] [--description text] # 稳定的频道描述 [--context-file abs-path] ... # 可重复 [--context-raw text] ... # 可重复 [--linked-context-file abs-path] # [已弃用别名] [--linked-context-raw text] # [已弃用别名] [--cwd path] # 记录在 create 事件中 [--by agent] # 默认: main [--force] # 覆盖已存在的频道 [--ephemeral] # 从默认列表隐藏可被清理行为要点追加一个create事件type不可变——forum与chat之间不能互相转换--ephemeral频道默认从channel list隐藏是channel prune --ephemeral的清理目标--linked-context-*会被折叠进--context-*使用时会发出弃用提示。新代码一律使用--context-file/--context-rawSKILL.md 明确要求。listtrellis channel list [--scope project|global] [--json] [--project slug] # 对 task 字段做子串匹配 [--all] # 包含 ephemeral后缀 * [--all-projects] # 扫描每个项目 bucket行为要点默认 scope 为当前 cwd 的项目--all-projects扫描全部 bucket漂亮模式pretty mode打印NAME WORKERS EVENTS LAST KIND TYPE TASK按最近活跃排序页脚标注被隐藏的 ephemeral 数量--json切换为 JSON 数组输出。实战提醒排查某个全局频道去哪了第一反应应是trellis channel list --scope global --all这正是 SKILL.md 里列出的 First Commands 之一。聊天消息send / messages / waitsend name [text]trellis channel send name [text] --as agent # 必填 — 作者 [--scope project|global] [--to agents,csv] # 默认: 广播 [--stdin | --text-file path] # 正文来自 stdin 或文件 [--delivery-mode appendOnly|requireKnownWorker|requireRunningWorker]行为要点正文优先级位置参数[text]→--stdin→--text-file--to只有一个条目时存为字符串多个时存为数组省略表示广播--delivery-mode选择定向投递的校验策略appendOnly仅记录接近默认的宽松模式requireKnownWorker命名目标必须存在spawned事件requireRunningWorkerworker 必须当前处于存活状态追加的事件以单行 JSON 打印到 stdout。注意send没有--tag、也没有--kind标志。详见下文 tag-vs-kind。长正文必须走 stdin 或文件不要把长文本直接塞进位置参数尤其混合中英文的文本trellis channel send T --as A --stdin /tmp/message.md trellis channel send T --as A --text-file /tmp/message.mdmessages nametrellis channel messages name [--scope project|global] [--raw] # 每行一个 JSON 事件 [--follow] # 流式输出新事件 [--last N] # 最近 N 个匹配事件 [--since seq] # seq N [--kind kind] # 取 CHANNEL_EVENT_KINDS 之一 [--from csv] # 作者过滤 [--to target] # 路由目标过滤 [--thread key] # 仅 forum [--action thread-action] # 仅 forum [--no-progress] # 隐藏 progress 事件行为要点自动检测 forum 频道不加过滤条件时渲染的是线程看板thread board而非事件流--thread/--action仅适用于 forum对 chat 频道会报错--kind必须对CHANNEL_EVENT_KINDS校验单个值不是 CSV——CSV 语义是wait侧的。调试提醒漂亮的messages输出是操作员仪表盘可能截断 progress审计场景请用--raw逐行 JSON。wait nametrellis channel wait name --as agent # 必填 — 自身用于过滤上下文 [--scope project|global] [--timeout Ns|Nm|Nh|Nms] # 由 parseDuration 解析 [--from a,b] # 作者 CSV [--kind k1,k2] # CSVOR 语义 [--thread key] # forum 过滤 [--action thread-action] # forum 过滤 [--to target] # 默认: 自己的 agent广播 本人 [--include-progress] # 也响应 progress 事件唤醒 [--all] # 要求每个 --from 都匹配行为要点匹配的事件以每行一个 JSON 流式输出默认--to过滤条件是调用者自己的 agent广播事件仍会匹配——广播 显式发给我的组合--all要求配合--from使用阻塞直到列出的每个 agent 都产生匹配事件超时退出码为 124当使用--all时向 stderr 打印timeout: still waiting on ...。tag-vs-kind —— 事件形态实际上由什么控制这是 channel CLI 中最容易误解的一个点v0.6.0 的 channel CLI 中根本没有--tag标志--kind也不是任何--tag标志的历史别名。当前源码中的具体模型--kind是唯一的事件类型过滤且被限制在 trellis 自带发射的白名单CHANNEL_EVENT_KINDS定义于packages/core/src/channel/internal/store/events.ts内共 21 种create、join、leave、message、thread、context、channel、spawned、killed、respawned、progress、done、error、waiting、awake、undeliverable、interrupt_requested、turn_started、turn_finished、interrupted、supervisor_warning。传入任何其他值都会抛出Invalid --kind x. Must be one of: …--kind位于waitCSV、OR 语义与messages单值上send和run不能发射自定义 kind——每次send写入的都是message事件worker 回合中段的中止不是一种 tag而是专用的channel interrupt命令它追加interrupt_requested/interrupted事件对并在 provider 层面中断 worker。给派发者dispatcher的实战规则用--kind done,turn_finished表达worker 完成了一个回合——这是 supervisor 自动发射的系统事件不要依赖 worker LLM 记得发射自定义信号只有真正想要回合中段中止行为时才使用trellis channel interrupt命令不要发明用户侧 tag 作为完成信号没有--tag过滤器worker 把自定义字符串写进它的最终消息那只是message事件里的普通文本wait无法匹配它。一句话总结SKILL.md 也反复强调--kind done/--kind turn_finished是唯一可靠的完成信号CLI help 里提到的phase_done/question之类--tag示例只是不透明的用户标签除了interrupt这个硬编码保留 tag 外都不构成任何行为。中断 workerinterrupt name [text]trellis channel interrupt name [text] --as agent # 必填 — 调用者 --to agent # 必填 — 目标 worker [--scope project|global] [--stdin | --text-file path]行为要点追加一个interrupt事件携带reason: user和替换指令正文supervisor 在支持的 provider 上执行 provider 级中断Claude 的/interrupt、Codex 的 turn cancel追加的事件 JSON 打印到 stdout。这是channel 卡住了 / worker 无输出时的标准处置手段见 progress-debugging.md 的排查路由。Workersspawn / run / kill / rm / prunespawn nametrellis channel spawn name [--scope project|global] [--agent agent-name] # 加载 .trellis/agents/name.md [--provider claude|codex] # 覆盖 agent 文件 [--as worker-name] # 默认: agent 名 [--cwd path] [--model id] [--resume id] # session/thread id 续跑 [--timeout Ns|Nm|Nh] # 到时自动杀掉 [--warn-before Ns|Nm|Nh] # supervisor_warning 提前量 # 默认 5m0ms 禁用 [--file path] ... # glob可重复注入内容 [--jsonl path] ... # Trellis manifest可重复 [--by agent] # spawn 事件作者 # 默认: TRELLIS_CHANNEL_AS 环境变量或 main [--inbox-policy explicitOnly|broadcastAndExplicit] # 默认 explicitOnly [--idle-timeout Ns|Nm|Nh] # OOM 防护的空闲 TTL # 默认 5m0 禁用 [--max-live-workers n] # spawn 时的存活 worker 预算 # 默认 60 禁用行为要点provider 会对照适配器注册表校验packages/cli/src/commands/channel/adapters/当前支持claude、codexworker 保持收件箱空闲inbox-idle直到第一次send --to worker才真正启动干活记录一个spawned事件携带pid、provider、agent、files、manifestsOOM 防护优先级CLI 标志 → 环境变量TRELLIS_CHANNEL_WORKER_IDLE_TIMEOUT、TRELLIS_CHANNEL_MAX_LIVE_WORKERS→.trellis/config.yaml#channel.worker_guard→ 内置默认值。run [name]trellis channel run [name?] [--agent name] [--provider claude|codex] [--as worker-name] [--cwd path] [--model id] [--file path] ... # 可重复glob [--jsonl path] ... # 可重复 [--message text | --message-file path | --stdin] [--timeout Ns|Nm|Nh] # 默认 5m行为要点一次性one-shot。省略name时自动生成run-hex创建 ephemeral 频道createModerun、派生出单个 worker、发送 prompt、等待done、把最终 assistant 文本打印到 stdout成功后移除频道失败时频道保留以供检查退出码为 1。run没有--tag标志。完成检测依赖 supervisor 发射的done事件。由于run只在 stdout 打印最终 assistant 文本它天然适合管道pipe调用——这是 SKILL.md 协作模式中的one-shot run。kill nametrellis channel kill name --as agent # 必填 — worker agent 名 [--scope project|global] [--force] # 立即 SIGKILL行为要点默认路径SIGTERM → 8 秒宽限 → SIGKILL 升级当确实需要 SIGKILL 时 CLI 会写一个killed事件让日志保持真实清理pid、worker-pid、config、spawnlock伴生文件保留log、session-id、thread-id供取证与 resume。rm nametrellis channel rm name [--scope project|global]行为要点先杀掉所有存活 worker然后删除整个频道目录打印Removed channel name。prunetrellis channel prune [--scope project|global] # 省略: 扫描每个项目 [--all | --empty | --idle Ns|Nm|Nh|Nd | --ephemeral] # 互斥 [--yes] # 真正删除默认 dry-run [--dry-run] # 默认 true与默认冗余 [--keep names,csv] # 排除列表行为要点过滤标志互斥——同时给出会报错默认是 dry-run--yes切换为真实删除不带--scope时扫描每一个项目 bucket有意的、仓库级清理带--scope project|global时限定在该 bucket无论过滤条件如何存活 worker 的频道总是跳过输出每个候选频道一行name last-ts (reason)外加最终汇总。Forum 频道post / forum / threadpost name actiontrellis channel post name action --as agent # 必填 [--scope project|global] [--thread key] # 除 actionopened 外必填 [--title text] [--text text | --stdin | --text-file path] [--description text] # 稳定的线程描述 [--status status] [--labels a,b] # 替换线程标签 [--assignees a,b] # 替换 assignee [--summary text] [--context-file abs-path] ... [--context-raw text] ... [--linked-context-file abs-path] # [已弃用别名] [--linked-context-raw text] # [已弃用别名]行为要点action在 CLI 表面是自由文本约定俗成的取值包括opened、comment、status、labels、assignees、summary、processedactionrename会被拒绝——请改用thread rename--labels/--assignees是替换语义不是追加输出追加的事件 JSON 到 stdout。forum nametrellis channel forum name [--scope project|global] [--status status] [--raw]行为要点列出线程精简状态。--status按当前线程状态过滤--raw每个线程打一行 JSON。thread name thread/thread renametrellis channel thread name thread-key [--scope project|global] [--raw] trellis channel thread rename name old-thread new-thread --as agent # 必填 [--scope project|global]行为要点thread name key展示单个线程的时间线头部thread [status] title然后是 description / labels / assignees / summary / 时间线行--raw切换为原始事件thread rename是唯一的变更操作post --action rename被拒绝。Forum 频道是事件溯源event-sourced的不要先去解析events.jsonl直接用forum、thread、messages --thread、context list这些 CLI 归约器做状态投影这也是 SKILL.md 的硬性规则。Context 与 Titlecontext add/context delete/context listtrellis channel context add name [--as agent] # 默认: main [--scope project|global] [--thread key] # 线程级而非频道级 [--file abs-path] ... # 可重复 [--raw text] ... # 可重复 # --file 与 --raw 至少提供其一 trellis channel context delete name [--as agent] # 默认: main [--scope project|global] [--thread key] [--file abs-path] ... [--raw text] ... trellis channel context list name [--scope project|global] [--thread key] [--raw] # 每行一个 JSON 条目行为要点add/delete追加一个context事件并打印事件 JSONlist投影当前 context 条目漂亮输出为file path/raw 截断文本行空时为(no context)。title set name/title clear nametrellis channel title set name --title text # 必填 [--as agent] # 默认: main [--scope project|global] trellis channel title clear name [--as agent] # 默认: main [--scope project|global]行为要点追加一个title事件把稳定的显示标题投影到频道上输出为事件 JSON。隐藏 / 内部命令命令用途channel __supervisor channel worker config由spawn调用的 fork 入口点。不要直接调用。channel __parse-trace adapter file开发辅助——把录制的 stream-json / wire trace 重放到对应 adapter打印产生的 channel 事件。adapter 会对照 provider 注册表校验。__前缀表明这些是内部实现细节命令参考明确警告do not invoke directly日常使用中请忽略它们。事件模型CHANNEL_EVENT_KINDS由parseChannelKind强制白名单create,join,leave,message,thread,context,channel,spawned,killed,respawned,progress,done,error,waiting,awake,undeliverable,interrupt_requested,turn_started,turn_finished,interrupted,supervisor_warning.MEANINGFUL_EVENT_KINDSwait/messages未显式给--kind时的默认可见子集create,join,leave,message,thread,context,channel,spawned,killed,respawned,done,error.非 meaningful 的事件类型如progress、waiting、awake、supervisor_warning、turn_*/interrupt*系列仍然会流入 store需要通过--kind或--include-progress显式选择才能看到。理解这套分层对派发工作流至关重要wait默认只匹配 meaningful 子集因此等 worker 完成应显式--kind done,turn_finished而监控类事件progress、supervisor_warning、turn_*需要 opt-in。输出约定Output Conventions掌握输出约定才能正确消费命令结果、安全地在脚本中管道化变更类命令send、interrupt、post、context add/delete、title set/clear、thread rename把追加的事件作为一行 JSON 打印到stdout流式读取wait、messages --followstdout 每行一个 JSON 事件漂亮读取list、messages、forum、thread、context list打印彩色、对齐的表 / 时间线run只把最终 assistant 文本打印到 stdout以便调用方管道化诊断信息走 stderr错误通过chalk.red(Error:)输出到 stderr退出码1wait超时退出码专门是 124这也是为什么派发脚本通常以124区分仍在等待与真正失败。一图流在实战中如何选择命令你的意图使用模式关键参考与另一 agent 头脑风暴 / 讨论create --type chatsend/messages --followworkflows.md派生 implement/check worker 并等待结果spawnsend --to workerwait --kind done,turn_finishedworkers.md一次性跑一个任务、管道化结果run自动 ephemeral 频道 等待doneworkflows.md开持久化议题区 / changelogcreate --type forumpostthreadforum.mdworker 卡住 / 无输出messages --raw审计 →interrupt→kill→pruneprogress-debugging.md查某条命令的具体写法本参考每个子命令、每个 flag、输出约定、scope/type 模型command-reference.md两条贯穿始终的纪律完成信号只用系统事件--kind done,turn_finishedsupervisor 自动发射不要依赖 worker 记得执行send来打自定义标记——LLM worker 经常把 tag 字符串写进散文而不是真的执行命令长文本走 stdin /--text-file不要将长尤其中英文混合的文本放进位置 shell 参数刻意选择 scope项目内协作用默认project跨项目共享用--scope global并且每次列出时都带着匹配的 scope。赞分享桌面应用【免费下载链接】EcoPaste跨平台的剪贴板管理工具 | Cross-platform clipboard management tool项目地址https://gitcode.com/ayangweb/EcoPaste点击查看免费下载相关推荐EcoPaste 项目中的 Trellis Channel CLI 完全命令参考多智能体协作运行时实战指南EcoPaste 项目中的 Trellis Channel CLI 完全命令参考多智能体协作运行时实战指南 本文是 EcoPaste 仓库内 .agents/桌面应用EcoPaste 仓库内 Trellis Channel CLI 全命令参考多 Agent 协作运行时 command-reference 深度解析EcoPaste 仓库内 Trellis Channel CLI 全命令参考多 Agent 协作运行时 command reference 深度解析 本篇文章桌面应用Trellis Channel 多智能体协作运行时实战从频道命令到事件级排障的完整指南Trellis Channel 多智能体协作运行时实战从频道命令到事件级排障的完整指南 导读 Trellis Channel 是 Trellis 的本地多智能桌面应用上一篇突破性企业级邮件系统RuoYi-Vue-Pro如何实现智能化邮件全生命周期管理下一篇CodeSandbox企业级应用团队协作和项目管理的终极指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

从零构建macOS High Sierra VMware镜像的确定性流程 2026/9/29 7:27:13

从零构建macOS High Sierra VMware镜像的确定性流程

1. 项目概述:为什么一个 macOS High Sierra 的 VMware 镜像,至今仍被反复搜索、下载、调试? “VMware macOS 10.13 High Sierra 镜像 ISO(迅雷链接)附常见问题”——这个标题看起来像十年前的老帖,但直到2…

阅读更多 →
影刀RPA数据提取实战:列表抓取、跨表匹配与接口采集 2026/9/29 7:27:13

影刀RPA数据提取实战:列表抓取、跨表匹配与接口采集

做数据提取这行有些年头了,Python 脚本、浏览器插件、各类采集工具我基本都轮着用过一遍。脚本方案灵活,但维护成本高,页面一改版就得回去改选择器;插件方案上手快,可一旦要跨页面、跨表格、带条件地拿数据&#xff0c…

阅读更多 →
老扫描仪驱动装不上?BenQ 5560在Win10下的完整安装指南 2026/9/29 7:27:13

老扫描仪驱动装不上?BenQ 5560在Win10下的完整安装指南

上周同事从仓库翻出一台BenQ 5560平板扫描仪,说办公室里找不到能用的扫描设备,让我帮忙装起来扫几十页合同。机器看起来是完好的,玻璃面板上没有划痕,排线也没有松脱的迹象,但插上USB线之后,Windows 10系统…

阅读更多 →
Gatus:轻量级配置驱动的Linux健康检查引擎 2026/9/29 7:27:12

Gatus:轻量级配置驱动的Linux健康检查引擎

1. Gatus不是另一个告警工具,而是把监控逻辑写进配置文件的“运维脚本引擎”你有没有试过为一个新上线的API服务配监控:先写个curl命令测连通性,再加个超时判断,再塞进crontab定时跑,最后发现日志满屏飘、告警误报如潮…

阅读更多 →
RNN循环神经网络详解:从原理到PyTorch实战 2026/9/29 7:27:06

RNN循环神经网络详解:从原理到PyTorch实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
芯片设计方法演化史:从标准单元到Chiplet的五大实战拐点 2026/9/29 7:27:05

芯片设计方法演化史:从标准单元到Chiplet的五大实战拐点

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉