HTN规划系统

Sequence Flow是一个交互式HTN规划系统,通过AI引导的对话帮助用户建模复杂的规划问题,并提供任务的可视化表示。

  • by stepanic
  • Dart
  • 本地部署
  • 更新于
在 GitHub 查看 stepanic/sequence-flow-experiment-with-desktop-commander

使用说明

桌面命令器序列流实验

完全由人工智能生成的Flutter应用程序在Claude Desktop中使用MCP服务器的3.7 Sonnet桌面命令和顺序思维

序列流-HTN规划系统

用于可视化和管理分层任务网络(HTN)的Flutter应用程序。

概述

Sequence Flow是一个交互式HTN规划系统,使用户能够通过引导的AI对话对复杂的规划问题进行建模。它以有向图的形式提供规划任务的可视化表示,并支持子图的分层压缩,以管理复杂性,同时保留跨边界引用。

主要特点

  • 交互式建模:针对复杂规划问题的引导式人工智能对话
  • 有向图可视化:计划任务显示为具有复杂依赖关系的有向图
  • 分层压缩:压缩子图以管理复杂性,同时保留引用
  • 三柱界面:AI聊天、交互式图形和分层任务列表
  • 迭代问题求解:基于当前计划状态的动态问题选择
  • 外部持久性:防止数据因LLM上下文限制而丢失

项目结构

sequence_flow/
├── lib/
│   ├── behaviors/      # Implements HTN planning behaviors
│   ├── models/         # Data models for the application
│   │   └── entities/   # Core entity definitions
│   ├── screens/        # Application screens
│   ├── services/       # External service integrations
│   ├── utils/          # Utility functions and helpers
│   └── widgets/        # Reusable UI components
├── assets/             # Static assets (icons, images)
└── test/               # Unit and widget tests

入门指南

先决条件

  • 颤振(>=3.6.1)
  • 飞镖(>=3.6.0)
  • IDE(VS Code、Android Studio或IntelliJ)

安装

  1. 克隆存储库:

    git clone https://github.com/yourusername/sequence_flow.git
    cd sequence_flow
    
  2. 安装依赖项:

    flutter pub get
    
  3. 运行应用程序:

    flutter run
    

核心组件

实体

  • 任务:HTN规划的基本组成部分
  • 方法:定义分解复合任务的方法
  • 任务分解:任务之间的层次关系
  • 任务依赖性:任务之间的非层次依赖关系
  • 跨界参考:跨越压缩子图边界的引用
  • 世界状态:在规划期间代表世界各国
  • 计划:规划问题的解决方案
  • 交谈:AI引导的规划对话

行为

  • 层次压缩:管理子图的压缩/扩展
  • A指导规划:控制人工智能驱动的规划对话
  • GraphState管理:管理图形状态的持久性和历史记录

用户界面

  • ThreeColumn布局:带有三个面板的主应用程序布局
  • AIChat:左栏用于与AI对话
  • 有向图:用于图形可视化的中间列
  • 任务列表:层次任务视图的右列

发展

代码的风格

该项目遵循官方 飞镖风格指南 并使用推荐的Flutter lints。

建筑

为web部署构建:

flutter build web

致谢

  • 该项目基于HTN规划技术进行复杂领域建模
  • UI/UX设计的灵感来自现代图形可视化工具