Releases: NgZiming/YetAnotherDataFlow
Release list
## [1.0.14] - 2026-05-12
⚙️ Operator Enhancements
- FormatStrPromptedGenerator JSON Schema Support: Added native JSON schema validation with
to_dictflag.- New
to_dictparameter: when enabled, parses LLM output as JSON and validates againstjson_schema - Automatically filters out samples that fail schema validation
- Stores both raw output and parsed dict in dataframe
- Eliminates need for external
JsonParseFilterwhen using structured output
- New
🔧 LLM Client & Structured Output
- LLMClientABC Interface Enhancement: Added
json_schemaparameter togenerate()method.StepSchemanow includes optionaljson_schemafield for structured outputUserSteppassesjson_schemafrom schema to LLM clientLLMClientAdapterimplements 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
- Uses
🧠 UserSimulator V2 Improvements
-
DecisionStageV2: Added JSON schema constraints for all three steps.
DialogueStrategy: Enforcesstrategy_typeenum (提问/提供反馈/要求澄清/表达不满/表示满意/催促/其他)PersonaStyle: Enforceslength_hintenum (short/medium/long)FinalResponse: Enforcesjudgmentenum (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 milestonestatusenum (completed/in_progress/not_started/blocked)TaskState: Enforcesfinal_statusenum (CONTINUE/FINISHED/ABORTED) andemotional_toneenum
-
PerceptionStageV2: Added JSON schema for all three sensors.
FileContext: Enforces required fields (path, fact, evidence_snippet, relevance)AgentContext: Enforcesreasoning_patternenum andis_loopingbooleanDialogueContext: Enforcesemotional_toneenum (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
- Uses
📦 Dependencies
- Added
jsonschema>=4.0.0to 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
🚀 Major Features
- UserSimulator V2: Upgraded to an evidence-driven cognitive architecture, separating
global_contextanddata_poolto enhance state tracking and reasoning. - Cognitive Pipeline Enhancements: Refactored
TaskStateto pass emotional fields, allowing the simulator to express varied tones (satisfied, confused, urgent, etc.). - Nanobot Serving Improvements: Integrated
SDKNanobotServingwith detailed magenta-colored thread logging and strictAgentHookprotocol adherence to preventAttributeError.
🔧 Bug Fixes & Refinements
- Nanobot Stability: Fixed various issues in
SDKNanobotServingrelated 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
[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, andDialogueSensorto compress raw environment data, agent actions, and conversation history into structured contexts. - Understanding Stage: Implements
MilestoneMatcher,ProgressEvaluator, andTaskSynthesizerto 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.
- Perception Stage: Implements
- Standardized Agent Serving Interface: Introduced
AgentServingABCto 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_repairinto the simulator's parsing logic to handle malformed LLM outputs, significantly reducing simulator crashes. - Flexible LLM Integration: Added
LLMClientAdapterfor standardized REST communication with the simulator's backend LLM.
🔧 Bug Fixes
- Pydantic Constraint Relaxation: Increased
max_lengthforstrategy_detailsfrom 300 to 1000 characters to resolveValidationErrorduring 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
[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_keyparameter inFormatStrPromptedAgenticGeneratorfor per-task milestone injection - Milestones are now passed through
verification_prompt_templatesto support different verification strategies per task - Integration with
AgentServingABCto handle milestone-aware verification prompts
- New
🏗️ Architecture & Refactoring
-
Trajectory Format Simplification: Removed
files_createdanderrorsfields fromTrajectoryDictandMessageDictTypedDict 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
- Simplified trajectory structure in
-
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_templateparameter toverification_prompt_templates(list) inAgentServingABC.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
[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
Full Changelog: v1.0.9...v1.0.9.post1
## [1.0.9] - 2026-04-22
[1.0.9] - 2026-04-22
🏗️ Architecture & Refactoring
- Agent Serving Decoupling: Moved
AgentServingABCand its related logic fromdataflow/core/llm_serving.pyto a dedicated interface filedataflow/serving/agent/iface.py. - Type Definition Simplification: Removed
dataflow/core/types.pyand movedOPERATOR_CLASSESandLLM_SERVING_CLASSEStype aliases directly intodataflow/core/__init__.pyfor flatter imports.
⚙️ Serving Optimizations
- CLI Serving Cleanup: In
cli_openclaw_serving.py, replaced complexsubprocess.Popenprocess group management (os.setsid/os.killpg) with concisesubprocess.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_resultto 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
[1.0.7] - 2026-04-14
Added
-
OpenClaw Agent Serving 架构重构 (
39a4196,4eeaee8,cf0e77b)- 新增
AgentServingABC抽象基类,提供统一 Agent 能力流程 - 新增
AgentServingABC.MessageDict和TrajectoryDict类型定义 - 新增
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.py和sdk_nanobot_serving.py(移至 agent 子目录)
- 将 agent 相关的 serving 移到
-
Pipeline 并发控制优化 (
17f258f)PartitionPipelineParallelRun改进并发提交逻辑- 防止 LLM Serving 并发竞争
-
项目名称更新 (
46ee92c)open-dataflow→ya-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
[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函数调用替换为内联逻辑
- 修正 session lock 文件检测位置(lock 文件实际位于
-
Thread safety (
f7b4a01)- 修复 S3Storage 的线程安全问题
## [1.0.6] - 2026-04-08
[1.0.6] - 2026-04-08
Added
-
NanobotServing (
5fe27e4)- 新增
NanobotServing- 基于 nanobot Python SDK 的轻量级 Serving 类 - 新增
CLINanobotServing测试及 API 配置支持
- 新增
-
CLI 请求增强 (
4502473)- 添加 CLI 请求重试机制
- 添加 tqdm 进度显示
-
缓存配置优化 (
e696b26,524e002)S3DataSource和S3Storage的cache_max_size_gb改为可配置参数
Changed
-
缓存架构重构 (
ac516d2)- 重构
LRUCacheManager缓存架构 - 将缓存逻辑从
DataParser层移至Storage/DataSource层
- 重构
-
命名统一 (
55a1b50,a8d4fe4)S3Storage的temp_dir参数改为cache_dir,统一命名nanobot_serving重命名为cli_nanobot_serving以对齐命名规范- 重构
Serving类命名并添加 agent 健康检查
Fixed
-
缓存大小配置 (
722f1a5,66b96e4)- 修复 cache size 配置问题
- 修复类型注解问题
-
依赖冲突 (
ccfb7af)- 解决 langkit 依赖冲突问题
-
临时目录支持 (
40ca1ae)- 为
DataParser添加自定义临时目录支持
- 为