Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
183 commits
Select commit Hold shift + click to select a range
c0ffc0a
security: fix reverse shell vulnerability in function library.
liqiang-fit2cloud Apr 9, 2025
f5282bf
Merge branch 'main' of https://github.com/maxkb-dev/maxkb
liqiang-fit2cloud Apr 9, 2025
8381ca5
Merge branch 'main' of https://github.com/maxkb-dev/maxkb
liqiang-fit2cloud Apr 9, 2025
bbab359
Merge branch 'main' of https://github.com/maxkb-dev/maxkb
liqiang-fit2cloud Apr 9, 2025
f188383
Merge branch 'main' of https://github.com/maxkb-dev/maxkb
liqiang-fit2cloud Apr 9, 2025
3c3bd98
Merge branch 'main' of https://github.com/maxkb-dev/maxkb
liqiang-fit2cloud Apr 10, 2025
ebe8506
Merge branch 'main' of https://github.com/maxkb-dev/maxkb
liqiang-fit2cloud Apr 10, 2025
1695710
Merge branch 'main' of https://github.com/maxkb-dev/maxkb
liqiang-fit2cloud Apr 10, 2025
bb3f17e
Merge branch 'main' of https://github.com/maxkb-dev/maxkb
liqiang-fit2cloud Apr 11, 2025
0b60a03
perf: refine copywriting
ortion Apr 11, 2025
125ed8a
Merge branch 'main' of https://github.com/maxkb-dev/maxkb
liqiang-fit2cloud Apr 14, 2025
3b24373
fix: handle line breaks in cell content for markdown table formatting
liuruibin Apr 14, 2025
e178cfe
Merge branch 'main' of https://github.com/maxkb-dev/maxkb
liqiang-fit2cloud Apr 14, 2025
c781c11
fix: Application chat page style issue (#2866)
wangdan-fit2cloud Apr 14, 2025
2dc4218
Merge branch 'main' of https://github.com/maxkb-dev/maxkb
liqiang-fit2cloud Apr 14, 2025
f9cb0e2
refactor: enhance input handling for custom sources in form fields
liuruibin Apr 14, 2025
a1a2fb5
fix: application title error
wxg0103 Apr 14, 2025
c30677d
chore: Update README.md (#2873)
maninhill Apr 14, 2025
6ea2cf1
chore: Update README_CN.md (#2874)
maninhill Apr 14, 2025
7a3d384
Merge branch 'main' of https://github.com/maxkb-dev/maxkb
liqiang-fit2cloud Apr 15, 2025
b9dcc36
chore: Update README_CN.md (#2878)
maninhill Apr 15, 2025
98ed348
chore: Update README_CN.md (#2879)
maninhill Apr 15, 2025
a025e39
chore: Update README_CN.md (#2880)
maninhill Apr 15, 2025
da10649
Update README_CN.md
maninhill Apr 15, 2025
791505b
Merge branch 'main' of https://github.com/maxkb-dev/maxkb
liqiang-fit2cloud Apr 15, 2025
5a7b23a
docs: change defaultSlogan.
liqiang-fit2cloud Apr 15, 2025
1e49939
chore: Update README.md (#2884)
maninhill Apr 15, 2025
ec5fd9e
docs: change defaultSlogan.
liqiang-fit2cloud Apr 15, 2025
8fc9b0a
Merge branch 'main' of https://github.com/maxkb-dev/maxkb
liqiang-fit2cloud Apr 15, 2025
eb60331
chore: Update README_CN.md (#2886)
maninhill Apr 15, 2025
45d8ac2
Merge branch 'main' of https://github.com/maxkb-dev/maxkb
liqiang-fit2cloud Apr 15, 2025
04cb9c9
chore: Update README_CN.md (#2892)
maninhill Apr 16, 2025
1d3bf1c
chore: Update README_CN.md (#2893)
maninhill Apr 16, 2025
2b82675
chore: Update README.md (#2897)
maninhill Apr 16, 2025
45a60cd
Merge branch 'main' of https://github.com/maxkb-dev/maxkb
liqiang-fit2cloud Apr 16, 2025
b5fda0e
chore: add dependabot configuration for weekly pip updates for v2
liuruibin Apr 18, 2025
2ecec57
chore: Update README.md (#2927)
maninhill Apr 18, 2025
bf52dd8
fix: i18n error
wxg0103 Apr 21, 2025
2550324
refactor: oidc add field_mapping
wxg0103 Apr 21, 2025
d2637c3
fix: Model parameters are not effective (#2937)
shaohuzhang1 Apr 21, 2025
54c9d4e
feat: Support uploading files by copying, pasting, dragging and dropp…
wangdan-fit2cloud Apr 21, 2025
d32f7d3
feat: add support for uploading other file types and extend file uplo…
liuruibin Apr 21, 2025
072b817
fix: OpenAI interface call for session, passing asker does not take e…
shaohuzhang1 Apr 22, 2025
8a19448
feat: Adjust file upload and add other file function styles (#2944)
wangdan-fit2cloud Apr 22, 2025
6484fef
fix: Edit advanced orchestration applications, add application nodes,…
shaohuzhang1 Apr 22, 2025
9c56c7e
fix: When automatic sending is not selected, the text conversion shou…
shaohuzhang1 Apr 22, 2025
c39a6e8
fix: When there is an empty string in the context, the conversation r…
shaohuzhang1 Apr 22, 2025
f1d043f
fix: The forgot password page displays an error
wxg0103 Apr 22, 2025
0c14306
fix: Docx segmented font title recognition (#2949)
shaohuzhang1 Apr 22, 2025
b97f4e1
dependencies: Upgrade Django to 4.2.20 (#2950)
shaohuzhang1 Apr 22, 2025
f646102
fix: update file upload settings to allow dynamic video extensions an…
liuruibin Apr 22, 2025
6fe001f
fix: collection form function cannot be used normally and will be stu…
shaohuzhang1 Apr 22, 2025
5e02809
feat: add support for handling and displaying additional file types i…
liuruibin Apr 22, 2025
77e9662
fix: upload file style (#2953)
wangdan-fit2cloud Apr 22, 2025
0ec198f
fix: Lost historical conversation records (#2954)
shaohuzhang1 Apr 22, 2025
d6f1d25
fix: Change the max_token of the Qianfan large model to max_output_to…
shaohuzhang1 Apr 22, 2025
f24337d
fix: The forgot password page displays an error
wxg0103 Apr 23, 2025
e58f958
fix: aws computer tokens error
wxg0103 Apr 23, 2025
131b5b3
feat: add existing file extensions warning and improve file type disp…
liuruibin Apr 23, 2025
d9787bb
fix: style bug
wangdan-fit2cloud Apr 23, 2025
5e7e91c
refactor: loading
wxg0103 Apr 23, 2025
d4541e2
fix: Fix the issue of uploading and deleting other files
wangdan-fit2cloud Apr 23, 2025
9cd0820
feat: update file extension display to uppercase in upload settings
liuruibin Apr 23, 2025
7e4b147
fix: upload style
wangdan-fit2cloud Apr 23, 2025
c8441cf
refactor: loading
wxg0103 Apr 23, 2025
b1f6092
fix: The tag based thinking process does not output (#2968)
shaohuzhang1 Apr 24, 2025
b5b09dc
fix: Fixed interface parameter transmission not displaying during deb…
wangdan-fit2cloud Apr 24, 2025
7bcb770
Merge branch 'main' of https://github.com/maxkb-dev/maxkb
liqiang-fit2cloud Apr 24, 2025
e4a60da
deps: lock versions.
liqiang-fit2cloud Apr 24, 2025
ee35cc2
build: update build-and-push.yml.
liqiang-fit2cloud Apr 24, 2025
d960a18
fix: Thinking about process labels during simple application debuggin…
shaohuzhang1 Apr 24, 2025
fb64731
deps: lock versions.
liqiang-fit2cloud Apr 24, 2025
a054120
deps: lock versions.
liqiang-fit2cloud Apr 24, 2025
df7f922
fix: fix api input bug
wangdan-fit2cloud Apr 24, 2025
8d503c8
fix: update post_cell function to handle different newline characters…
liuruibin Apr 24, 2025
33b1cd6
fix: Ollama maximum output token field (#2973)
shaohuzhang1 Apr 24, 2025
e79e7d5
feat: Add local model worker parameters (#2974)
shaohuzhang1 Apr 24, 2025
d85801f
build: ui build error (#2975)
shaohuzhang1 Apr 24, 2025
1c6b0f8
fix: api input bug
wangdan-fit2cloud Apr 24, 2025
4ff1944
fix: User input parameter occupancy issue (#2976)
shaohuzhang1 Apr 24, 2025
b95cb20
ci: add pip package ecosystem support to dependabot configuration
liuruibin Apr 25, 2025
d33b620
build(deps): update langchain-ollama requirement from 0.3.1 to 0.3.2
dependabot[bot] Apr 25, 2025
17cd88e
build(deps): update langchain-anthropic requirement
dependabot[bot] Apr 25, 2025
47f9c04
build(deps): update pyproject.toml.
liqiang-fit2cloud Apr 25, 2025
3631503
build: update build-and-push.yml.
liqiang-fit2cloud Apr 28, 2025
5813eed
perf: Slow dialogue log query (#3016)
shaohuzhang1 Apr 29, 2025
dfe6d0a
add support for docx, xlsx (#3014)
yuxiaobin Apr 29, 2025
b37cc3b
perf: The style of MCP nodes when there is no data (#3017)
wangdan-fit2cloud Apr 29, 2025
59ee0c1
fix: During the conversation, there is sensitive data in the applicat…
shaohuzhang1 Apr 29, 2025
704077d
fix: Workflow application node parameter saving cannot be reflected b…
shaohuzhang1 Apr 29, 2025
a6533c0
feat: Support Alibaba Bailian supplier qwen3 model (#3020)
shaohuzhang1 Apr 29, 2025
00a3e5d
fix: The similarity of knowledge base mixed retrieval should be 0-2 (…
shaohuzhang1 Apr 29, 2025
0c7cca0
fix: Cannot copy applications with opening statement characters excee…
shaohuzhang1 Apr 29, 2025
79b2de8
feat: Ali Bailian supplier model list adds qwen3 model (#3026)
shaohuzhang1 Apr 29, 2025
96e59a0
fix: The simple application demonstration cannot be opened (#3028)
shaohuzhang1 Apr 29, 2025
0609a9a
ci: add pip package ecosystem support to dependabot configuration
liuruibin Apr 30, 2025
357edbf
ci: remove redundant pip package ecosystem configuration from dependabot
liuruibin Apr 30, 2025
0cf05a7
feat(provider): added regolo.ai (#3041)
Mte90 May 7, 2025
76ec8ad
refactor: regolo icon
wxg0103 May 7, 2025
7faf556
refactor: remove unused initialization parameters from function libra…
liuruibin May 8, 2025
8d8de53
chore: update langchain-mcp-adapters and mcp package versions
liuruibin May 9, 2025
ccf43bb
feat: add pool options recycle (#3080)
shaohuzhang1 May 13, 2025
2728453
fix: The workflow includes a form collection node. After the normal Q…
shaohuzhang1 May 14, 2025
c12988b
fix: update MCP server configuration text to include STREAMABLE_HTTP …
liuruibin May 15, 2025
949e4de
perf: Refine the Model Manager code (#3089)
shaohuzhang1 May 15, 2025
1db8577
perf: Refine the Model Manager code (#3091)
shaohuzhang1 May 15, 2025
8cf66b9
perf: Refine the Model Manager code (#3093)
shaohuzhang1 May 15, 2025
b2bf697
perf: Refine the Model Manager code (#3094)
shaohuzhang1 May 15, 2025
b0630b3
perf: Refine the Model Manager code (#3098)
shaohuzhang1 May 16, 2025
fa4f7e9
perf: Refine the Model Manager code (#3099)
shaohuzhang1 May 16, 2025
8903b35
fix: dialogue log export error (#3100)
shaohuzhang1 May 16, 2025
5e0d804
fix: Excel export prohibits inputting external links or formulas (#3105)
shaohuzhang1 May 19, 2025
a1a92a8
fix: Excel export prohibits inputting external links or formulas (#3106)
shaohuzhang1 May 19, 2025
57ada07
fix: When the function parameter is of non string type, if the parame…
shaohuzhang1 May 19, 2025
3964db2
fix: Advanced orchestration defines global variables and assigns them…
shaohuzhang1 May 19, 2025
ceccf9f
fix: Line break truncated characters in English(#3103)
wangdan-fit2cloud May 19, 2025
a4d10cb
fix: Application of multi-file style issues and modification of copyw…
wangdan-fit2cloud May 19, 2025
a30316d
fix: breadcrumb issue (#3111)
wangdan-fit2cloud May 19, 2025
a4faf52
fix: Parameter setting page optimization (#3115)
wangdan-fit2cloud May 20, 2025
35b662a
perf: Optimize document extraction for complex table files (#3116)
shaohuzhang1 May 20, 2025
9a42bd2
refactor: add client_id
wxg0103 May 20, 2025
1ba8077
fix: optimize markdown style
wangdan-fit2cloud May 20, 2025
c1ddec1
feat: Login and add graphic captcha (#3117)
shaohuzhang1 May 20, 2025
190ca3e
refactor: login captcha
wxg0103 May 21, 2025
8498687
fix: captcha style
wangdan-fit2cloud May 21, 2025
a7e31b9
fix: AI conversation jumps to 404 (#3118)
shaohuzhang1 May 21, 2025
ce2ab32
fix: modification of copywriting
wangdan-fit2cloud May 21, 2025
adc5af9
fix: Upload a file in the application dialogue, with a file name cont…
shaohuzhang1 May 21, 2025
71fdce0
build: Sensitive directory permissions (#3120)
shaohuzhang1 May 21, 2025
289ebf4
fix: Verification code is not case sensitive (#3121)
shaohuzhang1 May 21, 2025
347f4a0
fix: The default suffix for workflow file upload nodes is set to uppe…
shaohuzhang1 May 21, 2025
e5bab10
build: Sensitive directory permissions (#3126)
shaohuzhang1 May 21, 2025
187e9c1
build: Sensitive directory permissions (#3127)
shaohuzhang1 May 21, 2025
27a77dc
refactor: openai token
wxg0103 May 21, 2025
2ec0d22
refactor: openai token
wxg0103 May 21, 2025
81a3af2
refactor: openai token
wxg0103 May 22, 2025
8f7d917
fix: The dropdown data of subsequent nodes in the form cannot be disp…
shaohuzhang1 May 22, 2025
9d7a383
fix: The dropdown data of subsequent nodes in the form cannot be disp…
shaohuzhang1 May 22, 2025
decd339
build: Sensitive directory permissions
shaohuzhang1 May 22, 2025
7ce66a7
perf: Function library execution (#3175)
shaohuzhang1 May 30, 2025
e12b1fe
refactor: gemini
wxg0103 Jun 5, 2025
a9e9f5b
chore: add ignore rule for pymupdf dependency in dependabot configura…
liuruibin Jun 16, 2025
a9c46cd
fix: Reorganize the model cache (#3315)
hao65103940 Jun 19, 2025
69f0244
fix(documet):upgrade document updatetime when upgrade document_char_l…
liuchangfitcloud Jun 20, 2025
b13cd03
fix: prevent usage of 'stdio' in MCP server configuration
liuruibin Jun 24, 2025
1cc4107
chore: remove ignore rule for pymupdf dependency in dependabot config…
liuruibin Jul 4, 2025
48899d5
docs: Add some badges
wanghe-fit2cloud Jul 7, 2025
8ff1586
fix: remove redundant import of pickle in function_code.py
liuruibin Jul 9, 2025
3d9e7dd
feat: optimization
wangdan-fit2cloud Jun 9, 2025
b62c79f
fix: text bug
wangdan-fit2cloud Jul 10, 2025
e1ada3f
Update build-and-push.yml
liqiang-fit2cloud Jul 10, 2025
90c64d7
chore: Update README.md (#3584)
maninhill Jul 14, 2025
d476993
chore: Update README_CN.md (#3585)
maninhill Jul 14, 2025
2a257ed
chore: Update README.md (#3587)
maninhill Jul 14, 2025
efa196c
docs: Update README.md
liqiang-fit2cloud Jul 15, 2025
f01a65f
docs: Update README.md
liqiang-fit2cloud Jul 15, 2025
1268b20
chore: Update README_CN.md (#3619)
maninhill Jul 15, 2025
ee83139
chore: Update README_CN.md (#3621)
maninhill Jul 15, 2025
30ddab3
Update README_CN.md
liqiang-fit2cloud Jul 16, 2025
90ee3c4
refactor: improve formatting in chat_serializers.py
wxg0103 Jul 21, 2025
93d1958
fix: validate transport type in MCP server configuration
liuruibin Jul 21, 2025
f568c68
refactor: add early return for invalid document type in document_seri…
wxg0103 Jul 21, 2025
622a8e5
refactor: add early return for invalid document type in document_seri…
wxg0103 Jul 21, 2025
bca56af
fix: Interface permission verification error #3343 (#3683)
shaohuzhang1 Jul 21, 2025
b7ba9fd
fix: change HitTest action methods from GET to PUT in API views
liuruibin Jul 21, 2025
abe51dc
fix: Quick question in the opening statement, English word breaks.(#3…
shaohuzhang1 Jul 21, 2025
8ecf5b5
fix: Interface permission verification error #3309 (#3687)
shaohuzhang1 Jul 21, 2025
40be71d
fix: Create document prompt error #3527 (#3688)
shaohuzhang1 Jul 21, 2025
4013606
fix: The password rule prompt is unclear #3547 (#3689)
shaohuzhang1 Jul 21, 2025
8d3b3f8
fix: Quick question in the opening statement, English word breaks.(#3…
shaohuzhang1 Jul 21, 2025
02d6239
fix: Quick question in the opening statement, English word breaks.(#3…
wangdan-fit2cloud Jul 21, 2025
0ba9b97
feat: add MySQL and PostgreSQL query templates with JSON serialization
liuruibin Jul 21, 2025
1ee0eac
build: locales (#3696)
shaohuzhang1 Jul 22, 2025
0531a6e
feat: Support session_timeout parameter (#3697)
shaohuzhang1 Jul 22, 2025
55a7d73
fix: The thinking process information of AI dialogue nodes is lost (#…
shaohuzhang1 Jul 22, 2025
ae30052
docs: Delete the conversation log history_day parameter #3159 (#3699)
shaohuzhang1 Jul 22, 2025
0107516
docs: Missing thinking process related parameters in model_setting #3…
shaohuzhang1 Jul 22, 2025
a0b6aaa
fix: Specifying a specific form parameter for the reply output will r…
shaohuzhang1 Jul 22, 2025
2adb872
fix: Application dialogue history error(#3223)
wangdan-fit2cloud Jul 22, 2025
33762f2
fix: Password change prompt (#3705)
shaohuzhang1 Jul 22, 2025
8e3e46a
fix: Replace replaceAll with the replace function (#3706) #3656
shaohuzhang1 Jul 22, 2025
753bf5f
fix: hit test title style optimize(#3533)
wangdan-fit2cloud Jul 22, 2025
4aae806
fix: Non streaming sessions cannot count token consumption #3635
shaohuzhang1 Jul 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
version: 2
updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
timezone: "Asia/Shanghai"
day: "friday"
target-branch: "v2"
groups:
python-dependencies:
patterns:
- "*"
# ignore:
# - dependency-name: "pymupdf"
# versions: ["*"]

38 changes: 9 additions & 29 deletions .github/workflows/build-and-push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
inputs:
dockerImageTag:
description: 'Image Tag'
default: 'v1.10.3-dev'
default: 'v1.10.7-dev'
required: true
dockerImageTagWithLatest:
description: '是否发布latest tag(正式发版时选择,测试版本切勿选择)'
Expand Down Expand Up @@ -36,7 +36,7 @@ on:
jobs:
build-and-push-to-fit2cloud-registry:
if: ${{ contains(github.event.inputs.registry, 'fit2cloud') }}
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
steps:
- name: Check Disk Space
run: df -h
Expand All @@ -52,10 +52,6 @@ jobs:
swap-storage: true
- name: Check Disk Space
run: df -h
- name: Set Swap Space
uses: pierotofy/set-swap-space@master
with:
swap-size-gb: 8
- name: Checkout
uses: actions/checkout@v4
with:
Expand All @@ -68,24 +64,17 @@ jobs:
TAG_NAME=${{ github.event.inputs.dockerImageTag }}
TAG_NAME_WITH_LATEST=${{ github.event.inputs.dockerImageTagWithLatest }}
if [[ ${TAG_NAME_WITH_LATEST} == 'true' ]]; then
DOCKER_IMAGE_TAGS="--tag ${DOCKER_IMAGE}:${TAG_NAME} --tag ${DOCKER_IMAGE}:latest"
DOCKER_IMAGE_TAGS="--tag ${DOCKER_IMAGE}:${TAG_NAME} --tag ${DOCKER_IMAGE}:${TAG_NAME%%.*}"
else
DOCKER_IMAGE_TAGS="--tag ${DOCKER_IMAGE}:${TAG_NAME}"
fi
echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} --memory-swap -1 \
--build-arg DOCKER_IMAGE_TAG=${{ github.event.inputs.dockerImageTag }} --build-arg BUILD_AT=$(TZ=Asia/Shanghai date +'%Y-%m-%dT%H:%M') --build-arg GITHUB_COMMIT=${GITHUB_SHA::8} --no-cache \
--build-arg DOCKER_IMAGE_TAG=${{ github.event.inputs.dockerImageTag }} --build-arg BUILD_AT=$(TZ=Asia/Shanghai date +'%Y-%m-%dT%H:%M') --build-arg GITHUB_COMMIT=`git rev-parse --short HEAD` --no-cache \
${DOCKER_IMAGE_TAGS} .
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
# Until https://github.com/tonistiigi/binfmt/issues/215
image: tonistiigi/binfmt:qemu-v7.0.0-28
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
buildkitd-config-inline: |
[worker.oci]
max-parallelism = 1
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
Expand All @@ -100,11 +89,12 @@ jobs:
password: ${{ secrets.FIT2CLOUD_REGISTRY_PASSWORD }}
- name: Docker Buildx (build-and-push)
run: |
sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches && free -m
docker buildx build --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} -f installer/Dockerfile

build-and-push-to-dockerhub:
if: ${{ contains(github.event.inputs.registry, 'dockerhub') }}
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
steps:
- name: Check Disk Space
run: df -h
Expand All @@ -120,10 +110,6 @@ jobs:
swap-storage: true
- name: Check Disk Space
run: df -h
- name: Set Swap Space
uses: pierotofy/set-swap-space@master
with:
swap-size-gb: 8
- name: Checkout
uses: actions/checkout@v4
with:
Expand All @@ -136,24 +122,17 @@ jobs:
TAG_NAME=${{ github.event.inputs.dockerImageTag }}
TAG_NAME_WITH_LATEST=${{ github.event.inputs.dockerImageTagWithLatest }}
if [[ ${TAG_NAME_WITH_LATEST} == 'true' ]]; then
DOCKER_IMAGE_TAGS="--tag ${DOCKER_IMAGE}:${TAG_NAME} --tag ${DOCKER_IMAGE}:latest"
DOCKER_IMAGE_TAGS="--tag ${DOCKER_IMAGE}:${TAG_NAME} --tag ${DOCKER_IMAGE}:${TAG_NAME%%.*}"
else
DOCKER_IMAGE_TAGS="--tag ${DOCKER_IMAGE}:${TAG_NAME}"
fi
echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} --memory-swap -1 \
--build-arg DOCKER_IMAGE_TAG=${{ github.event.inputs.dockerImageTag }} --build-arg BUILD_AT=$(TZ=Asia/Shanghai date +'%Y-%m-%dT%H:%M') --build-arg GITHUB_COMMIT=${GITHUB_SHA::8} --no-cache \
--build-arg DOCKER_IMAGE_TAG=${{ github.event.inputs.dockerImageTag }} --build-arg BUILD_AT=$(TZ=Asia/Shanghai date +'%Y-%m-%dT%H:%M') --build-arg GITHUB_COMMIT=`git rev-parse --short HEAD` --no-cache \
${DOCKER_IMAGE_TAGS} .
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
# Until https://github.com/tonistiigi/binfmt/issues/215
image: tonistiigi/binfmt:qemu-v7.0.0-28
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
buildkitd-config-inline: |
[worker.oci]
max-parallelism = 1
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
Expand All @@ -167,4 +146,5 @@ jobs:
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Docker Buildx (build-and-push)
run: |
sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches && free -m
docker buildx build --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} -f installer/Dockerfile
15 changes: 7 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<p align="center"><img src= "https://github.com/1Panel-dev/maxkb/assets/52996290/c0694996-0eed-40d8-b369-322bf2a380bf" alt="MaxKB" width="300" /></p>
<h3 align="center">Ready-to-use AI Chatbot</h3>
<h3 align="center">Open-source platform for building enterprise-grade agents</h3>
<h3 align="center">强大易用的企业级智能体平台</h3>
<p align="center"><a href="https://trendshift.io/repositories/9113" target="_blank"><img src="https://trendshift.io/api/badge/repositories/9113" alt="1Panel-dev%2FMaxKB | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a></p>
<p align="center">
<a href="https://www.gnu.org/licenses/gpl-3.0.html#license-text"><img src="https://img.shields.io/github/license/1Panel-dev/maxkb?color=%231890FF" alt="License: GPL v3"></a>
Expand All @@ -10,10 +11,10 @@
</p>
<hr/>

MaxKB = Max Knowledge Base, it is a ready-to-use AI chatbot that integrates Retrieval-Augmented Generation (RAG) pipelines, supports robust workflows, and provides advanced MCP tool-use capabilities. MaxKB is widely applied in scenarios such as intelligent customer service, corporate internal knowledge bases, academic research, and education.
MaxKB = Max Knowledge Brain, it is an open-source platform for building enterprise-grade agents. MaxKB integrates Retrieval-Augmented Generation (RAG) pipelines, supports robust workflows, and provides advanced MCP tool-use capabilities. MaxKB is widely applied in scenarios such as intelligent customer service, corporate internal knowledge bases, academic research, and education.

- **RAG Pipeline**: Supports direct uploading of documents / automatic crawling of online documents, with features for automatic text splitting, vectorization, and RAG (Retrieval-Augmented Generation). This effectively reduces hallucinations in large models, providing a superior smart Q&A interaction experience.
- **Flexible Orchestration**: Equipped with a powerful workflow engine, function library and MCP tool-use, enabling the orchestration of AI processes to meet the needs of complex business scenarios.
- **RAG Pipeline**: Supports direct uploading of documents / automatic crawling of online documents, with features for automatic text splitting, vectorization. This effectively reduces hallucinations in large models, providing a superior smart Q&A interaction experience.
- **Agentic Workflow**: Equipped with a powerful workflow engine, function library and MCP tool-use, enabling the orchestration of AI processes to meet the needs of complex business scenarios.
- **Seamless Integration**: Facilitates zero-coding rapid integration into third-party business systems, quickly equipping existing systems with intelligent Q&A capabilities to enhance user satisfaction.
- **Model-Agnostic**: Supports various large models, including private models (such as DeepSeek, Llama, Qwen, etc.) and public models (like OpenAI, Claude, Gemini, etc.).
- **Multi Modal**: Native support for input and output text, image, audio and video.
Expand All @@ -23,15 +24,15 @@ MaxKB = Max Knowledge Base, it is a ready-to-use AI chatbot that integrates Retr
Execute the script below to start a MaxKB container using Docker:

```bash
docker run -d --name=maxkb --restart=always -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data -v ~/.python-packages:/opt/maxkb/app/sandbox/python-packages 1panel/maxkb
docker run -d --name=maxkb --restart=always -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data -v ~/.python-packages:/opt/maxkb/app/sandbox/python-packages 1panel/maxkb:v1
```

Access MaxKB web interface at `http://your_server_ip:8080` with default admin credentials:

- username: admin
- password: MaxKB@123..

中国用户如遇到 Docker 镜像 Pull 失败问题,请参照该 [离线安装文档](https://maxkb.cn/docs/installation/offline_installtion/) 进行安装。
中国用户如遇到 Docker 镜像 Pull 失败问题,请参照该 [离线安装文档](https://maxkb.cn/docs/v1/installation/offline_installtion/) 进行安装。

## Screenshots

Expand All @@ -55,8 +56,6 @@ Access MaxKB web interface at `http://your_server_ip:8080` with default admin cr

## Feature Comparison

MaxKB is positioned as an Ready-to-use RAG (Retrieval-Augmented Generation) intelligent Q&A application, rather than a middleware platform for building large model applications. The following table is merely a comparison from a functional perspective.

<table style="width: 100%;">
<tr>
<th align="center">Feature</th>
Expand Down
28 changes: 14 additions & 14 deletions README_CN.md
Original file line number Diff line number Diff line change
@@ -1,45 +1,45 @@
<p align="center"><img src= "https://github.com/1Panel-dev/maxkb/assets/52996290/c0694996-0eed-40d8-b369-322bf2a380bf" alt="MaxKB" width="300" /></p>
<h3 align="center">基于大模型和 RAG 的知识库问答系统</h3>
<h4 align="center">Ready-to-use, flexible RAG Chatbot</h4>
<h3 align="center">强大易用的企业级智能体平台</h3>
<p align="center">
<a href="https://trendshift.io/repositories/9113" target="_blank"><img src="https://trendshift.io/api/badge/repositories/9113" alt="1Panel-dev%2FMaxKB | Trendshift" style="width: 250px; height: auto;" /></a>
<a href="https://market.aliyun.com/products/53690006/cmjj00067609.html?userCode=kmemb8jp" target="_blank"><img src="https://img.alicdn.com/imgextra/i2/O1CN01H5JIwY1rZ0OobDjnJ_!!6000000005644-2-tps-1000-216.png" alt="1Panel-dev%2FMaxKB | Aliyun" style="width: 250px; height: auto;" /></a>
</p>
<p align="center">
<a href="README_EN.md"><img src="https://img.shields.io/badge/English_README-blue" alt="English README"></a>
<a href="https://www.gnu.org/licenses/gpl-3.0.html#license-text"><img src="https://img.shields.io/github/license/1Panel-dev/maxkb" alt="License: GPL v3"></a>
<a href="https://www.gnu.org/licenses/gpl-3.0.html#license-text"><img src="https://img.shields.io/github/license/1Panel-dev/maxkb?color=%231890FF" alt="License: GPL v3"></a>
<a href="https://github.com/1Panel-dev/maxkb/releases/latest"><img src="https://img.shields.io/github/v/release/1Panel-dev/maxkb" alt="Latest release"></a>
<a href="https://github.com/1Panel-dev/maxkb"><img src="https://img.shields.io/github/stars/1Panel-dev/maxkb?style=flat-square" alt="Stars"></a>
<a href="https://hub.docker.com/r/1panel/maxkb"><img src="https://img.shields.io/docker/pulls/1panel/maxkb?label=downloads" alt="Download"></a>
<a href="https://github.com/1Panel-dev/maxkb"><img src="https://img.shields.io/github/stars/1Panel-dev/maxkb?style=flat-square" alt="Stars"></a>
<a href="https://hub.docker.com/r/1panel/maxkb"><img src="https://img.shields.io/docker/pulls/1panel/maxkb?label=downloads" alt="Download"></a>
<a href="https://gitee.com/fit2cloud-feizhiyun/MaxKB"><img src="https://gitee.com/fit2cloud-feizhiyun/MaxKB/badge/star.svg?theme=gvp" alt="Gitee Stars"></a>
<a href="https://gitcode.com/feizhiyun/MaxKB"><img src="https://gitcode.com/feizhiyun/MaxKB/star/badge.svg" alt="GitCode Stars"></a>
</p>
<hr/>

MaxKB = Max Knowledge Base,是一款开箱即用的 RAG Chatbot,具备强大的工作流和 MCP 工具调用能力。它支持对接各种主流大语言模型(LLMs),广泛应用于智能客服、企业内部知识库、学术研究与教育等场景
MaxKB = Max Knowledge Brain,是一个强大易用的企业级智能体平台,致力于解决企业 AI 落地面临的技术门槛高、部署成本高、迭代周期长等问题,助力企业在人工智能时代赢得先机。秉承“开箱即用,伴随成长”的设计理念,MaxKB 支持企业快速接入主流大模型,高效构建专属知识库,并提供从基础问答(RAG)、复杂流程自动化(工作流)到智能体(Agent)的渐进式升级路径,全面赋能智能客服、智能办公助手等多种应用场景

- **开箱即用**:支持直接上传文档 / 自动爬取在线文档,支持文本自动拆分、向量化和 RAG(检索增强生成),有效减少大模型幻觉,智能问答交互体验好;
- **模型中立**:支持对接各种大模型,包括本地私有大模型(DeepSeek R1 / Llama 3 / Qwen 2 等)、国内公共大模型(通义千问 / 腾讯混元 / 字节豆包 / 百度千帆 / 智谱 AI / Kimi 等)和国外公共大模型(OpenAI / Claude / Gemini 等);
- **RAG 检索增强生成**:高效搭建本地 AI 知识库,支持直接上传文档 / 自动爬取在线文档,支持文本自动拆分、向量化,有效减少大模型幻觉,提升问答效果;
- **灵活编排**:内置强大的工作流引擎、函数库和 MCP 工具调用能力,支持编排 AI 工作过程,满足复杂业务场景下的需求;
- **无缝嵌入**:支持零编码快速嵌入到第三方业务系统,让已有系统快速拥有智能问答能力,提高用户满意度。
- **无缝嵌入**:支持零编码快速嵌入到第三方业务系统,让已有系统快速拥有智能问答能力,提高用户满意度;
- **模型中立**:支持对接各种大模型,包括本地私有大模型(DeepSeek R1 / Qwen 3 等)、国内公共大模型(通义千问 / 腾讯混元 / 字节豆包 / 百度千帆 / 智谱 AI / Kimi 等)和国外公共大模型(OpenAI / Claude / Gemini 等)。

MaxKB 三分钟视频介绍:https://www.bilibili.com/video/BV18JypYeEkj/

## 快速开始

```
# Linux 机器
docker run -d --name=maxkb --restart=always -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data -v ~/.python-packages:/opt/maxkb/app/sandbox/python-packages registry.fit2cloud.com/maxkb/maxkb
docker run -d --name=maxkb --restart=always -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data -v ~/.python-packages:/opt/maxkb/app/sandbox/python-packages registry.fit2cloud.com/maxkb/maxkb:v1

# Windows 机器
docker run -d --name=maxkb --restart=always -p 8080:8080 -v C:/maxkb:/var/lib/postgresql/data -v C:/python-packages:/opt/maxkb/app/sandbox/python-packages registry.fit2cloud.com/maxkb/maxkb
docker run -d --name=maxkb --restart=always -p 8080:8080 -v C:/maxkb:/var/lib/postgresql/data -v C:/python-packages:/opt/maxkb/app/sandbox/python-packages registry.fit2cloud.com/maxkb/maxkb:v1

# 用户名: admin
# 密码: MaxKB@123..
```

- 你也可以通过 [1Panel 应用商店](https://apps.fit2cloud.com/1panel) 快速部署 MaxKB;
- 如果是内网环境,推荐使用 [离线安装包](https://community.fit2cloud.com/#/products/maxkb/downloads) 进行安装部署;
- MaxKB 产品版本分为社区版和专业版,详情请参见:[MaxKB 产品版本对比](https://maxkb.cn/pricing.html);
- 如果您需要向团队介绍 MaxKB,可以使用这个 [官方 PPT 材料](https://maxkb.cn/download/introduce-maxkb_202503.pdf)。
- MaxKB 不同产品产品版本的对比请参见:[MaxKB 产品版本对比](https://maxkb.cn/price);
- 如果您需要向团队介绍 MaxKB,可以使用这个 [官方 PPT 材料](https://fit2cloud.com/maxkb/download/introduce-maxkb_202507.pdf)。

如你有更多问题,可以查看使用手册,或者通过论坛与我们交流。

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@

"""


def _write_context(node_variable: Dict, workflow_variable: Dict, node: INode, workflow, answer: str,
reasoning_content: str):
chat_model = node_variable.get('chat_model')
Expand Down Expand Up @@ -102,7 +103,6 @@ def write_context_stream(node_variable: Dict, workflow_variable: Dict, node: INo
_write_context(node_variable, workflow_variable, node, workflow, answer, reasoning_content)



async def _yield_mcp_response(chat_model, message_list, mcp_servers):
async with MultiServerMCPClient(json.loads(mcp_servers)) as client:
agent = create_react_agent(chat_model, client.get_tools())
Expand All @@ -115,6 +115,7 @@ async def _yield_mcp_response(chat_model, message_list, mcp_servers):
if isinstance(chunk[0], AIMessageChunk):
yield chunk[0]


def mcp_response_generator(chat_model, message_list, mcp_servers):
loop = asyncio.new_event_loop()
try:
Expand All @@ -130,6 +131,7 @@ def mcp_response_generator(chat_model, message_list, mcp_servers):
finally:
loop.close()


async def anext_async(agen):
return await agen.__anext__()

Expand Down Expand Up @@ -186,7 +188,9 @@ def save_context(self, details, workflow_manage):
self.context['answer'] = details.get('answer')
self.context['question'] = details.get('question')
self.context['reasoning_content'] = details.get('reasoning_content')
self.answer_text = details.get('answer')
self.context['model_setting'] = details.get('model_setting')
if self.node_params.get('is_result', False):
self.answer_text = details.get('answer')

def execute(self, model_id, system, prompt, dialogue_number, history_chat_record, stream, chat_id, chat_record_id,
model_params_setting=None,
Expand Down Expand Up @@ -216,7 +220,7 @@ def execute(self, model_id, system, prompt, dialogue_number, history_chat_record
message_list = self.generate_message_list(system, prompt, history_message)
self.context['message_list'] = message_list

if mcp_enable and mcp_servers is not None:
if mcp_enable and mcp_servers is not None and '"stdio"' not in mcp_servers:
r = mcp_response_generator(chat_model, message_list, mcp_servers)
return NodeResult(
{'result': r, 'chat_model': chat_model, 'message_list': message_list,
Expand Down Expand Up @@ -271,6 +275,7 @@ def get_details(self, index: int, **kwargs):
"index": index,
'run_time': self.context.get('run_time'),
'system': self.context.get('system'),
'model_setting': self.context.get('model_setting'),
'history_message': [{'content': message.content, 'role': message.type} for message in
(self.context.get('history_message') if self.context.get(
'history_message') is not None else [])],
Expand Down
Loading