Skip to content
muyuzhongPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Lion Code

以最小 Agent Kernel 为核心、面向可靠 Coding Agent 构建的可组合运行时与完整客户端
A composable runtime for building reliable Coding Agents, built around a minimal agent kernel.

Python 3.12+ Desktop: Electron & React License: MIT CI Architecture: import--linter Status: Active

产品形态 · 核心特性 · 快速开始 · 系统架构 · 工程机制 · 评测与质量 · 项目结构


产品形态

Lion Code 提供桌面 GUI、命令行 CLI 以及 Python SDK:

1. Electron 桌面客户端(Desktop GUI)

基于 Electron + React 19 + @assistant-ui/react 构建,由独立的 API-only Python Sidecar(FastAPI / WebSocket)托管会话运行时,实现严格的进程隔离:

Lion Desktop Client Preview

  • 流式交互与状态呈现:打字机流式回复,工具调用卡片与模型思考过程(Thinking)可自由展开折叠。
  • 工作面板(WorkPanel):
    • 文件资源视图:点击对话中的文件路径或产物链接,实时查看与语法高亮。
    • Git 审查视图:提供只读的工作区变更审查快照与 Diff 对比,改动一目了然。
    • 内置浏览器:直接呈现 Web 页面与抓取结果。

2. Headless CLI 与交互 REPL

  • 单次执行:lion-code "任务描述",执行完成后自动退出,适配自动化与 CI。
  • 交互 REPL:lion-code 启动轻量纯文本交互,支持 /clear、/plan、/cost 等命令。
  • 只读诊断:在原工作区运行 lion-code --inspect-session <ID>,检查历史完整性和工具配对;加 --json 输出结构化结果。详见检查点与诊断。

3. 嵌入式 Python SDK

支持作为标准 Python 库导入并嵌入现有系统:

import asyncio
from lion_code import build_coding_agent

async def main():
    agent = build_coding_agent(api_key="your-api-key")
    result = await agent.run("分析当前目录结构")
    print(result.final_text)
    await agent.close()

if __name__ == "__main__":
    asyncio.run(main())

核心特性

在长时程复杂任务中,系统的可靠性取决于内核精简度、扩展隔离性、执行边界与上下文控制能力。

Lion Code Concept Architecture

  • Minimal Agent Kernel(最小核心内核):核心(lion_code/core/loop.py)仅作为一个单一异步生成器驱动循环、工具批处理与取消信号(CancellationToken),Provider 完全解耦,零业务污染。
  • Composable Capabilities(可组合能力平面):Plan、Skill、SubAgent、Memory、Git 等功能正交解耦,由 CapabilityRegistry 统一管理装配,遵循“优先扩展 Agent,而不是修改 Agent”原则,支持外部引擎替换(详见 docs/advanced-capability-guide.md)。
  • Reliable Execution(Fail-Closed 执行硬边界):提供 default / accept-edits / dont-ask / yolo 四级权限;PreToolUse Hook 运行于独立子进程且隔离敏感环境变量;写操作强校验读取新鲜度防并发覆写;工作区快照支持一键回滚;出站域名白名单与密钥全文脱敏(详见 docs/security-design.md)。
  • Long-running Context(缓存感知长上下文工程):超大工具输出(>30 KB)自动落盘;前缀缓存处于温热状态(< 5 分钟)时延迟裁剪旧结果以保全 Prefix Cache;超高负载时由同模型执行结构化自压缩(详见 docs/architecture/context-lifecycle.md)。

快速开始

1. 环境准备

需要 Python 3.12+:

git clone https://github.com/muyuzhong/Lion-Code.git
cd Lion-Code
python -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\Activate.ps1
pip install -e .

2. 配置模型 API Key

# Anthropic
export ANTHROPIC_API_KEY="sk-ant-..."

# OpenAI 或兼容服务(DeepSeek、SiliconFlow 等)
export OPENAI_API_KEY="sk-..."
export OPENAI_BASE_URL="https://api.openai.com/v1"

3. 运行方式

# 启动交互式 REPL
lion-code

# CLI 单次执行
lion-code "读取并总结项目入口"
lion-code --plan "生成重构方案"                   # Plan 只读模式
lion-code --accept-edits "修复测试用例"           # 自动批准编辑
lion-code --max-cost 0.50 --max-turns 20 "执行任务" # 预算与轮次限制
lion-code --resume                               # 恢复上次会话

# 启动桌面客户端(需 Node.js >= 22)
cd desktop && npm install && npm run dev

系统架构

运行时数据流(Runtime Flow)与构建装配流(Composition Flow)正交解耦:

1. 运行时数据流

Runtime Data Flow Architecture

2. 组合构建架构

装配根(lion_code/composition/agent_builder.py)单向拓扑构建,杜绝循环依赖:

Composition Architecture

  • Profile 预设:
    • MinimalProfile:零内置 Capability 的最小产品,仅装配传入工具。
    • CodingProfile:内置编码工具集与安全防护 Harness。
    • FullProfile:包含全套内置能力(Skill、SubAgent、Plan、Memory 等),支持外部扩展覆盖。
  • 架构分层约束(Import-Linter):
    • core 严禁反向依赖上层运行时与能力;
    • providers 仅依赖 core 抽象,零三方 SDK 绑定(纯 httpx);
    • capabilities 绝不依赖 Agent 宿主与 UI 应用层;
    • 详见:docs/architecture/boundaries.md。

工程机制

1. Fail-Closed 工具拦截流水线

Tool Execution Boundary Flow

Hook 执行超时、崩溃或异常退出均 Fail-Closed 熔断阻断;敏感凭据严禁传入 Hook 子进程;复合指纹防篡改。

2. 多级上下文预算控制

阶段 触发水位 处理方式 缓存保护
大结果落盘 工具输出 > 30 KB 完整落盘至本地;上下文仅留预览与回读路径 -
动态预算 窗口利用率 > 50% 动态压缩单次工具输出长度 -
陈旧结果裁剪 窗口利用率 > 60% 历史工具结果替换为占位符 是
空闲清理 距上次调用 > 5 分钟 清理更早轮次工具输出,保留最近 3 项 是
模型自摘要 窗口利用率 > 85% 同模型提取决策、关键路径与剩余任务结构化压缩 -

3. 会话持久化与崩溃恢复

  • Append-Only JSONL:逐行追加伴随 fsync,进程崩溃不破坏历史完整性,启动时自动迁移旧版 JSON。
  • Supervisor 检查点:长任务状态(Goal / Phase / Attempt)由 Supervisor 独立维护轻量 Checkpoint,与底层会话历史正交解耦(详见 docs/architecture/checkpoint-recovery.md)。

评测与质量工程

  • 上下文管理评测 (benchmarks/context_management):验证高频工具调用下的截断落盘、缓存复用与 Token 节约率。
  • 端到端 Agent 评测 (benchmarks/agent_e2e):真实编码任务评测集,支持 DeepEval 语义轨迹校验与自动化回归防恶化拦截。
  • 质量门禁命令:
    lint-imports     # 架构分层约束门禁
    ruff check .     # 代码风格检查
    mypy lion_code   # 静态类型检查
    pytest           # 单元与集成测试套件

项目结构

Lion-Code/
├── lion_code/                  # Python 核心运行时
│   ├── core/                   # 最小 Agent Kernel 与循环驱动 (loop.py)
│   ├── runtime/                # Agent 运行时状态协调
│   ├── composition/            # Profile 预设与装配根 (agent_builder.py)
│   ├── capabilities/           # Memory / Plan / Skill / SubAgent 等正交能力
│   ├── tooling/                # 工具执行边界、隔离 Hook、快照与出站防护
│   ├── context/                # 多级上下文管理与缓存感知裁剪
│   ├── providers/              # 纯 httpx HTTP Provider(零三方 SDK 依赖)
│   ├── session_runtime/        # Append-Only JSONL 会话存储与迁移
│   ├── supervisor.py           # 任务目标调度与 Checkpoint 协调
│   └── sidecar.py              # 桌面端 API-only Sidecar 入口
├── desktop/                    # Electron + React 19 桌面客户端
│   ├── src/main/               # 窗口管理与 Sidecar 进程托管
│   ├── src/renderer/           # 前端交互与 WorkPanel 工作面板
│   └── e2e/                    # Playwright 端到端测试
├── benchmarks/                 # 上下文管理与 Agent 端到端评测集
├── tests/                      # 单元、集成与架构测试
└── docs/                       # 设计文档与使用指南

路线图

  • 最小 Agent Kernel:异步生成器事件驱动循环与 Provider 解耦
  • 缓存感知长上下文:超大结果落盘、热度感知延迟裁剪与模型自压缩
  • Fail-Closed 安全执行边界:子进程隔离 Hook、出站防护与数据脱敏
  • 多端交互矩阵:Headless CLI、Python SDK 与 Electron 桌面客户端
  • 桌面工作面板(WorkPanel):文件资源查看、Git 变更审查快照与内置浏览器
  • 评测集持续扩展:扩充现实大型仓库重构任务与对抗性用例

许可证

本项目采用 MIT 许可证。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages