diff --git a/web/src/pages/add-knowledge/components/knowledge-file/model.ts b/web/src/pages/add-knowledge/components/knowledge-file/model.ts
index 53f11679f7fc7eb3d2ac586efecf3a63d54739e7..d1b2fa17fd230635797d365d1687669d70edd4f9 100644
--- a/web/src/pages/add-knowledge/components/knowledge-file/model.ts
+++ b/web/src/pages/add-knowledge/components/knowledge-file/model.ts
@@ -65,14 +65,14 @@ const model: DvaModel<KFModelState> = {
       const { data } = yield call(kbService.createKb, payload);
       const { retcode } = data;
       if (retcode === 0) {
-        message.success('创建成功!');
+        message.success('Created!');
       }
     },
     *updateKf({ payload = {} }, { call }) {
       const { data } = yield call(kbService.updateKb, payload);
       const { retcode } = data;
       if (retcode === 0) {
-        message.success('修改成功!');
+        message.success('Modified!');
       }
     },
     *getKfDetail({ payload = {} }, { call }) {
@@ -120,7 +120,7 @@ const model: DvaModel<KFModelState> = {
       );
       const { retcode } = data;
       if (retcode === 0) {
-        message.success('修改成功!');
+        message.success('Modified!');
         put({
           type: 'getKfList',
           payload: { kb_id: payload.kb_id },
@@ -133,7 +133,7 @@ const model: DvaModel<KFModelState> = {
       });
       const { retcode } = data;
       if (retcode === 0) {
-        message.success('删除成功!');
+        message.success('Deleted!');
         yield put({
           type: 'getKfList',
           payload: { kb_id: payload.kb_id },
@@ -171,7 +171,7 @@ const model: DvaModel<KFModelState> = {
             isShowCEFwModal: false,
           },
         });
-        message.success('创建成功!');
+        message.success('Created!');
       }
       return retcode;
     },
@@ -202,7 +202,7 @@ const model: DvaModel<KFModelState> = {
             isShowSegmentSetModal: false,
           },
         });
-        message.success('修改成功!');
+        message.success('Modified!');
       }
       return retcode;
     },
diff --git a/web/src/pages/add-knowledge/components/knowledge-file/parsing-action-cell/index.tsx b/web/src/pages/add-knowledge/components/knowledge-file/parsing-action-cell/index.tsx
index 0de4657399418398c571e776a32366cb8c645d79..75577793545098259381386e2868e04c5fe02cd7 100644
--- a/web/src/pages/add-knowledge/components/knowledge-file/parsing-action-cell/index.tsx
+++ b/web/src/pages/add-knowledge/components/knowledge-file/parsing-action-cell/index.tsx
@@ -56,15 +56,13 @@ const ParsingActionCell = ({
     });
   };
 
-  const onRename = () => {};
-
   const chunkItems: MenuProps['items'] = [
     {
       key: '1',
       label: (
         <div>
           <Button type="link" onClick={showSegmentSetModal}>
-            分段设置
+            Parser type
           </Button>
         </div>
       ),
diff --git a/web/src/pages/add-knowledge/components/knowledge-file/segmentSetModal.tsx b/web/src/pages/add-knowledge/components/knowledge-file/segmentSetModal.tsx
index 07853c2c1cab8dcf3029492ff8fd7de824934122..49aab4ef1d16f46716aa2dd7b926423e3f644f7e 100644
--- a/web/src/pages/add-knowledge/components/knowledge-file/segmentSetModal.tsx
+++ b/web/src/pages/add-knowledge/components/knowledge-file/segmentSetModal.tsx
@@ -1,6 +1,6 @@
+import { useFetchParserList, useSelectParserList } from '@/hooks/knowledgeHook';
 import { Modal, Space, Tag } from 'antd';
 import React, { useEffect, useState } from 'react';
-import { useTranslation } from 'react-i18next';
 import { useDispatch, useSelector } from 'umi';
 import styles from './index.less';
 const { CheckableTag } = Tag;
@@ -16,17 +16,13 @@ const SegmentSetModal: React.FC<kFProps> = ({
 }) => {
   const dispatch = useDispatch();
   const kFModel = useSelector((state: any) => state.kFModel);
-  const settingModel = useSelector((state: any) => state.settingModel);
   const [selectedTag, setSelectedTag] = useState('');
-  const parser_ids = settingModel?.tenantIfo?.parser_ids ?? '';
   const { isShowSegmentSetModal } = kFModel;
-  const { t } = useTranslation();
+  const parserList = useSelectParserList();
+
+  useFetchParserList();
 
   useEffect(() => {
-    dispatch({
-      type: 'settingModel/getTenantInfo',
-      payload: {},
-    });
     setSelectedTag(parser_id);
   }, [parser_id]);
 
@@ -48,32 +44,34 @@ const SegmentSetModal: React.FC<kFProps> = ({
       },
     });
 
-    retcode === 0 && getKfList && getKfList();
+    if (retcode === 0 && getKfList) {
+      getKfList();
+      handleCancel();
+    }
   };
 
   const handleChange = (tag: string, checked: boolean) => {
     const nextSelectedTag = checked ? tag : selectedTag;
-    console.log('You are interested in: ', nextSelectedTag);
     setSelectedTag(nextSelectedTag);
   };
 
   return (
     <Modal
-      title="Basic Modal"
+      title="Parser Type"
       open={isShowSegmentSetModal}
       onOk={handleOk}
       onCancel={handleCancel}
     >
       <Space size={[0, 8]} wrap>
         <div className={styles.tags}>
-          {parser_ids.split(',').map((tag: string) => {
+          {parserList.map((x) => {
             return (
               <CheckableTag
-                key={tag}
-                checked={selectedTag === tag}
-                onChange={(checked) => handleChange(tag, checked)}
+                key={x.value}
+                checked={selectedTag === x.value}
+                onChange={(checked) => handleChange(x.value, checked)}
               >
-                {tag}
+                {x.label}
               </CheckableTag>
             );
           })}
diff --git a/web/src/pages/chat/model.ts b/web/src/pages/chat/model.ts
index 659fc3da73d907b3d4418b62721ea798d8fb8164..e885e60dd583e49ac6da718b5180fc1b5511972b 100644
--- a/web/src/pages/chat/model.ts
+++ b/web/src/pages/chat/model.ts
@@ -110,10 +110,12 @@ const model: DvaModel<ChatModelState> = {
       return data.retcode;
     },
     *getConversation({ payload }, { call, put }) {
+      const needToBeSaved =
+        payload.needToBeSaved === undefined ? true : payload.needToBeSaved;
       const { data } = yield call(chatService.getConversation, {
         conversation_id: payload.conversation_id,
       });
-      if (data.retcode === 0 && payload.needToBeSaved) {
+      if (data.retcode === 0 && needToBeSaved) {
         yield put({
           type: 'kFModel/fetch_document_thumbnails',
           payload: {