StrandYard
面向角色的任务管理系统,使AI代理遵循您的工作流程。
StrandYard是一个功能强大的CLI工具和MCP服务器,旨在通过结构化的多角色工作流来编排AI代理。StrandYard没有让AI代理混乱地工作,而是使用角色、模板和人类可读的任务文件引导它们完成精确、可重复的过程。
为什么是StrandYard?
与人工智能代理合作是强大的,但如果没有结构,它们可能会偏离轨道,跳过重要步骤,或者做出应该涉及人类的决策。Strand通过以下方式解决了这个问题:
- 通过角色强制执行工作流程 -每个角色(设计师、架构师、开发人员、审查人员等)都有特定的职责和限制
- 将流程嵌入模板 -任务模板包括特定于角色的TODO列表,逐步指导代理
- 在关键大门处需要人工批准 -所有者角色确保关键决策与人类保持一致
- 让一切透明化 -所有任务、角色和模板都存储为人类可读的Markdown文件
结果如何?AI代理遵循您的流程,跨专业角色有效协作,并始终让人类参与关键决策。
特性
适用于与人工智能代理合作的人类
- CLI工具 -管理任务、分配工作和跟踪进度的简单命令
- MCP服务器 -通过模型上下文协议将Strand直接集成到AI代理工作流中
- TUI仪表板 -用于可视化和管理任务的交互式终端界面
- Web仪表板 -用于跨项目监控代理活动的实时web界面
- 可定制的工作流程 -创建自己的角色和模板,或使用内置预设
工作流作为代码
graph TD
Issue[Issue Filed] --> Triage[Triage Role: Investigate]
Triage --> Design[Designer Role: Explore Alternatives]
Design --> OwnerReview1[Owner Role: Choose Alternative]
OwnerReview1 --> Architect[Architect Role: Create Implementation Plan]
Architect --> ReviewRequest[Master Reviewer: Coordinate Reviews]
ReviewRequest --> Security[Security Reviewer]
ReviewRequest --> Reliability[Reliability Reviewer]
ReviewRequest --> Usability[Usability Reviewer]
Security --> OwnerReview2[Owner Role: Approve Plan]
Reliability --> OwnerReview2
Usability --> OwnerReview2
OwnerReview2 --> DevTasks[Developer Role: Implement Tasks]
DevTasks --> Tests[Tester Role: Verify Implementation]
Tests --> Docs[Documentation Role: Update Docs]
Docs --> Complete[Task Complete]
style Issue fill:#ff9999
style Triage fill:#ffcc99
style Design fill:#ffff99
style OwnerReview1 fill:#99ff99
style Architect fill:#99ffff
style ReviewRequest fill:#cc99ff
style Security fill:#ff99ff
style Reliability fill:#ff99ff
style Usability fill:#ff99ff
style OwnerReview2 fill:#99ff99
style DevTasks fill:#9999ff
style Tests fill:#ff99cc
style Docs fill:#ccff99
style Complete fill:#99ff99快速开始
安装
go install github.com/ricochet1k/strandyard/cmd/strand@latest初始化您的第一个项目
# Initialize strand in your repository
strand init
# View available roles and templates
strand roles
strand templates
# Create your first task
strand add task "Implement user authentication"
# Let an AI agent pick up the next task
strand next
# When done, mark it complete
strand complete "summary of work"启动仪表板
# Terminal UI for quick task management
strand tui
# Web dashboard for visual monitoring
strand web核心概念
角色定义职责
斯特兰德的每个角色都有明确的职责和限制:
- 所有者 (人类)-做出最终决定、批准计划、解决冲突
- 设计师 (人工智能/人类)-探索替代方案,记录权衡
- 建筑师 (人工智能/人类)-制定实施计划,将工作分解为任务
- 开发者 (AI/Human)-实现功能,编写代码
- 审稿人 (人工智能/人类)-提供专业审查(安全性、可靠性、可用性)
- 测试员 (AI)-验证实现是否按预期工作
- 文档 (AI)-维护面向用户的文档
- 分诊 (AI)-调查问题并适当处理
模板嵌入工作流
任务模板包括指导执行的特定于角色的TODO列表:
## TODOs
1. [ ] (role: developer) Implement the behavior described in Context.
2. [ ] (role: developer) Add unit and integration tests covering the main flows.
3. [ ] (role: tester) Execute test-suite and report failures.
4. [ ] (role: master-reviewer) Coordinate required reviews.
5. [ ] (role: documentation) Update user-facing docs and examples.代理商使用 strand next 要为他们的角色申请下一个适当的任务,请按照嵌入式说明进行操作,并使用 strand complete "report" 当完成时。
人类可读存储
所有任务、角色和模板都存储为Markdown文件 .strand/:
.strand/
├── roles/ # Role definitions with responsibilities
├── templates/ # Task templates with embedded TODOs
└── tasks/ # Active and completed tasks这意味着您可以使用任何文本编辑器检查、编辑或调试工作流,无需特殊工具。
高级用法
自定义角色和模板
Strand支持通过预设自定义工作流。创建自己的角色和模板,以匹配团队的流程:
# List available presets
strand presets list
# Create a custom role
strand roles add custom-role.md
# Create a custom template
strand templates add custom-template.md多项目管理
web仪表板监视您的所有Strand项目,并提供统一的视图:
# Start the multi-project web server
strand web
# Filter to specific projects
STRAND_STORAGE=local strand web # Only local projects
STRAND_STORAGE=global strand web # Only global projectsAI代理集成
配置AI代理以在其工作流程中使用Strand命令:
# AI agent workflow example:
1. strand next --role developer # Claim next developer task
2. # ... implement the feature ...
3. strand complete "report" # Mark complete
4. strand next # Get next available task环境变量
STRAND_ROOT-覆盖git根检测(可选)STRAND_STORAGE-筛选项目:“全局”、“本地”或两者都为空(可选)
发展
从源头构建
# Build the dashboard and binary
./scripts/build-web.sh
# Or build just the binary
go build -o strand ./cmd/strand仪表板开发
对于web UI的热重载开发:
# Terminal 1: Start the API server
strand web --no-open
# Terminal 2: Start Vite dev server
cd apps/dashboard
npm run dev
# Visit http://localhost:5173项目结构
cmd/strand/-主CLI入口点cmd/-Cobra命令实现pkg/task/-任务解析和管理pkg/web/-Web服务器和APIapps/dashboard/-SolidJS web用户界面.strand/roles/-内置角色定义.strand/templates/-内置任务模板
贡献
Strand的设计是为了延伸。欢迎为新角色、模板和工作流预设做出贡献。
许可证
\[添加许可证信息\]
