以最小 Agent Kernel 为核心、面向可靠 Coding Agent 构建的可组合运行时与完整客户端
A composable runtime for building reliable Coding Agents, built around a minimal agent kernel.
Lion Code 提供桌面 GUI、命令行 CLI 以及 Python SDK:
基于 Electron + React 19 + @assistant-ui/react 构建,由独立的 API-only Python Sidecar(FastAPI / WebSocket)托管会话运行时,实现严格的进程隔离:
- 流式交互与状态呈现:打字机流式回复,工具调用卡片与模型思考过程(Thinking)可自由展开折叠。
- 工作面板(WorkPanel):
- 文件资源视图:点击对话中的文件路径或产物链接,实时查看与语法高亮。
- Git 审查视图:提供只读的工作区变更审查快照与 Diff 对比,改动一目了然。
- 内置浏览器:直接呈现 Web 页面与抓取结果。
- 单次执行:
lion-code "任务描述",执行完成后自动退出,适配自动化与 CI。 - 交互 REPL:
lion-code启动轻量纯文本交互,支持/clear、/plan、/cost等命令。 - 只读诊断:在原工作区运行
lion-code --inspect-session <ID>,检查历史完整性和工具配对;加--json输出结构化结果。详见检查点与诊断。
支持作为标准 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())在长时程复杂任务中,系统的可靠性取决于内核精简度、扩展隔离性、执行边界与上下文控制能力。
- 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)。
需要 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 .# Anthropic
export ANTHROPIC_API_KEY="sk-ant-..."
# OpenAI 或兼容服务(DeepSeek、SiliconFlow 等)
export OPENAI_API_KEY="sk-..."
export OPENAI_BASE_URL="https://api.openai.com/v1"# 启动交互式 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)正交解耦:
装配根(lion_code/composition/agent_builder.py)单向拓扑构建,杜绝循环依赖:
- Profile 预设:
MinimalProfile:零内置 Capability 的最小产品,仅装配传入工具。CodingProfile:内置编码工具集与安全防护 Harness。FullProfile:包含全套内置能力(Skill、SubAgent、Plan、Memory 等),支持外部扩展覆盖。
- 架构分层约束(Import-Linter):
core严禁反向依赖上层运行时与能力;providers仅依赖core抽象,零三方 SDK 绑定(纯httpx);capabilities绝不依赖 Agent 宿主与 UI 应用层;- 详见:
docs/architecture/boundaries.md。
Hook 执行超时、崩溃或异常退出均 Fail-Closed 熔断阻断;敏感凭据严禁传入 Hook 子进程;复合指纹防篡改。
| 阶段 | 触发水位 | 处理方式 | 缓存保护 |
|---|---|---|---|
| 大结果落盘 | 工具输出 > 30 KB | 完整落盘至本地;上下文仅留预览与回读路径 | - |
| 动态预算 | 窗口利用率 > 50% | 动态压缩单次工具输出长度 | - |
| 陈旧结果裁剪 | 窗口利用率 > 60% | 历史工具结果替换为占位符 | 是 |
| 空闲清理 | 距上次调用 > 5 分钟 | 清理更早轮次工具输出,保留最近 3 项 | 是 |
| 模型自摘要 | 窗口利用率 > 85% | 同模型提取决策、关键路径与剩余任务结构化压缩 | - |
- 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 许可证。




