SuperHarness:对标 Claude Code 的 AI Agent 开发框架
SuperHarness 是一个使用 Rust + Python 构建的生产级 AI Agent 框架,对标 Claude Code 和 LangChain,Phase 0 已完成,192 个测试通过。
#AI#Agent Framework#Rust#Python#Architecture
引言
在 AI Agent 开发领域,Claude Code CLI 和 LangChain 代表了两种不同的范式:
- Claude Code CLI:终端产品,面向用户,开箱即用
- LangChain:开发框架,面向开发者,灵活但学习曲线陡
SuperHarness 尝试融合两者:提供开箱即用的终端产品,同时提供简洁的 Python SDK 供开发者定制。
项目定位
双产品战略
| 产品 | 定位 | 目标用户 |
|---|
| CLI/TUI | 终端 Agent 产品 | 终端用户、开发者 |
| Python SDK | 开发框架 | AI 应用开发者 |
对标分析
| 功能 | SuperHarness | Claude Code | LangChain |
|---|
| 多 LLM 支持 | ✅ | ✅ | ✅ |
| 流式输出 | ✅ | ✅ | ✅ |
| 工具调用 | ✅ | ✅ | ✅ |
| 会话管理 | ✅ | ✅ | ✅ |
| 代码编辑 | ✅ | ✅ | 需实现 |
| Git 集成 | ⏳ | ✅ | 需实现 |
| MCP 协议 | ⏳ | ✅ | 需实现 |
| Agent 规划 | ⏳ | ✅ | ✅ |
六层架构
┌─────────────────────────────────────────────┐
│ Layer 5: Application Layer (CLI/TUI) │ ← 用户交互
├─────────────────────────────────────────────┤
│ Layer 4: Agent Runtime │ ← 智能体运行时
├─────────────────────────────────────────────┤
│ Layer 3: Tool System │ ← 工具系统
├─────────────────────────────────────────────┤
│ Layer 2: Session & Memory │ ← 会话与记忆
├─────────────────────────────────────────────┤
│ Layer 1: Core Services │ ← 核心服务
├─────────────────────────────────────────────┤
│ Layer 0: Security Foundation │ ← 安全基础
└─────────────────────────────────────────────┘
各层职责
| 层级 | 职责 | 关键组件 |
|---|
| Layer 0 | 安全基础 | 输入验证、PII 脱敏、访问控制 |
| Layer 1 | 核心服务 | LLM 客户端、配置管理、存储引擎 |
| Layer 2 | 会话与记忆 | 会话管理、记忆系统、状态持久化 |
| Layer 3 | 工具系统 | 工具注册、执行器、沙箱隔离 |
| Layer 4 | Agent 运行时 | 循环控制、工具调用、错误恢复 |
| Layer 5 | 应用层 | CLI、TUI、Python SDK |
Python SDK
简洁 API
from superharness import Agent
# 创建 Agent
agent = Agent(
api_key="your-api-key",
provider="anthropic", # 或 "openai", "gemini", "custom"
model="claude-sonnet-4-6"
)
# 简单对话
response = agent.run("Hello, how are you?")
print(response)
# 流式输出
for chunk in agent.run_stream("Tell me a story"):
print(chunk, end="", flush=True)
工具注册
@agent.tool
def calculate(expression: str) -> float:
"""Evaluate a mathematical expression."""
return eval(expression)
# 使用工具
response = agent.run("What is 123 * 456?")
CLI / TUI
终端交互
# 直接进入 TUI
superharness
# 查看帮助
superharness --help
# 查看版本
superharness --version
TUI 特性
技术栈
| 组件 | 技术 |
|---|
| CLI/TUI | Rust + ratatui |
| Python SDK | Python 3.10+ + httpx |
| 核心 | Rust (PyO3 bindings) |
| 配置 | TOML + 环境变量 |
开发进度
Phase 0: SDK/TUI 基础功能 ✅ 完成
| 模块 | 状态 | 测试 |
|---|
| SDK LLM 调用 | ✅ | 82 passed |
| SDK 流式输出 | ✅ | |
| SDK 工具调用 | ✅ | |
| SDK 会话管理 | ✅ | |
| TUI 核心功能 | ✅ | 110 passed |
| TUI 代码编辑器 | ✅ | |
| UI 组件 | ✅ | 8/8 场景 |
总计:192 个测试全部通过
Phase 1: 产品级功能 ⏳ 进行中
| 功能 | 状态 | 说明 |
|---|
| 完整工具链 | ⏳ | Bash/Read/Write/Edit/Grep |
| Agent 规划 | ⏳ | 任务分解、自我纠错 |
| Git 集成 | ⏳ | diff/commit/PR |
| MCP 协议 | ⏳ | MCP 客户端支持 |
设计哲学
核心原则
- 无 MVP/Demo - 直接开发完整产品
- 对标 Claude Code/LangChain - 持平或超越
- 任务精确 - 明确完成标准和验收条件
- 真实验证 - 真实用户使用流程验证
透明性三原则
- 无隐藏行为 - 所有操作可见
- 状态可视化 - 实时显示进度
- 决策可解释 - 解释工具选择和执行
项目结构
superharness/
├── python/ # Python SDK
│ └── superharness_sdk/
│ ├── agent/ # Agent 运行时
│ ├── llm/ # LLM 客户端
│ ├── config/ # 配置系统
│ ├── tools/ # 工具系统
│ └── memory/ # 记忆系统
├── rust/ # Rust 核心
│ ├── layer0/ # 安全基础
│ ├── layer1/ # 核心服务
│ ├── layer2/ # 会话管理
│ └── layer3/ # 工具系统
├── cli/ # CLI/TUI
│ └── src/
│ ├── cli/ # 命令行解析
│ ├── tui/ # TUI 界面
│ └── agent/ # Agent 客户端
├── docs/ # 文档
└── tests/ # 测试
当前状态
Phase 0 完成,192 个测试全部通过。Phase 1 进行中,目标是补齐产品级功能,对标 Claude Code 的完整能力。
相关链接
最后更新: 2026-05-13