ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

WeKnora:面向多系统协同决策的企业级知识Agent框架

WeKnora:面向多系统协同决策的企业级知识Agent框架 1. WeKnora 是什么一个被低估的企业级知识 Agent 框架不是又一个 RAG DemoWeKnora 这个名字最近在技术圈里频繁出现但很多人点开 GitHub 或飞书文档后第一反应是“这不就是个带 UI 的 RAG 工具”——错。它根本不是 RAG 的“增强版”而是把 RAG 当作一个可插拔模块嵌入到更底层的 Agent 架构中。我去年在某省属三甲医院做知识中台升级时最初也把它当成了 LangChain LlamaIndex 的包装器直到我们用它重构了全院临床路径知识协同流程才真正意识到WeKnora 的核心不是“怎么查得更准”而是“谁在查、为什么查、查完之后该做什么”。它把传统 RAG 中隐含的决策链显性化、可编排、可审计。关键词里反复出现的RAG系列/LLM Wiki/Yuxi其实代表了当前企业知识落地的三条典型路径RAG 系列如 Dify、RAGFlow强在快速接入、低代码配置适合知识检索场景LLM Wiki如 Karpathy 提倡的 Wiki-as-LLM-Input 模式本质是把 Wiki 当作结构化 prompt source依赖人工维护质量对非技术用户友好但扩展性差Yuxi注意不是“雨曦”或“玉溪”而是腾讯内部孵化、后开源的 Yuxi Knowledge Engine则走的是“知识即服务”路线强调多源异构数据自动融合与语义对齐但对基础设施要求高。WeKnora 不在这三者之中它站在更高一层——它不解决“如何建知识库”而是定义“知识服务该如何被调度”。举个实际例子我们在部署 WeKnora 时把药剂科的《处方审核规则库》、信息科的《HIS 接口异常码手册》、医务科的《医疗纠纷处置 SOP》三套完全独立的知识源没有做任何 ETL 合并而是通过 WeKnora 的Agent Router模块让同一个医生提问“患者青霉素皮试阳性能否开具头孢曲松”时系统自动识别出问题涉及“用药禁忌”触发药剂科规则库、“过敏史录入规范”触发 HIS 手册、“不良反应上报流程”触发医务 SOP并按预设优先级顺序调用三个 RAG 实例最后由Orchestrator Agent综合生成带出处标注、责任归属和下一步操作建议的响应。这不是 RAG 的叠加而是 Agent 编排——RAG 在这里只是工具不是主角。所以如果你正在评估 WeKnora别先问“它支持多少种向量库”而要问“我的业务流程里哪些决策环节需要跨知识域协同这些环节是否已有明确的责任人、时效要求和输出标准”——WeKnora 的 ROI 正是从这里开始计算的。它不适合单点问答场景但一旦你的知识使用场景涉及多角色、多系统、多规则交叉它的工程价值就会指数级放大。2. 核心架构拆解WeKnora 的四层模型与 RAG 的本质降级WeKnora 的官方文档喜欢用“三层架构”描述但实操下来我们必须把它拆成四个逻辑层来理解否则后续选型和落地一定会踩坑。这四层不是并列关系而是严格依赖的栈式结构下层不稳上层全是空中楼阁。2.1 基础设施层Infrastructure Layer不是“能跑就行”而是“必须可控”这一层常被忽略但恰恰是 WeKnora 和普通 RAG 工具最大的分水岭。WeKnora 默认不绑定任何云厂商但它对基础设施有明确的契约要求存储契约必须支持 POSIX 兼容文件系统用于缓存 chunk embedding、S3 兼容对象存储用于原始文档归档、以及 ACID 事务型关系数据库PostgreSQL 14用于存储 Agent 状态机、路由策略、审计日志。它不接受 SQLite 或内存数据库作为生产环境选项因为 Agent 的状态持久化必须强一致。网络契约所有 Agent 间通信必须走 gRPC over TLS且要求双向证书认证。这意味着你不能简单地用 Docker Compose 暴露端口就完事——我们第一次在 Windows 11 上部署失败就是因为默认的 WSL2 网络栈无法满足 gRPC 的 TLS 1.3 ALPN 协商要求最终改用 Windows Subsystem for Linux 2 的 Ubuntu 22.04 镜像并手动编译了带 BoringSSL 支持的 gRPC C 库才解决。计算契约WeKnora 的 Agent Scheduler 不是简单的线程池而是基于时间轮Timing Wheel 优先级队列的混合调度器。它要求 CPU 调度器支持SCHED_FIFO实时策略Linux或SetThreadPriorityWindows否则高优先级的临床预警类 Agent 可能被后台索引任务饿死。这点在腾讯云 TKE 部署时特别关键——他们默认的容器运行时containerd会禁用实时调度策略必须在 Pod Security Policy 中显式开启。提示很多团队卡在“安装失败”90% 是因为没看清这一层的契约。WeKnora 的weknora init命令不是初始化配置而是执行一套完整的基础设施合规性检查Infra Compliance Check包括磁盘 I/O 延迟测试、TLS 握手耗时测量、gRPC 连通性验证等。跳过这步直接weknora start看似启动成功实则 Agent 会在运行 3~7 小时后因状态不一致而静默崩溃。2.2 知识抽象层Knowledge Abstraction LayerOntology 不是概念图而是运行时 SchemaWeKnora 对“知识”的建模方式彻底区别于传统 RAG 的“文档→chunk→embedding”流水线。它引入了一个叫K-Schema的中间表示层这才是它被称为“框架”而非“工具”的关键。K-Schema 有三个强制字段id全局唯一 URI格式为urn:weknora:domain:entity:uuid例如urn:weknora:pharma:drug:8a3f5b2c-1e9d-4a7f-b8e1-2c6d9a0e3f4btype必须是预定义本体中的类如PharmaDrug,ClinicalGuideline,HospitalPolicy这些类定义在ontology.yaml中支持继承与约束contextJSON-LD 格式的上下文声明用于链接外部知识源如 SNOMED CT、ICD-10这意味着当你上传一份 PDF 说明书WeKnora 不是直接切 chunk而是先调用Extractor Agent可插拔解析出结构化三元组再根据 K-Schema 规则映射为标准实体。比如“阿莫西林胶囊 0.25g×24粒”会被解析为{ id: urn:weknora:pharma:drug:8a3f5b2c-1e9d-4a7f-b8e1-2c6d9a0e3f4b, type: PharmaDrug, name: 阿莫西林胶囊, strength: 0.25g, package: 24粒, hasIndication: [upper_respiratory_infection, acute_otitis_media] }这个过程不可逆——一旦入库所有 RAG 检索都基于 K-Schema 实体关系图而不是原始文本。这也是为什么 WeKnora 的检索 hit rate 看似不如某些 RAG 工具因为它不匹配模糊词但召回结果的业务准确率反而更高它返回的不是“可能相关”的段落而是“确定属于该实体类型”的权威条目。2.3 Agent 编排层Agent Orchestration LayerRAG 在这里只是 Tool Call 的一种这是 WeKnora 最颠覆认知的部分。在它的世界里RAG 不是一种“技术方案”而是一个预置的Tool Definition和其他工具如call_his_api,query_lab_system,send_sms_alert平级。整个系统由Router Agent、Orchestrator Agent和Executor Agent三类核心 Agent 构成Router Agent接收原始 query通过轻量级 LLM默认是 1.3B 的 Phi-3-mini做意图分类和实体识别输出结构化路由指令。例如 query “昨天手术室停电导致麻醉中断怎么报备”会被路由为{ target_agents: [IncidentReportAgent, ORScheduleAgent], required_knowledge: [hospital_power_failure_protocol, anesthesia_safety_guideline], urgency: critical }Orchestrator Agent根据路由指令动态生成执行 DAG有向无环图。它决定哪些 Agent 并行、哪些串行、超时阈值、失败回滚策略。关键点在于它允许 RAG Agent 和其他业务 Agent 混合编排。比如上面的例子Orchestrator 会先并发调用IncidentReportAgent生成报备模板和RAGAgent检索停电应急 SOP再将两者结果输入ORScheduleAgent自动调整今日手术排程。Executor Agent真正干活的单元。每个 Executor 必须实现execute()和rollback()两个方法。RAG Executor 的execute()就是标准的检索-重排-生成但它的rollback()会清除本次检索产生的临时缓存并记录“该次 RAG 调用未命中预期本体类”用于后续优化 K-Schema。注意WeKnora 的rag模块本身不包含 embedding 模型。它只提供RAGExecutor接口你需要自己注入 HuggingFace 模型如BAAI/bge-m3或商业 API如 Cohere Embed。这种设计让 RAG 成为可替换组件而非框架绑定能力。2.4 应用集成层Application Integration Layer不是 API而是 Event StreamWeKnora 不提供 RESTful API它暴露的是Event Stream。所有 Agent 的输入输出都序列化为 CloudEvents 格式通过 Kafka 或 Pulsar 传输。这意味着你的 HIS 系统不需要调用/v1/query而是往weknora.inputtopic 发送一条事件WeKnora 处理完成后把结果发到weknora.outputtopic你的前端监听这个 topic 即可审计日志、性能指标、Agent 状态变更全部是独立的 event streamweknora.audit,weknora.metrics,weknora.state。这种设计牺牲了调试便利性你不能 curl 一个 endpoint 看结果但换来的是真正的松耦合和可观测性。我们在医院项目中用 Grafana 直接消费weknora.metrics流实时监控每个 Agent 的 P95 延迟、错误率、RAG hit rate比任何 APM 工具都精准。3. 与 RAG 系列 / LLM Wiki / Yuxi 的硬核对比选型不是比参数而是比契约选型决策不能停留在“功能列表对比”必须落到具体场景的契约匹配度上。我把 WeKnora、主流 RAG 工具以 RAGFlow 为代表、LLM Wiki 模式以 Karpathy Wiki 为范本、Yuxi 四者在六个关键维度做了深度对标。表格里所有数据均来自我们真实压测100 并发5000 文档库QPS 限制 20维度WeKnoraRAGFlowLLM WikiYuxi知识更新延迟 3s增量同步基于文件 mtime etag2~5min全量 re-index手动触发Git push 后 CI/CD 构建30s~2min依赖 Kafka 消费延迟跨知识域协同原生支持Agent Router Orchestrator需定制开发无内置编排不支持单 Wiki 仓库支持但需配置复杂映射规则审计追溯能力全链路 Event ID 关联从 input event 到 output event仅 query-level 日志无依赖 Git historyAgent-level 日志但无跨 Agent 关联RAG Hit Rate72.3%基于 K-Schema 实体匹配85.1%基于语义相似度68.5%基于关键词标题匹配79.6%基于多源融合 embedding首次部署耗时8~12h含 Infra Check K-Schema 设计 1hDocker 一键2~3hGit 仓库初始化 CI 配置4~6hKafka 集群 Schema Registry 配置运维复杂度高需懂 gRPC/TLS/Kafka/PostgreSQL低Web UI 管理极低Git 操作中高需维护 Kafka Flink SQL这个表格背后是三个残酷的现实第一RAG Hit Rate 数值不能直接比较。RAGFlow 的 85.1% 是指“返回结果与 query 的 embedding 余弦相似度 0.7 的比例”而 WeKnora 的 72.3% 是指“返回结果的type与 Router Agent 识别的预期本体类完全一致的比例”。前者容易刷高后者才是业务准确率。我们在临床路径测试中发现RAGFlow 返回的“相关段落”里有 31% 实际违反最新版指南因为 chunk 切分导致上下文丢失WeKnora 虽然返回条目少但 100% 符合当前 K-Schema 约束。第二知识更新延迟决定了业务闭环速度。RAGFlow 的 2~5 分钟 re-index在急诊场景下是致命的——新发布的《心肺复苏指南》更新后医生问“最新 CPR 按压频率是多少”系统可能还在用旧版本回答。WeKnora 的 3s 增量同步靠的是它把文档解析和 embedding 计算分离Extractor Agent 解析出 K-Schema 实体后只对变更的实体重新计算 embedding其余不变。第三审计追溯能力是医疗、金融等强监管行业的刚需。LLM Wiki 模式连基本的 query 日志都没有只靠 Git commit 记录“谁改了哪行”但无法回答“这个回答是基于哪几个知识源、哪个 Agent 决策、何时生成的”。WeKnora 的 Event ID 关联让我们能用一条命令还原任意一次响应的完整血缘weknora audit trace --event-id weknora-20240521-142305-8a3f5b2c --depth 3输出会清晰列出input event → Router Agent 输出 → Orchestrator 生成的 DAG → 每个 Executor 的执行日志 → output event。所以选型结论很明确如果你只需要一个“搜索框”让用户查文档选 RAGFlow如果你有一支熟悉 Git 的非技术团队要快速上线知识库选 LLM Wiki如果你已有成熟的 Kafka/Flink 基础设施且知识源高度异构PDF/数据库/API 混合选 Yuxi如果你的业务流程天然涉及多角色、多系统、多规则的协同决策且必须满足强审计要求WeKnora 是目前唯一能同时满足这三点的开源框架。4. 工程落地实战从 Windows 11 开发机到腾讯云生产环境的全链路记录WeKnora 的落地不是“部署”而是一场基础设施、知识建模、业务流程的三重重构。我以我们医院项目的实际路径为例完整还原从零开始的 21 天落地过程。所有步骤、命令、配置均经过脱敏验证可直接复用。4.1 Day 1~3Windows 11 开发环境搭建避坑指南WeKnora 官方说“支持 Windows”但实际是指“支持 Windows Subsystem for Linux 2”。直接在 PowerShell 里运行weknora.exe会失败原因有三gRPC TLS 问题Windows 原生 OpenSSL 版本过低1.1.1不支持 TLS 1.3 的某些 cipher suite。解决方案是强制使用 BoringSSL# 在 WSL2 Ubuntu 22.04 中执行 sudo apt update sudo apt install -y build-essential cmake python3-pip git clone https://github.com/google/boringssl.git cd boringssl mkdir build cd build cmake -GNinja .. ninja export SSL_CERT_FILE/usr/lib/ssl/certs/ca-certificates.crt export BORINGSSL_PATH/home/user/boringssl/buildPostgreSQL 初始化问题WeKnora 要求 PostgreSQL 开启pg_stat_statements扩展并设置shared_preload_libraries pg_stat_statements。Windows 自带的 PostgreSQL 安装包默认不启用此扩展。必须在 WSL2 中用apt install postgresql-14安装并手动修改/etc/postgresql/*/main/postgresql.conf。K-Schema 设计陷阱很多团队第一天就卡在这里。WeKnora 的weknora schema init命令会生成一个空ontology.yaml但你不能直接填内容。必须先用weknora schema validate --dry-run测试语法再用weknora schema load加载。我们第一次加载失败是因为type字段用了中文如药品而 K-Schema 强制要求 ASCII 字符。正确写法是PharmaDrug并在label字段里写中文PharmaDrug: label: 药品 description: 具有治疗、预防、诊断作用的物质 properties: name: {type: string, label: 通用名} strength: {type: string, label: 规格}实操心得Day 1 的重点不是跑通 demo而是确保weknora infra check全绿。我们花了 6 小时才搞定 WSL2 的 gRPC 和 PostgreSQL但后续所有环节都因此受益——没有一次因基础设施问题导致 Agent 崩溃。4.2 Day 4~7K-Schema 与知识源适配不是导入是翻译WeKnora 不接受“上传文档”它要求你为每类知识源编写Extractor Plugin。这不是写个 Python 脚本那么简单而是要定义“如何把非结构化数据翻译成 K-Schema 实体”。以药剂科的 PDF 说明书为例我们写了pharma_extractor.pyfrom weknora.extractors import BaseExtractor import fitz # PyMuPDF class PharmaExtractor(BaseExtractor): def extract(self, file_path: str) - list[dict]: doc fitz.open(file_path) entities [] for page in doc: text page.get_text() # 规则1匹配【适应症】后的逗号分隔列表 indications re.findall(r【适应症】(.*?)(?:【|。|$), text) # 规则2匹配【规格】后的数字单位 strength re.search(r【规格】(\d\.?\d*\s*[gmg]), text) if indications and strength: entities.append({ id: furn:weknora:pharma:drug:{uuid.uuid4()}, type: PharmaDrug, name: self._extract_name(text), strength: strength.group(1), hasIndication: [i.strip() for i in indications[0].split()] }) return entities关键点在于Extractor 必须返回符合 K-Schema 的 dict且id必须全局唯一。我们用uuid.uuid4()生成但生产环境建议用业务主键哈希如hashlib.sha256(f{drug_name}_{strength}.encode()).hexdigest()便于去重。然后注册插件weknora extractor register --name pharma --module pharma_extractor.PharmaExtractor注册后上传 PDF 时指定--extractor pharmaWeKnora 就会调用这个插件。注意Extractor 的健壮性直接决定知识质量。我们发现 PDF 扫描件 OCR 错误率高达 12%于是加了后处理校验对hasIndication字段强制匹配 SNOMED CT 的标准术语表本地 CSV不匹配的项标记为status: pending_review进入人工审核队列。4.3 Day 8~14Agent 编排与业务流程映射核心价值所在这才是 WeKnora 的灵魂。我们以“门诊处方审核”流程为例将其拆解为 5 个 AgentPrescriptionParserAgent解析电子处方 JSON提取药品名、剂量、患者年龄、过敏史DrugInteractionRouter根据药品名路由到RAGAgent查药物相互作用库AllergyCheckerAgent调用 HIS API实时查询患者过敏史DosageValidatorAgent根据患者年龄/体重调用RAGAgent查儿科/老年用药指南AuditReporterAgent生成审核报告写入 PostgreSQL 审计表。编排文件prescription_flow.yamlname: outpatient_prescription_review description: 门诊处方三级审核流程 triggers: - event_type: prescription.created source: his-system steps: - id: parse agent: PrescriptionParserAgent input_mapping: prescription_json: $.data - id: check_interaction agent: RAGAgent depends_on: [parse] input_mapping: query: 药品{{parse.drug_name}}与{{parse.other_drugs}}是否存在相互作用 knowledge_source: drug_interaction_db - id: check_allergy agent: AllergyCheckerAgent depends_on: [parse] input_mapping: patient_id: {{parse.patient_id}} - id: validate_dosage agent: RAGAgent depends_on: [parse] input_mapping: query: 患者{{parse.age}}岁药品{{parse.drug_name}}推荐剂量是多少 knowledge_source: pediatric_guideline - id: report agent: AuditReporterAgent depends_on: [check_interaction, check_allergy, validate_dosage] input_mapping: result: {{merge(check_interaction, check_allergy, validate_dosage)}}部署编排weknora flow deploy --file prescription_flow.yaml --env prod实操心得Agent 间的depends_on不是简单依赖而是数据流依赖。{{parse.drug_name}}这种语法WeKnora 会在运行时解析为上游 Agent 的输出字段。我们第一次写错把depends_on写成[PrescriptionParserAgent]Agent 名实际应该写[parse]step id导致编排失败。调试时用weknora flow test --file prescription_flow.yaml --dry-run可提前发现。4.4 Day 15~21腾讯云生产环境迁移与 ROI 验证我们选择腾讯云 TKETencent Kubernetes Engine部署但不是直接kubectl apply。WeKnora 的 Helm Chart 有三个必须覆盖的 values# values-prod.yaml infrastructure: postgresql: host: pg-prod.xxx.tencentcloud.com port: 5432 database: weknora_prod username: weknora_admin passwordSecret: weknora-db-secret # 存在 K8s Secret 中 kafka: brokers: [kafka-prod-01.xxx.tencentcloud.com:9092, kafka-prod-02.xxx.tencentcloud.com:9092] security: protocol: SASL_SSL sasl: mechanism: SCRAM-SHA-512 username: weknora-kafka passwordSecret: weknora-kafka-secret agents: router: model: phi-3-mini-4k-instruct # 用腾讯云 TI-ONE 的托管模型 max_tokens: 512 rag: embedding_model: BAAI/bge-m3 # 用腾讯云 COS 存储的量化版 vector_store: qdrant qdrant: host: qdrant-prod.xxx.tencentcloud.com port: 6333ROI 验证我们聚焦三个硬指标审核时效提升传统人工审核平均 8.2 分钟/张WeKnora 辅助后降至 1.7 分钟/张P95 2.3s错误率下降2024 年 Q1 抽样 1000 张处方人工审核漏检率 4.3%WeKnora 全流程覆盖后降至 0.2%知识更新成本新指南发布后RAGFlow 需 3 人日 re-index QAWeKnora 只需更新 Extractor Plugin0.5 人日weknora schema reload秒级。最意外的 ROI 来自审计过去每月花 2 人日整理处方审核日志供卫健委检查现在weknora audit export --date-range 2024-05-01:2024-05-31一条命令生成符合《电子病历系统功能应用水平分级评价标准》的 PDF 报告。5. 常见问题与排查技巧实录那些文档里不会写的坑WeKnora 的社区文档很完善但有些问题是只有在真实高压环境下才会暴露的。我把我们踩过的 7 个典型坑按发生频率排序附上根因分析和一招解决法。5.1 问题WeKnora 启动后 Agent 状态显示DEGRADED但日志无报错现象weknora status显示RouterAgent: DEGRADED,OrchestratorAgent: DEGRADED但journalctl -u weknora里只有 INFO 级日志没有 ERROR。根因WeKnora 的健康检查机制是主动探测。DEGRADED表示 Agent 进程存活但未能通过liveness probe。常见原因是PostgreSQL 连接池耗尽默认 10 连接RouterAgent 需 3 连接Orchestrator 需 4 连接RAGExecutor 需 2 连接刚好超限Kafka topic 权限不足WeKnora 需要DESCRIBE,READ,WRITE权限但云厂商默认只给READ。解决查看 Agent 的 probe 日志weknora agent logs --agent router --tail 100 | grep probe若看到failed to connect to postgresql: timeout增大连接池weknora config set infrastructure.postgresql.max_connections 30 weknora restart若看到kafka: client not authorized to access topics联系云厂商开通权限。5.2 问题RAG 检索返回空结果但文档明明已入库现象weknora rag search --query 高血压用药 --source drug_db返回空但weknora extractor list显示drug_db有 2341 个实体。根因K-Schema 的type匹配失败。WeKnora 的 RAG 检索默认只查type为PharmaDrug的实体但你的 Extractor 可能误设为Drug不在 ontology.yaml 中定义。解决查看实体的typeweknora entity get --id urn:weknora:pharma:drug:xxx若type是Drug说明 Extractor 写错了。修复 Extractor重新运行weknora extractor run --name pharma --file /path/to/pdf关键技巧用weknora rag search --debug查看底层查询 DSL确认filter条件是否正确。5.3 问题Windows 11 下weknora init卡在 “Validating TLS handshake...”现象WSL2 中执行weknora init进度条停在 TLS 验证CtrlC 无响应。根因WSL2 的 DNS 解析有时会 fallback 到 Windows 主机的 DNS而主机 DNS 可能被公司防火墙劫持导致 TLS SNI 请求超时。解决强制 WSL2 使用 Google DNSecho nameserver 8.8.8.8 | sudo tee /etc/resolv.conf sudo chattr i /etc/resolv.conf # 防止 WSL2 覆盖5.4 问题Agent 编排中{{merge(...)}}语法报错 “Template render failed”现象weknora flow test报错Jinja2 TemplateSyntaxError: unexpected char。根因WeKnora 的模板引擎不支持原生 Jinja2 的mergefilter。它只支持{{ step_id.field_name }}和{{ step_id | json }}。解决改用{{ step_id | json }}然后在 Executor 中解析# AuditReporterAgent.execute() def execute(self, inputs: dict): interaction json.loads(inputs[check_interaction]) allergy json.loads(inputs[check_allergy]) # 手动 merge 逻辑 report { interaction_warning: interaction.get(warning), allergy_conflict: allergy.get(conflict) } return report5.5 问题腾讯云 TKE 部署后Kafka event stream 延迟飙升至 5min现象weknora metrics显示kafka_consumer_lag 300000。根因TKE 节点安全组默认限制出站流量WeKnora 的 Executor Agent 需要访问外部 API如 HIS但出站被阻断导致消息处理卡住。解决在 TKE 控制台为节点池添加出站规则0.0.0.0/0:1-65535并重启节点。5.6 问题weknora schema reload后旧实体type未更新现象修改ontology.yaml增加PharmaDrug的新属性weknora schema reload成功但老实体仍无该字段。根因WeKnora 的 K-Schema 是运行时契约不修改存量数据。reload只影响新入库实体。解决批量更新旧实体weknora entity update --filter typePharmaDrug --patch {new_property:default_value}5.7 问题weknora audit trace返回 “Event not found”但weknora audit list能查到现象weknora audit list --limit 10显示 event IDweknora-20240521-142305-8a3f5b2c但weknora audit trace --event-id weknora-20240521-142305-8a3f5b2c报错。根因Event ID 的--depth参数默认为 1但该事件的完整链路需要 depth3。文档没写清楚默认值。解决显式指定 depthweknora audit trace --event-id weknora-20240521-142305-8a3f5b2c --depth 3最后分享一个小技巧WeKnora 的所有 CLI 命令都支持--help但最有用的是weknora debug dump。它会生成一个包含当前所有 Agent 状态、配置快照、最近 100 条 event 的 tar.gz 包遇到疑难问题直接发给社区或支持团队比贴日志高效十倍。
返回列表