Files
ycode/docs/reference/ygent-workbuddy-ai-gap-2026-10-14.md

14 KiB
Raw Permalink Blame History

Ygent 与 WorkBuddy AI 实现对比及可实施项

日期:2026-10-14 对比对象:WorkBuddy-AI-实现分析报告(对该报告所述 WorkBuddy 桌面版能力的静态逆向结论)× Ygent 代码库实际实现

状态说明:本文是差距分析 + 可实施项评估,不是实施方案,也不改动任何既有交付承诺。文中"已实现"以代码为据(附文件路径);docs/*.md 与 AGENTS.md 的目标描述不计为已实现。


0. 结论速览

  1. 两者不是同类产品,不能逐项对齐。 WorkBuddy 是「自带 Agent 内核 + 云端多模型网关 + 自研 OS 沙盒」的一体化商业桌面端;Ygent 是「接入外部内核(OMP)+ 用户自带渠道(BYO Key)+ 宿主权限治理」的可控桌面端。内核不是自己的,这是最大的结构性差异。
  2. Ygent 在六个方向的实现深度已超过 WorkBuddy(团队/岗位 80+ 表、项目任务、资料库版本化、A2A 协作预算、LSP 自管、grants+审计),这些不需要对齐,属于反向优势。
  3. 真正值得补的差距集中在宿主层,且大部分不需要碰内核:进程治理、删除安全、循环防护、预热、少量高频工具缺口、内置连接器预设。这批属于低风险可直接做。
  4. 唯一的大工程差距是 OS 级沙盒(WorkBuddy 的 tsbx + shim 双层),但当前用户取向(2026-10-12「给全部的授权,现阶段不考虑在现实上做这么多工作」)与重型限制机制相反,不建议现在做,继续如实声明"规则隔离不是沙盒"。
  5. 报告本身是静态逆向,提示词全文、服务端模型路由、鉴权细节本地不可见,不能当作实现规格照抄。

1. 逐层对比

1.1 整体架构

层 WorkBuddy(报告) Ygent(实测) 判定
桌面壳 Electron + app.asar,含 workbuddy-editor-sdk(Office 编辑)、baas-v2 Tauri 2 + React 18 + zustand 5(package.json) 等价不同技术,无需改造
UI↔引擎协议 ACP(@agentclientprotocol/sdk),本地 HTTP /api/v1/acp 自研 NDJSON RPC over stdin/stdout(src-tauri/src/sidecar.rs:448-489, 667-726) 能力等价;除非要接第三方 UI,否则不必换 ACP
Agent 内核 自带 @genie/agent-cli(Claude Code 血统,9.4MB bundle + 66 懒加载分块) 外部 omp-*-pc-windows-msvc.exe,--mode rpc-ui(sidecar.rs:506-544, 647) 结构性差异:内核非自有
模型接入 云端网关 /plugin 前缀 + Bearer + X-User-Id,服务端路由 用户渠道表 + 直连 OpenAI 兼容 / Responses / Anthropic Messages / Gemini(commands/channel.rs, llm.rs) BYO 渠道 vs 服务端托管,各有取舍

1.2 内核与循环

项 WorkBuddy Ygent 可实施性
循环原语 @openai/agents + 自研 genie 工作区包 由 OMP 提供,宿主不自建循环 ❌ 不建议(违反"不创建第二套聊天内核"约定)
死循环防护 CBC_LOOP_GUARD_CONSECUTIVE_THRESHOLD / _SEQUENCE_REPEATS / _DISABLED 未见实现 ✅ 可在宿主对工具名/参数序列做重复检测
进程守护 daemon-supervisor.cjs + windows-job.cjs(Job Object 绑子进程树) 仅 buildtest/process_windows.rs:86-290 用 Job Object(构建进程强杀),OMP 子进程未绑定 ✅ 低成本高收益
启动预热 cbc-prewarm、preload-lazy-chunks 有空闲回收 trim_idle_processes(8)(collaboration_runtime.rs:263),无启动预热 ✅ 可补
低内存模式 codebuddy-lowmem(RSS 阈值触发 heap snapshot) 无 ⚠️ 可选,Node 内核才有意义

1.3 工具系统

Ygent 的工具体系不是更少,而是不同:宿主侧有 ygent_*、library_*、experience_*、collaboration_*、project_tasks_*、以及大批 team_*(team/*.rs),前端标签字典 src/lib/toolSummaryRules.ts 头部注释标明「verified against installed WorkBuddy 5.7.6」——字典里有 WorkBuddy 工具名,但后端并不产出。

后端确证缺失的 WorkBuddy 侧高频工具:

  • 联网:web_search、web_fetch
  • 规划:enter_plan_mode / exit_plan_mode / plan_*
  • 待办:todo_write
  • 交互:ask_followup_question(Ygent 有 questions.rs 问答机制,但非同名工具体系)
  • 可视化:visualize:show_widget、widget_guidelines(前端 turnFold.ts:91-95 能识别 widget 渲染,后端不产出)
  • 多媒体:image_gen(Ygent 完全无多媒体生成)
  • 静态检查:read_lints(Ygent 已有 LSP 自管 + ygent_code_analysis,基础具备)
  • MCP 侧:mcp_call_tool / mcp_get_tool_description / fetch_mcp_resource
  • 集成:call_*_integration、automation_update

文件类工具靠 OMP 原生 read/write/edit/bash/grep/glob 替代(sidecar.rs:596),命名与 WorkBuddy 不同,但功能覆盖。

1.4 模型层

项 WorkBuddy Ygent
推理位置 云端网关(本地不推理) 用户渠道直连(llm.rs 真流式 SSE)
协议 OpenAI 兼容 /chat/completions + SSE OpenAI 兼容 + Responses + Anthropic Messages + Gemini(ygent-model-metadata-plan.md)
降级/回退 有降级标记(如 deepseek_flash_unavailable) 未见渠道级降级/回退路由
多模态 ASR(wb-asr / gpt-4o-mini-transcribe)、图像生成/编辑(hunyuan-image-*) 无多媒体生成

1.5 沙盒与安全(最大差距)

层 WorkBuddy Ygent 判定
策略/审批 @anthropic-ai/sandbox-runtime + 权限提升桥 审批网关:内核恒 --approval-mode always-ask,宿主决定放行/弹卡(sidecar.rs:648-650) ✅ 已有
执行层沙盒 腾讯自研 tsbx.dll + sandbox-center.exe + betterleaks.exe + tsbxldr.dll 无 OS 级沙盒(无 seccomp/AppContainer/文件系统隔离) ❌ 大工程
Shim 层 brokered-fs-shim(fs 走 broker IPC)、sitecustomize.py、safe-delete(删除进回收站 GENIE_TRASH_DIR + bulk-guard)、brokered-bin 白名单命令目录 无 ✅ safe-delete 与命令白名单可移植
授权模型 会话/账号级 grants 表白名单(fnv1a(method|title) 哈希)+ audit_log + 完全访问 + 经理只读白名单(omp.rs:318-341, approval.rs:54-118) Ygent 更细

1.6 扩展体系

项 WorkBuddy Ygent 缺口
MCP @modelcontextprotocol/sdk 1.29.0,配置文件驱动 stdio + Streamable HTTP 自研(connectors/client.rs),协议协商 2025-11-25→2024-11-05,凭证进 Windows 保险库(connectors/vault.rs) OAuth、SSE、CLI 适配器、resources/prompts、市场
Skills SKILL.md(兼容 Anthropic Agent Skills) SKILL.md 按需 ygent_load_skill(id),SHA256 摘要 + 回合冻结快照 ZIP/Git/市场导入
专家 Expert 专家包(plugin.json + agents/*.md)、专家团 无独立专家概念:「专家」tab 实为团队岗位(TeamRolePane.tsx, CapabilityCenter.tsx:41) P3 专家闭环待实现(方案 §9 已列)
A2A @a2a-js/sdk 自研 collaboration 体系 + 80+ team_* 表,含预算/取消/恢复 Ygent 更强
IM 渠道 /api/v1/channels/wechat|wecom + 客服/群机器人 API 无(channels 表是模型渠道,非 IM) 可做,依赖连接器可用

1.7 部署与治理

项 WorkBuddy Ygent
部署变体 product.json 四变体(cloudhosted/selfhosted/ioa/internal),ACC_PRODUCT_CONFIG_V2/V3 无(单机桌面)
认证 腾讯云账号 + Bearer + X-User-Id 本机,无账号体系
可观测 @tencent/galileo-node-sdk + OpenTelemetry /v1/traces audit_log 表;无 OTEL
资源分发 COS 加速桶 本地

2. 可实现清单(按成本分档)

A 档:宿主层、低风险、可直接做(不碰内核协议)

# 事项 依据/落点 收益 前置
A1 OMP 子进程纳入 Windows Job Object,进程退出时回收整棵子进程树 对标 windows-job.cjs;现 sidecar.rs 启动 OMP 未绑定 Job 异常退出/崩溃不再残留 OMP 进程 无
A2 safe-delete:删除类操作进回收站 + 批量删除 guard 对标 shim safe-delete + GENIE_TRASH_DIR + bulk-guard;Ygent 完全无 直接降低误删不可逆损失 需用户确认(见 §4)
A3 危险命令 / 危险路径黑名单拦截(宿主 Shell 工具包装层) 对标 brokered-bin 白名单;Ygent 有 grants 但无命令级策略 挡住高危命令 需用户确认
A4 工具调用死循环检测(同名+同参序列阈值告警/中断) 对标 CBC_LOOP_GUARD_*;Ygent 无 省 token、防卡死 无
A5 内核启动预热(新对话页提前拉起/复用内核) 对标 cbc-prewarm;Ygent 有回收无预热 缩短首字延迟 无
A6 补 read_lints(复用已有 LSP + ygent_code_analysis) lsp/*.rs, code_analysis.rs 基础设施已具备 近乎白送的工具补齐 无
A7 补 web_fetch / web_search(可基于内置浏览器或直连 fetch) 对标 WB 同名工具;Ygent 有 ygent_browser 可复用 联网研究类任务能力 需授权策略
A8 内置 连接器预设扩充(现仅 GitHub / DeepWiki) connectors/presets.rs:17-33 降低接入门槛 无
A9 前后端工具名对齐:把 toolSummaryRules.ts 里已有但后端不产出的名字清点,避免"能渲染但不产出"的错位 src/lib/toolSummaryRules.ts vs sidecar.rs:973-1004 消除认知错位 无

B 档:中等成本,需设计与验收

# 事项 说明
B1 多媒体生成接入:文生图 / 图生视频 / 音频转写,走现有渠道体系 Ygent 目前零多媒体生成,是明显功能空白;参考 WB 的 image_gen、AudioTranscribe
B2 专家(Expert)闭环 P3 方案 §9 已定;导入 WorkBuddy .codebuddy-plugin/plugin.json + agents/*.md 到 Ygent 模型(映射表见方案 §5)。当前"专家 tab = 团队岗位"需明确区分
B3 MCP 增强:OAuth 授权流、CLI 连接器适配、resources/prompts 读取、mcp_get_tool_description 等价工具 现只支持 stdio + Streamable HTTP,无 OAuth/SSE/CLI
B4 渠道级降级/回退路由 对标 WB 的降级标记(如 deepseek_flash_unavailable)
B5 非完全访问时把 write/edit 纳入 cwd 范围校验 目前经理有只读路径校验(approval.rs:95-118),普通会话主要靠审批网关
B6 结构化 trace / OpenTelemetry 导出 在 audit_log 与已有渲染性能诊断之上,便于定位渲染长任务
B7 IM 渠道接入(企业微信/微信机器人) 依赖连接器可用;当前会话企业微信连接器为关闭状态

C 档:大工程 / 不建议现在做

# 事项 不建议理由
C1 OS 级沙盒(tsbx 等价物) Windows 需文件过滤驱动/内核态组件,成本极高;且与用户 2026-10-12「不做这么多现实工作」的取向相反。建议保持规则隔离 + 审批 + 审计,继续如实声明"不是沙盒"(ygent-team-integration.md:91)
C2 自建 agent 循环 / 换自研内核 违反"不创建第二套聊天内核"约定,收益低
C3 改用 ACP 协议 现 NDJSON RPC 已满足;除非要接第三方 UI 或多内核
C4 市场 / 云同步 / 多设备 / 云资产 方案 §9 已列为后续,不在首期
C5 产品四变体配置 单机桌面场景价值低
C6 遥测上报(galileo 类) 涉及隐私,桌面版不建议引入

3. 反向优势(Ygent 已超 WorkBuddy,不需要对齐)

  • 团队 / 岗位:80+ team_* 表,覆盖成员、岗位、计划、执行、复核、产出、恢复、调度(team/*.rs, TeamOffice.tsx)。
  • 项目任务:版本化任务、验收/复核/续跑(project_tasks.rs, ProjectTasks.tsx)。
  • 资料库:版本化物料 + 冻结引用 + 经验沉淀(library.rs, knowledge.rs);P0/P1 已接入。
  • A2A 协作:自研调度器 + 因果预算 + 取消归属 + agent_live/agent_replay 重放(collaboration_runtime.rs)。
  • 权限治理:grants 白名单 + audit_log + 经理只读白名单 + 员工分级冻结,层次比报告所述更细。
  • LSP / 代码分析:宿主自管 LSP 生命周期,禁用 OMP 原生 LSP(lib.rs:78-94)。

4. 前置条件与冲突提醒

  1. 内核范围:AGENTS.md 明确"当前只使用 OMP 内核""Codex 内核适配和验收暂不纳入本轮"。涉及内核的改动只按 OMP 验收。
  2. 授权取向冲突(重要):用户 2026-10-12 明确"给全部的授权,现阶段不考虑在现实上做这么多工作",取代了逐工具授权方案。⇒ A2 / A3(删除回收站、命令黑名单)属于新增限制性机制,与"完全访问不逐次确认"的当前取向存在张力,实施前必须与用户确认。A1 / A4 / A5 / A6 / A8 / A9 与授权无关,可直接做。
  3. 报告不可当规格:报告为纯静态逆向,提示词全文、服务端模型路由、鉴权细节本地不可见(报告 §9 自述);tsbx 内部行为、product.json 变体语义均无字节级证据。只参考其架构分层与机制存在性,不照抄实现细节。
  4. 不虚构能力:本文 A 档各项均为"可实施",不代表已实现;落地时仍需按各域既有 SOP 完成真实验收(不支持项继续如实标注)。
  5. 不引入 WorkBuddy 数据依赖:任何导入格式兼容都是配置适配,不写其他软件的配置、不复制其凭证。

5. 建议的下一步

  1. 先确认 §4.2 的授权取向:是否允许新增删除回收站 / 命令黑名单这类限制机制。
  2. 若允许,按 A1 → A2/A3 → A4 → A5 → A6/A8/A9 顺序落地(A1 无争议可先做)。
  3. B 档单独立项:建议先做 B1(多媒体) 或 B2(专家 P3),前者是功能空白、用户可感知,后者方案已定稿。
  4. C 档维持"不做",在相关文档中继续如实声明现有局限。