A dify-dsl-to-code
将 Dify 导出的工作流/Chatflow DSL 文件(YAML)转化为可部署、可运行的独立代码项目(默认 Python+FastAPI,可选 Node.js+Express)。当用户要求"Dify 工作流转代码"、"DSL 导出转项目"、"把 Dify 应用代码化"、"脱离 Dify 部署工作流"时使用。Convert an exported Dify workflow/chatflow DSL (YAML) into a deployable standalone code project. Use when the user asks to convert/export/translate a Dify DSL or .yml workflow file into runnable code, migrate off Dify, or self-host a Dify workflow as a service. 覆盖:读取用户指定路径的 DSL 文件、解析节点与变量依赖、就缺失信息(API Key、知识库语料、工具凭据、部署形态)与用户交互补全、超大 DSL 时拆解为功能块并派发给多智能体分块实现、最终拼接验证为完整项目。
将 Dify 导出的工作流/Chatflow DSL 文件(YAML)转化为可部署、可运行的独立代码项目(默认 Python+FastAPI,可选 Node.js+Express)。当用户要求"Dify 工作流转代码"、"DSL 导出转项目"、"把 Dify 应用代码化"、"脱离 Dify…
- Безопасность 60%
- Качество 40%
- Тесты бонус
Как улучшить
- Добавьте evals/evals.json с 4–6 реальными запросами и ожидаемыми ответами: тогда полная проверка использует ваши кейсы, а не черновик модели.
- Добавьте spec.yaml с триггерами и утверждениями (skilltest init): это контракт поведения для CI.
Находки guard · 2
✓ Критических и высоких находок нет
Средние и низкие: 2
-
низкая Секреты в коде
secret-high-entropy-tokenassets/examples/example-chatflow-qa.yml:446Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример)- Yoel…Jmj+k8ao…Yx9
тестовый файл -
низкая Секреты в коде
secret-high-entropy-tokenassets/examples/example-chatflow-qa.yml:448Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример)- haN99RBvZE/0V4pAo+qPCy…wRT
тестовый файл
Просканировано файлов: 29. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
Lint
✓ Lint: замечаний нет
Процессная зрелость 52/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 60Инструменты и файлы. Используются инструменты (python, node), но во frontmatter они не объявлены
- 70Когда включается. Сказано, когда применять, но не сказано, когда не стоит
- 100Шаги. Шагов: 18
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 869 токенов
- 100Повторный запуск. Изменяющих операций нет
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- +1Лицензия не указана
- +2Инструкции на одном языке
- +5В description 4 примера фраз-триггеров в кавычках
- +3Длина description 525 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 12 заголовков
- +3Пошаговые инструкции: 18 пунктов
- +4Есть примеры (4 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (4 из 4)
- +3Все 2 скриптов описаны в инструкциях
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 96.