loushang
AI 工作流框架:多模型路由 + 持久会话 + 方法化交付,让软件工作从灵感到可交付成果
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI 工作流框架:多模型路由 + 持久会话 + 方法化交付,让软件工作从灵感到可交付成果
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你在凌晨两点写完了一个 AI 功能的 PR,合上电脑睡觉了。第二天早上 code review 指出三个边界 case 有问题,你打开电脑,发现 AI 的上下文窗口已经被截断,昨晚的"完美方案"只剩残缺的对话记录。你不记得它当时是怎么推理的,也不确定它改了哪些文件。
这不是你的问题。这是整个 AI Coding 工具链的共同困境:上下文丢失、执行不可恢复、工具调用缺乏治理、结果没有验收闭环。
Loushang(娄尚)正是为解决这个问题而来。它将自己定位为"方法原生的 AI 工作系统(Method-Native AI Work System)",目标不是让 AI 模型更聪明,而是让复杂的人类工作变得更可靠、更可审计、更可交付。
Loushang 这个名字来自"楼上"——寓意从高处俯瞰全局,不只是在单次对话的迷雾里打转。
Loushang 采用分层架构,通过清晰的模块边界组织复杂逻辑:
1. Agent 层(src/loushang/agent/)
核心是 agent_loop.py 中的 Agent Loop 引擎,负责"感知→推理→执行"的循环驱动。它不直接调用模型,而是通过 Proxy 模块与 Harness 层交互,实现了"谁在调用"和"用什么模型"之间的解耦。
2. Harness 层(src/loushang/harness/)
Harness 是 Loushang 最核心的抽象概念——它将 Agent 的执行能力"套上马具",提供统一的调度、状态管理和可观测性接口。runner.py 负责工作流的实际执行,types.py 定义了 Harness 的数据类型约束。
3. AI 层(src/loushang/ai/)
loushang.ai 是一个独立的 Python SDK,封装了对多个 AI Provider 的统一访问。依赖声明中包含:anthropic>=0.89.0(Claude 系列)和 openai>=2.30.0(GPT 系列)。SDK 支持:
httpx>=0.28,<1 实现流式响应4. Coding/Session 层(src/loushang/coding/)
这是 loushang code CLI 的核心实现,包含 293 个文件。其中:
src/loushang/tui/):基于 Rich 库的终端用户界面,提供交互式操作Loushang 最有特色的设计是"方法(Method)"概念(src/loushang/method/)。方法不是简单的 prompt 模板,而是一套结构化的工作契约,定义了:
方法通过 method/compiler.py 编译成可执行计划,通过 method/applicability.py 判断当前任务是否适用该方法。这使得 Loushang 能用"方法论"而非"单次 prompt"来组织 AI 工作流。
从 pyproject.toml 可以看出项目有极高的工程标准:
mypy 严格模式(disallow_untyped_defs = true)ruff linter + formatter,选用 PEP8 + 安全规则(E4/E7/E9/F)pytest + pytest-cov,测试路径为 tests/setuptools + src/ 布局,源码隔离>= 3.11,拥抱现代 Python 语法代码库规模适中(约 1500 个文件),模块边界清晰,coding/ 和 ai/ 子包各自独立,耦合度低。
适合的场景:
局限:
Loushang 的出现在一定程度上代表了中国开发者对 AI Agent 框架的理解路径。与 AutoGPT、CrewAI 等海外框架相比,Loushang 更强调方法论和工作产物交付,而非单纯的 Agent 自主性。它的方法系统实际上是在尝试给 AI Agent 提供"工作规范",而非放任 AI 自由探索。
这种思路与软件工程中的"TDD(测试驱动开发)"、"方法论驱动"等传统有异曲同工之妙——不是让 AI 随意发挥,而是用结构化方法约束 AI 的行为空间,保证最终产物的质量可控。
371 星的社区关注度在 AI Coding 细分领域已属可观,未来随着 V2(loushang work 个人工作台)和 V3(daemon + 方法市场)的推进,生态有望进一步扩展。