Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
赵月辉
/
fastgpt-migrated
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Unverified
Commit
b14a1db2
authored
Dec 18, 2023
by
Archer
Committed by
GitHub
Dec 18, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: worker un exit (#624)
parent
703583ff
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
58 additions
and
130 deletions
+58
-130
packages/global/common/string/textSplitter.ts
+1
-1
packages/service/common/string/markdown.ts
+3
-0
pnpm-lock.yaml
+0
-35
projects/app/src/components/Markdown/chat/Guide.tsx
+1
-1
projects/app/src/components/SideTabs/index.tsx
+1
-1
projects/app/src/components/core/module/Flow/components/modules/ButtonEdge.tsx
+1
-7
projects/app/src/pages/dataset/detail/components/Import/Provider.tsx
+23
-61
projects/app/src/web/styles/theme.ts
+10
-10
worker/html2md.js
+18
-14
No files found.
packages/global/common/string/textSplitter.ts
View file @
b14a1db2
...
@@ -232,7 +232,7 @@ export const splitText2Chunks = (props: {
...
@@ -232,7 +232,7 @@ export const splitText2Chunks = (props: {
step
:
0
,
step
:
0
,
lastText
:
''
,
lastText
:
''
,
mdTitle
:
''
mdTitle
:
''
}).
map
((
chunk
)
=>
chunk
.
replaceAll
(
codeBlockMarker
,
'\n'
)
);
// restore code block
}).
map
((
chunk
)
=>
chunk
?.
replaceAll
(
codeBlockMarker
,
'\n'
)
||
''
);
// restore code block
const
tokens
=
countTokens
const
tokens
=
countTokens
?
chunks
.
reduce
((
sum
,
chunk
)
=>
sum
+
countPromptTokens
(
chunk
,
'system'
),
0
)
?
chunks
.
reduce
((
sum
,
chunk
)
=>
sum
+
countPromptTokens
(
chunk
,
'system'
),
0
)
...
...
packages/service/common/string/markdown.ts
View file @
b14a1db2
...
@@ -13,9 +13,12 @@ export const htmlToMarkdown = (html?: string | null) =>
...
@@ -13,9 +13,12 @@ export const htmlToMarkdown = (html?: string | null) =>
const
worker
=
new
Worker
(
getWorkerPath
(
'html2md'
));
const
worker
=
new
Worker
(
getWorkerPath
(
'html2md'
));
worker
.
on
(
'message'
,
(
md
:
string
)
=>
{
worker
.
on
(
'message'
,
(
md
:
string
)
=>
{
worker
.
terminate
();
resolve
(
simpleMarkdownText
(
md
));
resolve
(
simpleMarkdownText
(
md
));
});
});
worker
.
on
(
'error'
,
(
err
)
=>
{
worker
.
on
(
'error'
,
(
err
)
=>
{
worker
.
terminate
();
reject
(
err
);
reject
(
err
);
});
});
...
...
pnpm-lock.yaml
View file @
b14a1db2
...
@@ -84,15 +84,9 @@ importers:
...
@@ -84,15 +84,9 @@ importers:
dayjs
:
dayjs
:
specifier
:
^1.11.7
specifier
:
^1.11.7
version
:
registry.npmmirror.com/dayjs@1.11.7
version
:
registry.npmmirror.com/dayjs@1.11.7
domino-ext
:
specifier
:
^2.1.4
version
:
registry.npmmirror.com/domino-ext@2.1.4
encoding
:
encoding
:
specifier
:
^0.1.13
specifier
:
^0.1.13
version
:
registry.npmmirror.com/encoding@0.1.13
version
:
registry.npmmirror.com/encoding@0.1.13
joplin-turndown-plugin-gfm
:
specifier
:
^1.0.12
version
:
registry.npmmirror.com/joplin-turndown-plugin-gfm@1.0.12
jsonwebtoken
:
jsonwebtoken
:
specifier
:
^9.0.2
specifier
:
^9.0.2
version
:
registry.npmmirror.com/jsonwebtoken@9.0.2
version
:
registry.npmmirror.com/jsonwebtoken@9.0.2
...
@@ -117,9 +111,6 @@ importers:
...
@@ -117,9 +111,6 @@ importers:
tunnel
:
tunnel
:
specifier
:
^0.0.6
specifier
:
^0.0.6
version
:
registry.npmmirror.com/tunnel@0.0.6
version
:
registry.npmmirror.com/tunnel@0.0.6
turndown
:
specifier
:
^7.1.2
version
:
registry.npmmirror.com/turndown@7.1.2
devDependencies
:
devDependencies
:
'
@types/cookie'
:
'
@types/cookie'
:
specifier
:
^0.5.2
specifier
:
^0.5.2
...
@@ -6765,18 +6756,6 @@ packages:
...
@@ -6765,18 +6756,6 @@ packages:
domelementtype
:
registry.npmmirror.com/domelementtype@2.3.0
domelementtype
:
registry.npmmirror.com/domelementtype@2.3.0
dev
:
false
dev
:
false
registry.npmmirror.com/domino-ext@2.1.4
:
resolution
:
{
integrity
:
sha512-t8piRI9Qahd4V/NqnCcqdBWsQ4OYeOvcTuoHl38Pzk9OJJ/UiCYHA2jX2fACmBtDlSMiWa0uR524KuLEAMc/3Q==
,
registry
:
https
:
//registry.npm.taobao.org/
,
tarball
:
https
:
//registry.npmmirror.com/domino-ext/-/domino-ext-2.1.4.tgz
}
name
:
domino-ext
version
:
2.1.4
dev
:
false
registry.npmmirror.com/domino@2.1.6
:
resolution
:
{
integrity
:
sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==
,
registry
:
https
:
//registry.npm.taobao.org/
,
tarball
:
https
:
//registry.npmmirror.com/domino/-/domino-2.1.6.tgz
}
name
:
domino
version
:
2.1.6
dev
:
false
registry.npmmirror.com/dompurify@3.0.3
:
registry.npmmirror.com/dompurify@3.0.3
:
resolution
:
{
integrity
:
sha512-axQ9zieHLnAnHh0sfAamKYiqXMJAVwu+LM/alQ7WDagoWessyWvMSFyW65CqF3owufNu8HBcE4cM2Vflu7YWcQ==
,
registry
:
https
:
//registry.npm.taobao.org/
,
tarball
:
https
:
//registry.npmmirror.com/dompurify/-/dompurify-3.0.3.tgz
}
resolution
:
{
integrity
:
sha512-axQ9zieHLnAnHh0sfAamKYiqXMJAVwu+LM/alQ7WDagoWessyWvMSFyW65CqF3owufNu8HBcE4cM2Vflu7YWcQ==
,
registry
:
https
:
//registry.npm.taobao.org/
,
tarball
:
https
:
//registry.npmmirror.com/dompurify/-/dompurify-3.0.3.tgz
}
name
:
dompurify
name
:
dompurify
...
@@ -8793,12 +8772,6 @@ packages:
...
@@ -8793,12 +8772,6 @@ packages:
set-function-name
:
registry.npmmirror.com/set-function-name@2.0.1
set-function-name
:
registry.npmmirror.com/set-function-name@2.0.1
dev
:
true
dev
:
true
registry.npmmirror.com/joplin-turndown-plugin-gfm@1.0.12
:
resolution
:
{
integrity
:
sha512-qL4+1iycQjZ1fs8zk3jSRk7cg3ROBUHk7GKtiLAQLFzLPKErnILUvz5DLszSQvz3s1sTjPbywLDISVUtBY6HaA==
,
registry
:
https
:
//registry.npm.taobao.org/
,
tarball
:
https
:
//registry.npmmirror.com/joplin-turndown-plugin-gfm/-/joplin-turndown-plugin-gfm-1.0.12.tgz
}
name
:
joplin-turndown-plugin-gfm
version
:
1.0.12
dev
:
false
registry.npmmirror.com/js-sdsl@4.4.2
:
registry.npmmirror.com/js-sdsl@4.4.2
:
resolution
:
{
integrity
:
sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==
,
registry
:
https
:
//registry.npm.taobao.org/
,
tarball
:
https
:
//registry.npmmirror.com/js-sdsl/-/js-sdsl-4.4.2.tgz
}
resolution
:
{
integrity
:
sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==
,
registry
:
https
:
//registry.npm.taobao.org/
,
tarball
:
https
:
//registry.npmmirror.com/js-sdsl/-/js-sdsl-4.4.2.tgz
}
name
:
js-sdsl
name
:
js-sdsl
...
@@ -12193,14 +12166,6 @@ packages:
...
@@ -12193,14 +12166,6 @@ packages:
engines
:
{
node
:
'
>=0.6.11
<=0.7.0
||
>=0.7.3'
}
engines
:
{
node
:
'
>=0.6.11
<=0.7.0
||
>=0.7.3'
}
dev
:
false
dev
:
false
registry.npmmirror.com/turndown@7.1.2
:
resolution
:
{
integrity
:
sha512-ntI9R7fcUKjqBP6QU8rBK2Ehyt8LAzt3UBT9JR9tgo6GtuKvyUzpayWmeMKJw1DPdXzktvtIT8m2mVXz+bL/Qg==
,
registry
:
https
:
//registry.npm.taobao.org/
,
tarball
:
https
:
//registry.npmmirror.com/turndown/-/turndown-7.1.2.tgz
}
name
:
turndown
version
:
7.1.2
dependencies
:
domino
:
registry.npmmirror.com/domino@2.1.6
dev
:
false
registry.npmmirror.com/type-check@0.4.0
:
registry.npmmirror.com/type-check@0.4.0
:
resolution
:
{
integrity
:
sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
,
registry
:
https
:
//registry.npm.taobao.org/
,
tarball
:
https
:
//registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz
}
resolution
:
{
integrity
:
sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
,
registry
:
https
:
//registry.npm.taobao.org/
,
tarball
:
https
:
//registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz
}
name
:
type-check
name
:
type-check
...
...
projects/app/src/components/Markdown/chat/Guide.tsx
View file @
b14a1db2
...
@@ -23,7 +23,7 @@ function MyLink(e: any) {
...
@@ -23,7 +23,7 @@ function MyLink(e: any) {
<
Box
as=
{
'li'
}
mb=
{
1
}
>
<
Box
as=
{
'li'
}
mb=
{
1
}
>
<
Box
<
Box
as=
{
'span'
}
as=
{
'span'
}
color=
{
'blue.
5
00'
}
color=
{
'blue.
7
00'
}
textDecoration=
{
'underline'
}
textDecoration=
{
'underline'
}
cursor=
{
'pointer'
}
cursor=
{
'pointer'
}
onClick=
{
()
=>
{
onClick=
{
()
=>
{
...
...
projects/app/src/components/SideTabs/index.tsx
View file @
b14a1db2
...
@@ -44,7 +44,7 @@ const SideTabs = ({ list, size = 'md', activeId, onChange, ...props }: Props) =>
...
@@ -44,7 +44,7 @@ const SideTabs = ({ list, size = 'md', activeId, onChange, ...props }: Props) =>
alignItems=
{
'center'
}
alignItems=
{
'center'
}
{
...
(
activeId
===
item
.
id
{
...
(
activeId
===
item
.
id
?
{
?
{
bg
:
'
blue
.
2
00
!
important
',
bg
:
'
blue
.
1
00
!
important
',
fontWeight
:
'
bold
',
fontWeight
:
'
bold
',
color
:
'
blue
.
600
',
color
:
'
blue
.
600
',
cursor
:
'
default
'
cursor
:
'
default
'
...
...
projects/app/src/components/core/module/Flow/components/modules/ButtonEdge.tsx
View file @
b14a1db2
import
React
from
'react'
;
import
React
from
'react'
;
import
{
import
{
SmoothStepEdge
,
EdgeLabelRenderer
,
EdgeProps
,
getSmoothStepPath
}
from
'reactflow'
;
SmoothStepEdge
,
EdgeLabelRenderer
,
EdgeProps
,
getSmoothStepPath
,
MarkerType
}
from
'reactflow'
;
import
{
Flex
}
from
'@chakra-ui/react'
;
import
{
Flex
}
from
'@chakra-ui/react'
;
import
MyIcon
from
'@/components/Icon'
;
import
MyIcon
from
'@/components/Icon'
;
...
...
projects/app/src/pages/dataset/detail/components/Import/Provider.tsx
View file @
b14a1db2
...
@@ -289,28 +289,30 @@ export const PreviewFileOrChunk = () => {
...
@@ -289,28 +289,30 @@ export const PreviewFileOrChunk = () => {
overflow=
{
'overlay'
}
overflow=
{
'overlay'
}
px=
{
[
4
,
8
]
}
px=
{
[
4
,
8
]
}
my=
{
4
}
my=
{
4
}
contentEditable
//
contentEditable
dangerouslySetInnerHTML=
{
{
__html
:
previewFile
.
rawText
}
}
//
dangerouslySetInnerHTML=
{{
__html
:
previewFile
.
rawText
}}
fontSize=
{
'sm'
}
fontSize=
{
'sm'
}
whiteSpace=
{
'pre-wrap'
}
whiteSpace=
{
'pre-wrap'
}
wordBreak=
{
'break-all'
}
wordBreak=
{
'break-all'
}
onBlur=
{
(
e
)
=>
{
//
onBlur=
{(
e
)
=
>
{
// @ts-ignore
//
// @ts-ignore
const
val
=
e
.
target
.
innerText
;
//
const val = e.target.innerText;
setReShowRePreview
(
true
);
//
setReShowRePreview(true);
setFiles
((
state
)
=>
// setFiles((state) =>
state
.
map
((
file
)
=>
// state.map((file) =>
file
.
id
===
previewFile
.
id
// file.id === previewFile.id
?
{
// ?
{
...
file
,
// ...file,
text
:
val
// text: val
}
//
}
:
file
// : file
)
// )
);
// );
}
}
//
}
}
/>
>
{
previewFile
.
rawText
}
</
Box
>
</
Box
>
</
Box
>
)
:
(
)
:
(
<
Box
pt=
{
[
3
,
6
]
}
>
<
Box
pt=
{
[
3
,
6
]
}
>
...
@@ -365,49 +367,9 @@ export const PreviewFileOrChunk = () => {
...
@@ -365,49 +367,9 @@ export const PreviewFileOrChunk = () => {
}
}
}
}
/>
/>
</
Flex
>
</
Flex
>
<
Box
<
Box
px=
{
4
}
fontSize=
{
'sm'
}
whiteSpace=
{
'pre-wrap'
}
wordBreak=
{
'break-all'
}
>
px=
{
4
}
{
chunk
.
a
?
`q:${chunk.q}\na:${chunk.a}`
:
chunk
.
q
}
fontSize=
{
'sm'
}
</
Box
>
whiteSpace=
{
'pre-wrap'
}
wordBreak=
{
'break-all'
}
contentEditable=
{
!
chunk
.
a
}
dangerouslySetInnerHTML=
{
{
__html
:
chunk
.
a
?
`q:${chunk.q}\na:${chunk.a}`
:
chunk
.
q
}
}
onBlur=
{
(
e
)
=>
{
// @ts-ignore
const
val
=
e
.
target
.
innerText
;
/* delete file */
if
(
val
===
''
)
{
setFiles
((
state
)
=>
state
.
map
((
stateFile
)
=>
stateFile
.
id
===
file
.
id
?
{
...
file
,
chunks
:
[...
file
.
chunks
.
slice
(
0
,
i
),
...
file
.
chunks
.
slice
(
i
+
1
)]
}
:
stateFile
)
);
}
else
{
// update chunk
setFiles
((
stateFiles
)
=>
stateFiles
.
map
((
stateFile
)
=>
file
.
id
===
stateFile
.
id
?
{
...
stateFile
,
chunks
:
stateFile
.
chunks
.
map
((
chunk
,
index
)
=>
({
...
chunk
,
index
:
i
===
index
?
val
:
chunk
.
q
}))
}
:
stateFile
)
);
}
}
}
/>
</
Box
>
</
Box
>
))
))
)
}
)
}
...
...
projects/app/src/web/styles/theme.ts
View file @
b14a1db2
...
@@ -284,16 +284,16 @@ export const theme = extendTheme({
...
@@ -284,16 +284,16 @@ export const theme = extendTheme({
1000
:
'#121416'
1000
:
'#121416'
},
},
blue
:
{
blue
:
{
50
:
'#
f0f7ff
'
,
50
:
'#
F0F4FF
'
,
100
:
'#E
BF7FD
'
,
100
:
'#E
1EAFF
'
,
200
:
'#
d6e8ff
'
,
200
:
'#
C5D7FF
'
,
300
:
'#
adceff
'
,
300
:
'#
94B5FF
'
,
400
:
'#
85b1ff
'
,
400
:
'#
5E8FFF
'
,
500
:
'#4
e83fd
'
,
500
:
'#4
87FFF
'
,
600
:
'#3370
ff
'
,
600
:
'#3370
FF
'
,
700
:
'#2
152d
9'
,
700
:
'#2
B5FD
9'
,
800
:
'#
1237b3
'
,
800
:
'#
2450B5
'
,
900
:
'#
07228c
'
900
:
'#
1D4091
'
},
},
myRead
:
{
myRead
:
{
600
:
'#ff4d4f'
600
:
'#ff4d4f'
...
...
worker/html2md.js
View file @
b14a1db2
...
@@ -20,22 +20,26 @@ parentPort?.on('message', (html) => {
...
@@ -20,22 +20,26 @@ parentPort?.on('message', (html) => {
});
});
const
html2md
=
(
html
)
=>
{
const
html2md
=
(
html
)
=>
{
const
window
=
domino
.
createWindow
(
html
);
try
{
const
document
=
window
.
document
;
const
window
=
domino
.
createWindow
(
html
);
const
document
=
window
.
document
;
turndownService
.
remove
([
'i'
,
'script'
,
'iframe'
]);
turndownService
.
remove
([
'i'
,
'script'
,
'iframe'
]);
turndownService
.
addRule
(
'codeBlock'
,
{
turndownService
.
addRule
(
'codeBlock'
,
{
filter
:
'pre'
,
filter
:
'pre'
,
replacement
(
_
,
node
)
{
replacement
(
_
,
node
)
{
const
content
=
node
.
textContent
?.
trim
()
||
''
;
const
content
=
node
.
textContent
?.
trim
()
||
''
;
// @ts-ignore
// @ts-ignore
const
codeName
=
node
?.
_attrsByQName
?.
class
?.
data
?.
trim
()
||
''
;
const
codeName
=
node
?.
_attrsByQName
?.
class
?.
data
?.
trim
()
||
''
;
return
`\n\`\`\`
${
codeName
}
\n
${
content
}
\n\`\`\`\n`
;
return
`\n\`\`\`
${
codeName
}
\n
${
content
}
\n\`\`\`\n`
;
}
}
});
});
turndownService
.
use
(
turndownPluginGfm
.
gfm
);
turndownService
.
use
(
turndownPluginGfm
.
gfm
);
return
turndownService
.
turndown
(
document
);
return
turndownService
.
turndown
(
document
);
}
catch
(
error
)
{
return
''
;
}
};
};
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment