Skip to content

Releases: NgZiming/YetAnotherDataFlow

## [1.0.14] - 2026-05-12

Choose a tag to compare

@NgZiming NgZiming released this 12 May 08:18

⚙️ Operator Enhancements

  • FormatStrPromptedGenerator JSON Schema Support: Added native JSON schema validation with to_dict flag.
    • New to_dict parameter: when enabled, parses LLM output as JSON and validates against json_schema
    • Automatically filters out samples that fail schema validation
    • Stores both raw output and parsed dict in dataframe
    • Eliminates need for external JsonParseFilter when using structured output

🔧 LLM Client & Structured Output

  • LLMClientABC Interface Enhancement: Added json_schema parameter to generate() method.
    • StepSchema now includes optional json_schema field for structured output
    • UserStep passes json_schema from schema to LLM client
    • LLMClientAdapter implements JSON Schema response format for OpenAI-compatible APIs
      • Uses response_format: {type: "json_schema", json_schema: {...}} payload
      • Enables strict schema validation at the LLM level

🧠 UserSimulator V2 Improvements

  • DecisionStageV2: Added JSON schema constraints for all three steps.

    • DialogueStrategy: Enforces strategy_type enum (提问/提供反馈/要求澄清/表达不满/表示满意/催促/其他)
    • PersonaStyle: Enforces length_hint enum (short/medium/long)
    • FinalResponse: Enforces judgment enum (completed/in_progress/aborted)
    • Updated prompt禁令 to explicitly forbid internal management terminology (里程碑,Stage, Step, Task State, etc.)
  • UnderstandingStageV2: Added JSON schema for structured outputs.

    • MilestoneStatus: Enforces milestone status enum (completed/in_progress/not_started/blocked)
    • TaskState: Enforces final_status enum (CONTINUE/FINISHED/ABORTED) and emotional_tone enum
  • PerceptionStageV2: Added JSON schema for all three sensors.

    • FileContext: Enforces required fields (path, fact, evidence_snippet, relevance)
    • AgentContext: Enforces reasoning_pattern enum and is_looping boolean
    • DialogueContext: Enforces emotional_tone enum (satisfied/dissatisfied/confused/urgent/neutral)

🛠️ Stability & Robustness

  • SDKNanobotServing: Added 600s timeout to bot.run() to prevent hanging queries.
    • Uses asyncio.wait_for() wrapper around bot execution
    • Prevents indefinite blocking on stuck agent sessions

📦 Dependencies

  • Added jsonschema>=4.0.0 to requirements.txt for JSON schema validation in FormatStrPromptedGenerator.

📊 Statistics

  • 8 files changed
  • 271 insertions(+), 19 deletions(-)
  • Compared to tag v1.0.13

## [1.0.13] - 2026-05-11

Choose a tag to compare

@NgZiming NgZiming released this 11 May 06:57

🚀 Major Features

  • UserSimulator V2: Upgraded to an evidence-driven cognitive architecture, separating global_context and data_pool to enhance state tracking and reasoning.
  • Cognitive Pipeline Enhancements: Refactored TaskState to pass emotional fields, allowing the simulator to express varied tones (satisfied, confused, urgent, etc.).
  • Nanobot Serving Improvements: Integrated SDKNanobotServing with detailed magenta-colored thread logging and strict AgentHook protocol adherence to prevent AttributeError.

🔧 Bug Fixes & Refinements

  • Nanobot Stability: Fixed various issues in SDKNanobotServing related to iteration hooks and function missing errors.
  • Skill Management: Fixed issues with skill copying and registration.
  • Output Formatting: Refined output formats and fixed template/type inconsistencies.
  • Persona Integration: Enhanced persona-driven responses in the simulator.

## [1.0.12] - 2026-05-08

Choose a tag to compare

@NgZiming NgZiming released this 08 May 06:13

[1.0.12] - 2026-05-08

🚀 Major Features

  • Full-fledged UserSimulator Implementation: Introduced a robust, three-stage cognitive architecture for simulating user behavior during agent trajectories.
    • Perception Stage: Implements FileSensor, AgentSensor, and DialogueSensor to compress raw environment data, agent actions, and conversation history into structured contexts.
    • Understanding Stage: Implements MilestoneMatcher, ProgressEvaluator, and TaskSynthesizer to track task progress against milestones and assess quality/risks.
    • Decision Stage: Synthesizes perceptions and understanding into a final user response (feedback or completion judgment) based on a dialogue strategy and user persona.
  • Standardized Agent Serving Interface: Introduced AgentServingABC to unify the lifecycle of agent execution, including workspace management, multi-round verification loops, and concurrent task scheduling.

🏗️ Architecture & Refactoring

  • Resource Path Alignment: Refactored file preparation logic to preserve original directory hierarchies within the workspace, eliminating "missing file" loops caused by path flattening.
  • Robust JSON Parsing: Integrated json_repair into the simulator's parsing logic to handle malformed LLM outputs, significantly reducing simulator crashes.
  • Flexible LLM Integration: Added LLMClientAdapter for standardized REST communication with the simulator's backend LLM.

🔧 Bug Fixes

  • Pydantic Constraint Relaxation: Increased max_length for strategy_details from 300 to 1000 characters to resolve ValidationError during complex decision making.
  • Path Cognitive Dissonance: Fixed issues where agents could not find files because the serving layer had modified their paths.

📊 Statistics

  • 14 files changed
  • 2381 insertions(+), 1113 deletions(-)
  • Compared to tag v1.0.11

## [1.0.11] - 2026-05-04

Choose a tag to compare

@NgZiming NgZiming released this 29 Apr 08:28

[1.0.11] - 2026-05-04

🚀 Major Features

  • Milestones Support: Added support for milestones in agent trajectories, enabling structured multi-step task planning and verification.
    • New input_milestones_key parameter in FormatStrPromptedAgenticGenerator for per-task milestone injection
    • Milestones are now passed through verification_prompt_templates to support different verification strategies per task
    • Integration with AgentServingABC to handle milestone-aware verification prompts

🏗️ Architecture & Refactoring

  • Trajectory Format Simplification: Removed files_created and errors fields from TrajectoryDict and MessageDict TypedDict definitions.

    • Simplified trajectory structure in dataflow/core/llm_serving.py
    • Error handling now managed externally rather than embedded in trajectory
    • More focused trajectory representation on core message flow
  • Retry Logic Restructuring: Moved state variable initialization inside the retry loop in AgentServingABC._execute_single_task_with_verification().

    • Ensures each retry attempt starts fresh from round 0
    • Prevents state contamination across retry attempts
    • More predictable retry behavior
  • Verification Prompt Flexibility: Changed verification_prompt_template parameter to verification_prompt_templates (list) in AgentServingABC.generate_from_input().

    • Supports per-task custom verification prompts
    • Each task can have its own milestone-aware verification template
    • Backward compatible with single template usage

## [1.0.10] - 2026-04-24

Choose a tag to compare

@NgZiming NgZiming released this 24 Apr 07:56

[1.0.10] - 2026-04-24

🛠️ Improvements & Fixes

  • JsonParseFilter Enhancement: Added support for nested field validation using dot-notation (e.g., user.profile.name), enabling deeper JSON structure verification.
  • Robustness: Improved retry logic and streamlined bootstrap processes.
  • Versioning: Updated versioning metadata.

## v1.0.9.post1

Choose a tag to compare

@NgZiming NgZiming released this 22 Apr 07:22

Full Changelog: v1.0.9...v1.0.9.post1

## [1.0.9] - 2026-04-22

Choose a tag to compare

@NgZiming NgZiming released this 22 Apr 06:48

[1.0.9] - 2026-04-22

🏗️ Architecture & Refactoring

  • Agent Serving Decoupling: Moved AgentServingABC and its related logic from dataflow/core/llm_serving.py to a dedicated interface file dataflow/serving/agent/iface.py.
  • Type Definition Simplification: Removed dataflow/core/types.py and moved OPERATOR_CLASSES and LLM_SERVING_CLASSES type aliases directly into dataflow/core/__init__.py for flatter imports.

⚙️ Serving Optimizations

  • CLI Serving Cleanup: In cli_openclaw_serving.py, replaced complex subprocess.Popen process group management (os.setsid/os.killpg) with concise subprocess.run, significantly reducing redundancy while maintaining timeout control.

🛠️ Robustness & Detail Improvements (iface.py)

  • Path Mapping Enhancement: Improved the replacement logic for /workspace/assets/ paths to ensure higher accuracy when mapping to the actual workspace.
  • Verification Parser Upgrade: Enhanced _parse_verification_result to support multiple feedback markers (e.g., "反馈:", "feedback:") and added a fallback splitting mechanism to handle unstable LLM output formats.
  • Token Efficiency: Reduced the truncation limit for new file contents in the verification prompt from 10,000 to 5,000 characters to optimize LLM token usage and response latency.

## [1.0.7] - 2026-04-14

Choose a tag to compare

@NgZiming NgZiming released this 14 Apr 02:47

[1.0.7] - 2026-04-14

Added

  • OpenClaw Agent Serving 架构重构 (39a4196, 4eeaee8, cf0e77b)

    • 新增 AgentServingABC 抽象基类,提供统一 Agent 能力流程
    • 新增 AgentServingABC.MessageDictTrajectoryDict 类型定义
    • 新增 CLIOpenClawServing - 基于 OpenClaw CLI 的 Agent serving 实现
    • 新增 SDKNanobotServing - 基于 Nanobot SDK 的 Agent serving 实现
    • 新增 SystemPromptBuilder - 动态构建 OpenClaw system prompt
    • 支持动态创建 worker agents(按需创建,不再预先创建池)
    • 支持任务验证循环(verification loop)
    • 支持 system prompt 注入(包含 skills 信息)
  • FileContextGenerator 增强 (0962a63, a46e566)

    • 添加详细日志输出
    • 支持多种输入格式(string/list)
    • 改进错误处理和失败 row 过滤
    • 添加文件生成队列调试信息
  • FormatStrPromptedAgenticGenerator 增强 (8ebef33)

    • 支持 input_skills_dir 参数动态加载 skills
    • 支持 input_skills_key 传递 skill 路径列表
    • 支持 verification_prompt_template 验证提示词
    • 支持 enable_verification 自动验证循环
    • 支持 max_verification_rounds 最大验证轮数
  • JsonParseFilter 容错增强 (0384c59)

    • 添加 json-repair 依赖
    • 使用 repair_json 替代标准 json.loads
    • 增强 JSON 解析容错能力
  • NestExtractOperator 验证增强 (bd3d2c6)

    • 验证 input_keys 和 output_keys 必须一一对应
    • 添加详细的调试日志
    • 检查输出列的值有效性

Changed

  • Serving 模块重构 (39a4196)

    • 将 agent 相关的 serving 移到 serving/agent/ 子目录
    • 更新 serving/__init__.py 导入路径
    • 移除旧的 cli_openclaw_serving.pysdk_nanobot_serving.py(移至 agent 子目录)
  • Pipeline 并发控制优化 (17f258f)

    • PartitionPipelineParallelRun 改进并发提交逻辑
    • 防止 LLM Serving 并发竞争
  • 项目名称更新 (46ee92c)

    • open-dataflowya-dataflow
    • 更新 CLI 输出和 PyPI API 地址

Fixed

  • Chinese font 问题 (31e1ae1)

    • 修复 PDF 生成中的中文字体问题
  • File path 问题 (9d6b7f3, a46e566)

    • 修复文件路径验证逻辑
    • 确保所有文件路径以 /workspace/ 开头
  • Verification 问题 (cf0e77b)

    • 修复任务验证逻辑
    • 改进验证反馈格式
  • Agent name 问题 (1090495)

    • 修复 agent 名称匹配逻辑
  • Empty query 问题 (2ad44c5)

    • 添加 query 非空验证
  • CSV gen 问题 (ef27606)

    • 修复 CSV 文件生成问题
  • Feedback 问题 (76e1bd1, 249c29a, 5e01eea, c3c9464)

    • 修复反馈生成和验证逻辑
  • Dict types 问题 (bd3d2c6)

    • 修复字典类型处理

Removed

  • 冗余依赖 (46ee92c)
    • 移除无用的 prompt 和依赖

## [1.0.6.post1] - 2026-04-09

Choose a tag to compare

@NgZiming NgZiming released this 09 Apr 01:21

[1.0.6.post1] - 2026-04-09

Fixed

  • Session lock 文件路径修复 (c70136f, 909c5fe)

    • 修正 session lock 文件检测位置(lock 文件实际位于 agent/sessions/ 目录下,而非 workspace 根目录)
    • 修复 _is_agent_locked() 使用正确的 sessions/ 子目录路径
    • 修复 /new 失败时的 lock 文件清理逻辑
    • 将未定义的 _cleanup_agent_locks 函数调用替换为内联逻辑
  • Thread safety (f7b4a01)

    • 修复 S3Storage 的线程安全问题

## [1.0.6] - 2026-04-08

Choose a tag to compare

@NgZiming NgZiming released this 08 Apr 09:09

[1.0.6] - 2026-04-08

Added

  • NanobotServing (5fe27e4)

    • 新增 NanobotServing - 基于 nanobot Python SDK 的轻量级 Serving 类
    • 新增 CLINanobotServing 测试及 API 配置支持
  • CLI 请求增强 (4502473)

    • 添加 CLI 请求重试机制
    • 添加 tqdm 进度显示
  • 缓存配置优化 (e696b26, 524e002)

    • S3DataSourceS3Storagecache_max_size_gb 改为可配置参数

Changed

  • 缓存架构重构 (ac516d2)

    • 重构 LRUCacheManager 缓存架构
    • 将缓存逻辑从 DataParser 层移至 Storage/DataSource
  • 命名统一 (55a1b50, a8d4fe4)

    • S3Storagetemp_dir 参数改为 cache_dir,统一命名
    • nanobot_serving 重命名为 cli_nanobot_serving 以对齐命名规范
    • 重构 Serving 类命名并添加 agent 健康检查

Fixed

  • 缓存大小配置 (722f1a5, 66b96e4)

    • 修复 cache size 配置问题
    • 修复类型注解问题
  • 依赖冲突 (ccfb7af)

    • 解决 langkit 依赖冲突问题
  • 临时目录支持 (40ca1ae)

    • DataParser 添加自定义临时目录支持