{"id":47338218,"url":"https://github.com/alienzhou/leslie","last_synced_at":"2026-03-17T22:19:53.238Z","repository":{"id":339973019,"uuid":"1162979281","full_name":"alienzhou/leslie","owner":"alienzhou","description":null,"archived":false,"fork":false,"pushed_at":"2026-02-22T16:37:40.000Z","size":210,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-22T19:54:46.958Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alienzhou.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-20T23:30:31.000Z","updated_at":"2026-02-22T15:00:41.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/alienzhou/leslie","commit_stats":null,"previous_names":["alienzhou/leslie"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/alienzhou/leslie","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alienzhou%2Fleslie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alienzhou%2Fleslie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alienzhou%2Fleslie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alienzhou%2Fleslie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alienzhou","download_url":"https://codeload.github.com/alienzhou/leslie/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alienzhou%2Fleslie/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30633244,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T17:32:55.572Z","status":"ssl_error","status_checked_at":"2026-03-17T17:32:38.732Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-03-17T22:19:52.574Z","updated_at":"2026-03-17T22:19:53.229Z","avatar_url":"https://github.com/alienzhou.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Leslie\n\n\u003e Multi-thread Agent Orchestration Framework with Human-Agent Parity\n\n[![npm version](https://img.shields.io/npm/v/@vibe-x-ai/leslie.svg)](https://www.npmjs.com/package/@vibe-x-ai/leslie)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[中文文档](./README.zh-CN.md) | English\n\n## Overview\n\nLeslie is a multi-thread Agent orchestration framework built on the core philosophy of **Human-Agent Parity**.\n\nTraditional Agent systems:\n\u003e Human assigns task → Agent auto-decomposes and executes → Produces result\n\nLeslie's design philosophy:\n\u003e Human ↔ Agent are **equal**, both can initiate, intervene, and ask for help\n\n## Core Concepts\n\n### Objective\nTop-level task unit. All Threads belong to an Objective.\n\n### Thread\nExecution unit, corresponding to an Agent Session. Supports:\n- Lifecycle management (spawn, pause, resume, terminate)\n- State sharing (artifacts, reference)\n- Interruption recovery (context snapshot + replay)\n\n### Three Interaction Modes\n\n| Mode | Description |\n|------|-------------|\n| Human → Agent | Human assigns task, Agent decomposes and executes |\n| Agent → Human | Agent encounters difficulty, proactively asks human for help |\n| Human Intervention | Human intervenes, pauses, or corrects Agent at any time |\n\n## Installation\n\n```bash\nnpm install -g @vibe-x-ai/leslie\n# or\npnpm add -g @vibe-x-ai/leslie\n```\n\n## Quick Start\n\n```bash\n# Create an Objective\nleslie objective create \"Build a REST API for user management\"\n\n# Spawn a Thread\nleslie spawn --intent \"Design database schema\"\n\n# List running Threads\nleslie list\n\n# Connect to a Thread to view status\nleslie connect thread-abc123\n```\n\n## CLI Commands\n\n### Basic Commands\n\n| Command | Description |\n|---------|-------------|\n| `leslie spawn` | Create new Thread |\n| `leslie list` | List all Threads |\n| `leslie status \u003cid\u003e` | View Thread status |\n| `leslie connect \u003cid\u003e` | Connect to running Thread |\n\n### Objective Management\n\n| Command | Description |\n|---------|-------------|\n| `leslie objective create` | Create Objective |\n| `leslie objective list` | List all Objectives |\n| `leslie objective status \u003cid\u003e` | View Objective status |\n\n### Lifecycle Control\n\n| Command | Description |\n|---------|-------------|\n| `leslie lifecycle --action suspend` | Suspend Thread |\n| `leslie lifecycle --action resume` | Resume Thread |\n| `leslie lifecycle --action cancel` | Cancel Thread |\n\n### Collaboration Commands\n\n| Command | Description |\n|---------|-------------|\n| `leslie reference` | Establish reference between Threads |\n| `leslie merge` | Merge outputs from multiple Threads |\n| `leslie transfer` | Transfer control |\n| `leslie inject` | Inject information into Thread |\n\n## Architecture\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│                      CLI Interface                           │\n│         leslie spawn / list / connect / objective            │\n└─────────────────────────┬───────────────────────────────────┘\n                          │\n┌─────────────────────────▼───────────────────────────────────┐\n│                   Objective Manager                          │\n│   - Objective lifecycle                                      │\n│   - Thread orchestration under Objective                     │\n└─────────────────────────┬───────────────────────────────────┘\n                          │\n┌─────────────────────────▼───────────────────────────────────┐\n│                    Thread Manager                            │\n│   - Thread lifecycle (spawn, pause, resume, terminate)       │\n│   - State machine \u0026 event dispatch                           │\n│   - Sharing mechanism (artifacts, reference)                 │\n└─────────────────────────┬───────────────────────────────────┘\n                          │\n          ┌───────────────┼───────────────┐\n          ▼               ▼               ▼\n    ┌──────────┐   ┌──────────┐   ┌──────────┐\n    │ Storage  │   │   ACP    │   │  IPC /   │\n    │ (SQLite) │   │  Client  │   │ Headless │\n    └──────────┘   └────┬─────┘   └──────────┘\n                        │\n                        ▼\n               ┌────────────────┐\n               │  Claude Code   │\n               │  (via ACP)     │\n               └────────────────┘\n```\n\n## Tech Stack\n\n| Technology | Version | Purpose |\n|------------|---------|---------|\n| TypeScript | 5.x | Type safety |\n| Node.js | 22.x | Runtime |\n| oclif | 4.x | CLI framework |\n| better-sqlite3 | 11.x | Local storage |\n| ACP | - | Agent communication protocol |\n\n## Project Structure\n\n```\nleslie/\n├── packages/\n│   ├── core/                # @vibe-x-ai/leslie-core\n│   │   ├── src/\n│   │   │   ├── objective/   # Objective management\n│   │   │   ├── thread/      # Thread lifecycle\n│   │   │   ├── storage/     # SQLite + FS\n│   │   │   └── acp/         # ACP Client\n│   │   └── package.json\n│   │\n│   ├── cli/                 # @vibe-x-ai/leslie-cli\n│   │   ├── src/commands/\n│   │   └── package.json\n│   │\n│   └── web/                 # @vibe-x-ai/leslie-web (future)\n│\n├── pnpm-workspace.yaml\n└── package.json\n```\n\n## Development\n\n```bash\n# Clone repository\ngit clone git@github.com:vibe-x-ai/leslie.git\ncd leslie\n\n# Install dependencies\npnpm install\n\n# Build\npnpm build\n\n# Local testing\npnpm dev\n```\n\n## Design Documents\n\nDetailed design decisions are documented in the `.discuss/` directory:\n\n- [Architecture Design Discussion](.discuss/2026-02-04/multi-thread-agent-orchestration/outline.md)\n- [Tech Stack Selection](.discuss/2026-02-04/tech-stack-implementation/outline.md)\n- [Human-Agent Parity Design](.discuss/2026-02-04/multi-thread-agent-orchestration/decisions/D22-human-agent-parity.md)\n\n## Protocols\n\n- **Agent Communication**: [ACP (Agent Client Protocol)](https://agentclientprotocol.com/)\n- **Thread Primitives**: Based on Tier 1-3 Thread Primitives design\n\n## License\n\nMIT © [vibe-x-ai](https://github.com/vibe-x-ai)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falienzhou%2Fleslie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falienzhou%2Fleslie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falienzhou%2Fleslie/lists"}