Skip to content

探索:凌霄 Core 的 Rust 化 #63

Description

@Catsofsuffering

背景

凌霄 Core 当前承担 agent runtime、tool registry、session/runtime state、daemon/server、workflow、LLM 调度等核心职责。
需要评估哪些核心模块适合 Rust 化,以及 Rust 化对可靠性、性能、分发、跨平台和维护成本的影响。

探索目标

  • 盘点 Core 边界:哪些模块是性能敏感、并发敏感、状态一致性敏感或适合作为稳定内核的候选。
  • 评估 Rust 化路径:完整重写、增量 native module、sidecar service、CLI/daemon 分层等方案。
  • 明确 TypeScript 与 Rust 的接口边界、序列化协议、构建发布和测试策略。

建议交付

  • 候选模块清单与 Rust 化优先级。
  • 方案对比:收益、风险、迁移成本、回滚策略。
  • 一个最小 PoC 范围建议。

验收标准

  • 明确推荐的 Rust 化策略及不推荐的替代方案。
  • 至少选出 1 个 PoC 模块并说明选择依据。
  • 给出迁移分阶段路线图和主要风险清单。

Rust Core 实现进展(2026-07-10)

实现分支:rust-core-parity-audit
代码:https://github.com/Catsofsuffering/lingxiao-coding/tree/rust-core-parity-audit

已实现的 Rust Core

  • Headless daemon:stdio JSON-lines transport、runtime config、启动恢复和后台调度/进程回收。
  • 核心状态:SQLite WAL/single-writer、事件日志、幂等命令、session/task/agent/workflow 状态机、snapshot/delta reconnect、retention。
  • Agent runtime:Leader/Agent think-act-observe loop、AgentPool、心跳/清理、tool-loop 与 tool-failure-loop guard、权限升级决策。
  • LLM:统一 provider/router、streaming、usage、retry、circuit breaker、fallback、模型能力/上下文路由;OpenAI、Anthropic、Gemini、Bedrock provider。
  • 工具与执行边界:file/list/glob/search、exact structured patch、shell/git、sidecar、terminal、Node/Python REPL、MCP、OCR、文档解析;均接权限、workspace scope、资源预算和审计事件。
  • 协作与长期状态:workflow DAG、schedule、message bus、team mailbox、blackboard/assumptions/graph、FTS memory/embedding、trace/metrics、git worktree。

真实模型验证

当前分支重新构建 daemon/provider 后,使用真实 OpenAI provider 验证通过:

  • llm.call 产生真实流式文本输出。
  • leader.run 实际调用 file_read 并将观察结果写回模型上下文。
  • session.run_task 完成 task 创建、分配、LLM 调用和终态写入。
  • workflow.execute 的 LLM node 返回真实模型输出。
  • session.snapshotevent.replay 正常工作。

Anthropic 路径请求已进入 provider,但当次验证被上游临时 server_error(retryable)中断,需在服务恢复后重试;这不是已观察到的 Rust Core 路由或协议错误。

本轮提交

  • 8fc9728 chore: land rust core parity updates
  • aaf3885 refactor: consolidate provider image URI parsing

后续:代码已推送到实现分支,等待审计、PR 和合并后再更新为 Done。

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions