经 AI Skill Hub 精选评估,WebJS AI工作流框架 获评「推荐使用」。这款Agent工作流在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 7.2 分,适合有一定技术背景的用户使用。
为AI代理优化的开源Web框架,专注于构建智能工作流系统。提供JavaScript原生支持,适合开发者快速搭建AI驱动的Web应用和自动化流程。具有良好的工程实践和扩展性。
WebJS AI工作流框架 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
为AI代理优化的开源Web框架,专注于构建智能工作流系统。提供JavaScript原生支持,适合开发者快速搭建AI驱动的Web应用和自动化流程。具有良好的工程实践和扩展性。
WebJS AI工作流框架 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
# 方式一:npm 全局安装 npm install -g webjs # 方式二:npx 直接运行(无需安装) npx webjs --help # 方式三:项目依赖安装 npm install webjs # 方式四:从源码运行 git clone https://github.com/vivek7405/webjs cd webjs npm install npm start
# 命令行使用
webjs --help
# 基本用法
webjs [options] <input>
# Node.js 代码中使用
const webjs = require('webjs');
const result = await webjs.run(options);
console.log(result);
# webjs 配置说明 # 查看配置选项 webjs --config-example > config.yml # 常见配置项 # output_dir: ./output # log_level: info # workers: 4 # 环境变量(覆盖配置文件) export WEBJS_CONFIG="/path/to/config.yml"
AI-first. Web components first.
Full-stack web framework built on top of Web Components. cache() for queries, HTTP Cache-Control for pages, Session class with SessionStorage, NextAuth-style auth with providers, WebSocket broadcast, rate limiting. Swap the in-memory cache store for Redis with a single setStore() call (no config files, no build step in between). Web components first, TypeScript with zero build step, real SSR with Declarative Shadow DOM.
npm create webjs@latest my-app # full-stack (pages + API + components + Prisma/SQLite) cd my-app && npm run dev
npm i -g webjsdev && webjs create my-app cd my-app && npm run dev
AI agents, read this before scaffolding. Only three templates exist (full-stackdefault,--template api,--template saas), and the CLI rejects anything else. Always start from one of them. Never hand-roll the directory structure. Default to full-stack with Prisma + SQLite. Never store app data in JSON files, in-memory arrays, or localStorage as a substitute for the database. The scaffold is reference only. Replace the example layout, page, components, andUsermodel with the app the user actually asked for. Picker: - Any product UI (todo, blog, notes, dashboard, marketplace, social, e-commerce…) → default (webjs create <name>) - Backend-only HTTP/JSON API, no UI →--template api- Auth, login/signup, protected dashboard, SaaS →--template saasFull rules:AGENTS.md→ How AI agents must scaffold. Full framework docs (every API, every recipe): https://docs.webjs.com.
```sh
// app/page.ts: server-rendered, async data fetching
import { html, repeat } from '@webjsdev/core';
import '../components/counter.ts';
import { listPosts } from '../modules/posts/queries/list-posts.server.ts';
export const metadata = { title: 'home' };
export default async function Home() {
const posts = await listPosts();
return html`
<h1>posts</h1>
<ul>
${repeat(posts, p => p.id, p => html`<li>${p.title}</li>`)}
</ul>
<my-counter count="3"></my-counter>
`;
}
// components/counter.ts: interactive web component, light DOM + Tailwind
import { WebComponent, html, signal } from '@webjsdev/core';
export class Counter extends WebComponent {
// Light DOM is the default, so Tailwind utility classes apply directly.
// Instance signal carries component-local state; the built-in
// SignalWatcher re-renders when .get() reads change.
count = signal(0);
render() {
return html`
<div class="inline-flex items-center gap-2 font-mono">
<button class="px-3 py-1 rounded border border-border hover:bg-bg-elev" @click=${() => this.count.set(this.count.get() - 1)}>−</button>
<output class="min-w-[2ch] text-center">${this.count.get()}</output>
<button class="px-3 py-1 rounded border border-border hover:bg-bg-elev" @click=${() => this.count.set(this.count.get() + 1)}>+</button>
</div>
`;
}
}
Counter.register('my-counter');
Need scoped styles or embed-ready isolation? Opt in to shadow DOM with static shadow = true and author styles via static styles = css\…\``. <slot> projection works in both modes (light DOM uses framework projection, same API).
// modules/posts/queries/list-posts.server.ts: one function per file
'use server';
import { prisma } from '../../../lib/prisma.server.ts';
export async function listPosts() {
return prisma.post.findMany({ orderBy: { createdAt: 'desc' } });
}
npm create webjs@latest my-api -- --template api
专注AI代理Web框架的创新尝试,JavaScript生态契合度好。星数不足但更新活跃,适合探索者学习研究。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
AI Skill Hub 点评:WebJS AI工作流框架 的核心功能完整,质量良好。对于自动化工程师和运维人员来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | webjs |
| 原始描述 | 开源AI工作流:The web framework built for AI agents。⭐22 · JavaScript |
| Topics | AI工作流JavaScript框架Web开发智能代理 |
| GitHub | https://github.com/vivek7405/webjs |
| License | MIT |
| 语言 | JavaScript |
收录时间:2026-05-21 · 更新时间:2026-05-30 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端