根据你的需求(调用 shell 脚本 + 浏览器自动化),最适合的是 Python 和 TypeScript (Node.js),两者各有优势。
Python — 首选推荐
Shell 调用方面,subprocess 模块原生支持,用起来非常自然。浏览器自动化有 Playwright、Selenium、DrissionPage(国内生态好)。Agent 框架生态最丰富:LangChain、LangGraph、CrewAI、AutoGen、Agno、OpenAI Agents SDK 都是 Python 优先。MCP 协议的 SDK 也是 Python 版最成熟。写起来快、调试方便,社区资源最多。
TypeScript / Node.js — 次选
Shell 调用用 child_process 或 execa,也很成熟。浏览器方面 Puppeteer 本身就是 Node.js 原生的,Playwright 的 Node 版也是一等公民。Agent 框架有 LangChain.js、Vercel AI SDK、Mastra。如果你后续想做 Web UI 一体化(前后端统一语言),TS 会更顺。
对比你最关心的两个场景:
| | |
|---|
| subprocess.run() | child_process.exec() |
| Playwright / DrissionPage / browser-use | Puppeteer(原生)/ Playwright |
| | |
| | |
| | |
我的建议:用 Python。
理由很实际:你已经在做 AutoAgent(Java),那个项目负责企业级编排和服务治理。而这个新 agent 侧重的是"调 shell + 操控浏览器",属于脚本型、工具型的 agent,Python 在这个场景下写得快、生态好、调试方便。两个项目可以通过 HTTP API 或 MCP 协议互相打通,各取所长。