行为驱动开发工具

Kosher是一款行为驱动开发(BDD)工具,通过读取Gherkin特性文件并使用AI推理引擎和Playwright浏览器自动化执行用户故事。

  • by whittle
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 whittle/kosher

使用说明

符合犹太教规的

Kosher是一个行为驱动开发(BDD)工具,用于读取Gherkin特性 使用AI推理对web应用程序归档和执行用户故事 引擎和Playwright浏览器自动化。

需求

要求奥拉玛和剧作家麦克普在当地竞选。使用Python v3.14进行测试。

入门指南

# 1. Install Ollama
curl -fsSL https://ollama.com/install.sh | sh

# 2. Pull the model
ollama pull qwen2.5-coder:14b-instruct-q4_K_M

# 3. Start Playwright MCP server (separate terminal)
npx @playwright/mcp@latest

# 4. Clone and set up project
git clone <repo>
cd kosher
python -m venv venv
source venv/bin/activate
pip install -e .

# 5. Run proof of concept
python poc/main.py

可靠性总结:qwen2.5编码器:用于Gherkin的14b→ 剧作家

成功率:6步登录流程约90%(20次运行)

什么效果好:

  • 正确解释Given/When/Then语义
  • 将步骤映射到相应的浏览器工具(导航、单击、键入、快照、等待)
  • 从快照中提取元素引用并正确使用它们(大多数情况下)
  • 从系统提示更新中学习新模式(指令后采用browser_wait_for)

故障模式:

  1. 占位符引用-有时输出 而不是像e5那样的实际ref,暗示它“知道”该做什么,但 执行不正确
  2. 跳过工具执行-偶尔在一个响应中输出JSON+“DONE”,而不等待工具结果
  3. 无需调用本机工具-始终在文本内容中输出JSON;需要使用parse_tool_call_from_text()进行解析
  4. 指令漂移-多步指令(导航→ 快照→ 确认)有时会被部分跟踪

启示:

  • 适用于PoC和演示
  • 生产使用需要重试逻辑、验证,可能还需要一个功能更强大的模型
  • 系统提示工程是教授新模式的有效方法
  • 10%的故障率是LLM可变性,仅凭提示无法解决