diff --git a/web/src/locales/en.ts b/web/src/locales/en.ts
index 9329c2c61a..bd126f1158 100644
--- a/web/src/locales/en.ts
+++ b/web/src/locales/en.ts
@@ -1925,6 +1925,7 @@ The Indexer will store the content in the corresponding data structures for the
keywords: 'Keywords',
questions: 'Questions',
metadata: 'Metadata',
+ toc: 'Table of contents',
fieldName: 'Result destination',
prompts: {
system: {
diff --git a/web/src/pages/agent/constant/pipeline.tsx b/web/src/pages/agent/constant/pipeline.tsx
index 849340bfa4..c799cf959a 100644
--- a/web/src/pages/agent/constant/pipeline.tsx
+++ b/web/src/pages/agent/constant/pipeline.tsx
@@ -85,6 +85,7 @@ export enum ContextGeneratorFieldName {
Keywords = 'keywords',
Questions = 'questions',
Metadata = 'metadata',
+ TableOfContents = 'toc',
}
export const FileId = 'File'; // BeginId
diff --git a/web/src/pages/agent/form/extractor-form/index.tsx b/web/src/pages/agent/form/extractor-form/index.tsx
index 391d8c09ef..78480d6656 100644
--- a/web/src/pages/agent/form/extractor-form/index.tsx
+++ b/web/src/pages/agent/form/extractor-form/index.tsx
@@ -76,19 +76,23 @@ const ExtractorForm = ({ node }: INextOperatorForm) => {
>
)}
-
-
-
-
-
-
+ {form.getValues('field_name') !== 'toc' && (
+ <>
+
+
+
+
+
+
+ >
+ )}
{visible && (