Leros

module
v0.3.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 12, 2026 License: Apache-2.0

README

Lework

让 AI 从聊天工具变成可以长期协同工作的团队成员

给 AI 一个项目、一个角色、一个任务。它独立执行,你验收结果。


为什么需要 Lework

AI 辅助工作越来越普及,但产出收不回来 — 对话结束即清零。你无法把 AI 当成劳动力来管理:没有分工、没有指派、没有交付物、没有追踪。

Lework 做什么

把 AI 变成可管理的生产力。

  • 👥 建团队 — 定义角色、绑定技能,创建 AI 队友
  • 📋 派任务 — 指定负责人、预期产出、验收标准
  • 📦 拿结果 — AI 独立执行,交付可追溯的产物
  • 🧠 沉淀资产 — 上下文和产出持续积累,越用越强
  • 📊 可管理 — 进度、质量、调用成本,全程可见可控

🧩 一分钟理解 Lework

想象你有一个 AI 团队:

项目:新产品后台系统

  ├── AI 队友·架构师(角色:技术决策,技能:系统设计评审)
  ├── AI 队友·开发者 1(角色:后端开发,技能:Go 编程、API 设计)
  ├── AI 队友·开发者 2(角色:前端开发,技能:React、组件库)
  ├── AI 队友·QA(角色:质量保障,技能:测试用例生成、回归测试)
  └── AI 队友·PM(角色:进度管理,技能:日报生成、风险识别)

  ├── 任务:设计用户权限模型 → 指派给 架构师
  ├── 任务:实现登录接口 → 指派给 开发者 1
  ├── 任务:构建登录页面 → 指派给 开发者 2
  └── 任务:编写集成测试 → 指派给 QA

每个 AI 队友有自己的角色、技能、权限边界和记忆。 你创建任务、分配队友、跟踪进度 — 它们独立执行,产出代码、文档、报告。

执行完成后,产物沉淀进知识库,下次类似任务不需要重新交代上下文。


⚡ 协作流程

  💬 项目会话(讨论需求、对齐方案)
        ↓  方向明确
  📋 创建任务(定义目标、预期输出、指派 AI 队友)
        ↓
  ⚙️ AI 队友自主执行(调用技能、产出中间结果)
        ↓
  ✅ 人工审批 / 接管 / 补充上下文(关键节点)
        ↓
  📦 产出项目资产(文档 / 代码 / 报告 / 结构化数据)
        ↓
  🧠 沉淀知识库(下次不再重复交代)

每一步全程可审计、可回溯、可中断调整。



🧬 核心实体

实体 做什么 交付什么
项目 划定协作边界,承载目标与上下文 项目级资产全景
任务 指派 AI 队友,明确产出要求 可验收的交付物
AI 队友 分工、授权、设定能力边界 独立完成任务的执行者
技能 赋予队友具体能力 代码、评审、测试、报告等
知识库 沉淀上下文和规范 不再需要反复交代背景
项目资产 查看所有历史交付物 随时回溯、可复用

🔐 企业级治理

  • 多租户隔离 — 企业间数据与执行环境完全隔离
  • RBAC 访问控制 — 用户、AI 队友、技能三级权限
  • 执行审计 — 所有任务执行全链路可追溯、可回放
  • 成本追踪 — 模型调用成本按任务、项目、团队维度统计
  • 密钥安全 — API 密钥托管与脱敏
  • 审批工作流 — 关键操作可配置人工审批节点
  • 私有化部署 — 支持企业内部基础设施部署
认证体系

Lework 支持两种认证模式,通过编译时 build tag 选择:

模式 说明 构建命令
builtin(默认) 内置邮箱/手机/Worker Token 认证,开源版使用 go build -o ./bundles/leros ./backend/cmd/leros/
enterprise 委托至 IAM(身份认证管理)服务,企业版使用 go build -tags enterprise -o ./bundles/leros ./backend/cmd/leros/

企业版需在 config.yaml 中配置 IAM 服务地址:

auth:
  mode: "enterprise"
  iam:
    base_url: "https://iam.example.com/v5"

开箱即用时无需配置 auth 块,默认使用内置认证。


🛣 路线图

阶段 重点 内容
Phase 1 · 核心执行层 跑通任务驱动闭环 项目管理、任务系统、AI 队友执行、技能系统
Phase 2 · 企业智能 多队友协作与知识飞轮 跨队友协作编排、知识自动化沉淀、成本优化
Phase 3 · 生态平台 AI 工作协作市场 技能市场、AI 队友模板、组织级工作台

📚 文档

文档 说明
PRD.md 产品需求文档(v3.0 — 让 AI 从聊天工具变成可以长期协同工作的团队成员)
ARCHITECTURE.md 系统架构设计
DESIGN_PHILOSOPHY.md 设计哲学与原则
SYSTEM_DESIGN.md 平台引擎与连接器设计
TECH_DESIGN.md 技术方案(技能 Schema、渲染引擎)
PLANNING.md 业务板块路线图
CONTRIBUTING.md 贡献指南

🤝 贡献

欢迎贡献技能插件、模型适配器、工作流模板和安全增强。详见 CONTRIBUTING.md

Directories

Path Synopsis
backend
agent/runtime/claude
Package claude adapts Claude Code to the agent Runtime contract.
Package claude adapts Claude Code to the agent Runtime contract.
agent/runtime/codex
Package codex adapts the Codex CLI to the agent Runtime contract.
Package codex adapts the Codex CLI to the agent Runtime contract.
agent/runtime/internal/cli
Package cli provides shared CLI process infrastructure for external agent runtimes.
Package cli provides shared CLI process infrastructure for external agent runtimes.
agent/runtime/native
Package native implements the built-in Eino-backed Leros runtime.
Package native implements the built-in Eino-backed Leros runtime.
agent/runtime/opencode
Package opencode adapts the OpenCode CLI to the agent Runtime contract.
Package opencode adapts the OpenCode CLI to the agent Runtime contract.
cmd/leros command
@title Leros API @version 1.0 @description Leros 数字助手平台 API,提供数字助手管理、技能调用、事件处理等功能 @host localhost:8080 @BasePath /v1 @schemes http https
@title Leros API @version 1.0 @description Leros 数字助手平台 API,提供数字助手管理、技能调用、事件处理等功能 @host localhost:8080 @BasePath /v1 @schemes http https
config
config 包提供 Leros 的配置加载和配置类型定义
config 包提供 Leros 的配置加载和配置类型定义
internal/api
api 包提供 Leros 的 HTTP API 层
api 包提供 Leros 的 HTTP API 层
internal/api/connectors
connectors 包提供不同交互渠道的连接器接口定义和路由管理
connectors 包提供不同交互渠道的连接器接口定义和路由管理
internal/api/connectors/github
github 包提供 GitHub 平台的连接器实现
github 包提供 GitHub 平台的连接器实现
internal/api/connectors/gitlab
gitlab 包提供 GitLab 平台的连接器实现
gitlab 包提供 GitLab 平台的连接器实现
internal/api/connectors/wework
wework 包提供企业微信(WeWork)平台的连接器实现
wework 包提供企业微信(WeWork)平台的连接器实现
internal/infra/db
定义 Automation 数据访问层
定义 Automation 数据访问层
internal/infra/git
Package git 封装通过 Gitea API 操作远端 Git 仓库的基础设施能力。
Package git 封装通过 Gitea API 操作远端 Git 仓库的基础设施能力。
internal/infra/mq
mq 包提供消息队列的抽象和实现
mq 包提供消息队列的抽象和实现
internal/infra/providers/baidunetdisk
Package baidunetdisk implements the server-side Baidu Netdisk OAuth client.
Package baidunetdisk implements the server-side Baidu Netdisk OAuth client.
internal/infra/providers/github
githubprovider 包提供 GitHub provider client 工厂。
githubprovider 包提供 GitHub provider client 工厂。
internal/llm
Package llm 提供统一的 LLM 模型管理、调用、调用记录和用量信息能力。
Package llm 提供统一的 LLM 模型管理、调用、调用记录和用量信息能力。
internal/memory/local
Package local implements Leros built-in file-backed memory.
Package local implements Leros built-in file-backed memory.
internal/runnable
自动化 Run 状态投影到 AutomationExecution 与 cron Task。
自动化 Run 状态投影到 AutomationExecution 与 cron Task。
internal/service
自动化调度纯逻辑组件(不访问数据库)。
自动化调度纯逻辑组件(不访问数据库)。
internal/skill/archive
Package skillarchive validates and extracts untrusted Skill zip bundles.
Package skillarchive validates and extracts untrusted Skill zip bundles.
internal/skill/builtin
Package builtin provides external CLI discovery and default-runtime selection.
Package builtin provides external CLI discovery and default-runtime selection.
internal/skill/cache
Package cache provides skill archive utilities shared by plugin import and installation paths.
Package cache provides skill archive utilities shared by plugin import and installation paths.
internal/skill/fetch
Package fetch 提供从远程源发现和下载 Skill 的能力。
Package fetch 提供从远程源发现和下载 Skill 的能力。
internal/skill/store
Package store persists user-managed skills under the Leros workspace.
Package store persists user-managed skills under the Leros workspace.
internal/worker/command
Package command 提供统一的 Worker Command 分发器。
Package command 提供统一的 Worker Command 分发器。
internal/worker/command/interaction
Package interaction 处理 cmd.interaction lane 的交互式命令 (approval.resolve 和 question.answer),通过 Resolver 接口转发。
Package interaction 处理 cmd.interaction lane 的交互式命令 (approval.resolve 和 question.answer),通过 Resolver 接口转发。
internal/worker/command/projectfile
Package projectfile handles project file commands on the worker that owns the workspace.
Package projectfile handles project file commands on the worker that owns the workspace.
internal/worker/command/run
Package run 提供 worker agent run 命令的 cmd.run lane handler。
Package run 提供 worker agent run 命令的 cmd.run lane handler。
internal/worker/command/run/inbox
Package inbox provides a strongly-typed durable inbox for worker run commands.
Package inbox provides a strongly-typed durable inbox for worker run commands.
internal/worker/eventpub
Package eventpub publishes fully constructed Worker business events.
Package eventpub publishes fully constructed Worker business events.
internal/worker/mcp
Package mcp 通过 Model Context Protocol 暴露 Leros 运行时能力。
Package mcp 通过 Model Context Protocol 暴露 Leros 运行时能力。
internal/worker/router
Package router 提供 Worker HTTP 服务的 Gin 路由组装。
Package router 提供 Worker HTTP 服务的 Gin 路由组装。
internal/worker/run
Package run provides the Worker-side RunCoordinator.
Package run provides the Worker-side RunCoordinator.
internal/worker/runtimehost
Package runtimehost provides Worker-specific implementations of agent ports.
Package runtimehost provides Worker-specific implementations of agent ports.
internal/worker/status
Package status 提供 Worker 本地运行状态的 Core NATS 查询订阅。
Package status 提供 Worker 本地运行状态的 Core NATS 查询订阅。
internal/workspace
Package workspace 提供 Agent 任务运行所需的共享文件系统约定。
Package workspace 提供 Agent 任务运行所需的共享文件系统约定。
pkg/event
event 包提供事件定义的共享类型
event 包提供事件定义的共享类型
pkg/leros
Package leros provides shared Leros filesystem conventions.
Package leros provides shared Leros filesystem conventions.
pkg/llmprotocol
Package llmprotocol provides provider protocol conversion for LLM requests and responses.
Package llmprotocol provides provider protocol conversion for LLM requests and responses.
pkg/messaging
Package messaging 是 server、worker 共同依赖的消息契约层。
Package messaging 是 server、worker 共同依赖的消息契约层。
pkg/seqtracker
Package seqtracker tracks NATS JetStream message sequence numbers in SQLite for crash recovery.
Package seqtracker tracks NATS JetStream message sequence numbers in SQLite for crash recovery.
pkg/utils
Package utils provides small shared helpers for common value handling.
Package utils provides small shared helpers for common value handling.
pkg/workerpool
Package workerpool provides a fixed-size goroutine pool with blocking submit.
Package workerpool provides a fixed-size goroutine pool with blocking submit.
tools
tools 包定义 Leros 的最小 Tool 抽象。
tools 包定义 Leros 的最小 Tool 抽象。
tools/artifact_declare
Package artifact_declare provides a tool for declaring project artifacts produced during a task execution.
Package artifact_declare provides a tool for declaring project artifacts produced during a task execution.
tools/memory
Package memory exposes Leros built-in memory as a runtime tool.
Package memory exposes Leros built-in memory as a runtime tool.
tools/node
Package nodetools provides worker-local tools for operating an assistant node.
Package nodetools provides worker-local tools for operating an assistant node.
tools/skill_manage
Package skillmanage exposes SkillStore mutations as a runtime tool.
Package skillmanage exposes SkillStore mutations as a runtime tool.
tools/skill_use
Package skilluse provides the runtime tool for loading Leros skill documents.
Package skilluse provides the runtime tool for loading Leros skill documents.
tools/todo
Package todo exposes the run-scoped runtime todo list as a Leros tool.
Package todo exposes the run-scoped runtime todo list as a Leros tool.
types
types 包提供 Leros 的核心数据类型定义
types 包提供 Leros 的核心数据类型定义
docs
swagger
Package swagger Code generated by swaggo/swag.
Package swagger Code generated by swaggo/swag.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL