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。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions