Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
667 commits
Select commit Hold shift + click to select a range
39e82da
refactor: update API handling for MiniMax H3 model and improve parame…
wxg0103 Aug 31, 2026
3b1b028
feat: applicaiton detail
wangdan-fit2cloud Aug 31, 2026
3e13f81
build(deps): bump volcengine-python-sdk from 5.0.44 to 5.0.45
dependabot[bot] Aug 20, 2026
0c2d7b9
build(deps): bump anthropic from 0.121.0 to 0.122.0
dependabot[bot] Aug 20, 2026
abe9025
build(deps): bump xinference-client from 3.1.0 to 3.2.0
dependabot[bot] Aug 20, 2026
a8a0764
build(deps): bump tencentcloud-sdk-python-common from 3.1.155 to 3.1.157
dependabot[bot] Aug 20, 2026
c0a6193
chore: update boto3 dependency to version 1.43.72
liuruibin Sep 1, 2026
2c56367
chore: update boto3 dependency to version 1.43.83
liuruibin Sep 1, 2026
036900b
fix: intent node write context
wangdan-fit2cloud Sep 1, 2026
42bf237
feat: create application
wangdan-fit2cloud Sep 1, 2026
86162b8
feat: intent node
hexiaonan-800 Sep 1, 2026
4a710d2
refactor: remove TencentCloudModelProvider from model provider constants
wxg0103 Sep 1, 2026
c8b79d9
feat: application
wangdan-fit2cloud Sep 1, 2026
6801f84
feat: condition node
peslyn Sep 1, 2026
98f8ec7
fix: global variable reference failed
hexiaonan-800 Sep 1, 2026
3a55c3e
feat: enhance user import functionality with file upload support and …
wxg0103 Sep 1, 2026
e2ff5aa
feat: text to speech node
hexiaonan-800 Sep 1, 2026
cbf9d82
refactor: update Tencent icon SVG and rename provider to Tencent Cloud
wxg0103 Sep 1, 2026
e33a1fb
feat: workflow
wangdan-fit2cloud Sep 1, 2026
e72a471
feat: question node
hexiaonan-800 Sep 2, 2026
d07ccdb
fix: refactor sheet row handling and add utility for iterating rows
liuruibin Aug 12, 2026
30b0f77
feat: extend get_app_mcp_config to include form_data and add placehol…
liuruibin Sep 1, 2026
0d6b31e
fix: enhance form data retrieval and decoding in base_chat_node.py an…
liuruibin Sep 1, 2026
8d6bd1e
fix: collapse repeated full-text negations
ump45nose Aug 11, 2026
c03c97a
fix: show tool execution source
Iams4kura Aug 12, 2026
77861d8
security: fix dlopen bypass.
liqiang-fit2cloud Aug 18, 2026
dbb397e
deps: upgrade postgres from 17.10 to 17.11.
liqiang-fit2cloud Aug 18, 2026
749dbef
security: ban fexecve.
liqiang-fit2cloud Aug 24, 2026
077e988
Update security policy and reporting instructions
liqiang-fit2cloud Aug 26, 2026
ffd5914
fix: normalize vLLM Whisper API base URL (#6791)
ump45nose Aug 28, 2026
e2f39ed
fix: strip embedded markup before text conversion (#6751)
ump45nose Aug 28, 2026
a2f870c
feat: image generate node
hexiaonan-800 Sep 2, 2026
94aea58
refactor: improve code formatting and enhance XLSX validation logic
wxg0103 Sep 2, 2026
33fd899
feat: image understand node
hexiaonan-800 Sep 2, 2026
b5a15f0
feat: speech to text node
hexiaonan-800 Sep 2, 2026
78da7cb
chore: update dependencies to latest versions in pyproject.toml
liuruibin Sep 2, 2026
3422c94
refactor: update model invocation to use a constant input and enhance…
wxg0103 Sep 2, 2026
e210441
feat: form node
peslyn Sep 2, 2026
88475b7
feat: Delete the simple application execution process and unify the u…
shaohuzhang1 Sep 2, 2026
e2e29f2
feat: node wrapper
wangdan-fit2cloud Sep 2, 2026
86ecea8
feat: workflow
wangdan-fit2cloud Sep 2, 2026
025b4b6
feat: text to video node
hexiaonan-800 Sep 2, 2026
faa978c
feat: workflow
wangdan-fit2cloud Sep 2, 2026
0867f65
fix: Form submission cannot have a conversation (#6874)
shaohuzhang1 Sep 2, 2026
1fff3e0
feat: workflow
wangdan-fit2cloud Sep 2, 2026
f06f31d
feat: parameter extraction node
peslyn Sep 3, 2026
4d44287
feat: add permission checks for workspace and role management operations
wxg0103 Sep 3, 2026
4e72204
feat: workflow menu
wangdan-fit2cloud Sep 3, 2026
3f53b8b
fix: tool list error
wangdan-fit2cloud Sep 3, 2026
3b08eeb
fix: folder style
wangdan-fit2cloud Sep 3, 2026
1291de0
feat: Add Tool Library Node (#6883)
shaohuzhang1 Sep 3, 2026
1c0c6d4
feat: Add Tool Node (#6885)
shaohuzhang1 Sep 3, 2026
960c65f
feat: enhance multimodal embedding support and refactor embedding logic
wxg0103 Sep 3, 2026
54ba666
feat: add image input normalization and enhance embedding logic for i…
wxg0103 Sep 3, 2026
f057cf1
feat: start node
wangdan-fit2cloud Sep 3, 2026
5b8135b
feat: New Tool Workflow Start Node (#6888)
shaohuzhang1 Sep 3, 2026
89f9217
feat: Add a new tool workflow execution node (#6889)
shaohuzhang1 Sep 3, 2026
a165d06
feat: migrate variable assign node
peslyn Sep 3, 2026
d8c746c
feat: variable assign node
peslyn Sep 3, 2026
d3b0d0e
feat: tool workflow
wangdan-fit2cloud Sep 3, 2026
d7630a8
build(deps): bump pypdf from 6.15.0 to 6.16.2
dependabot[bot] Sep 3, 2026
3ec31c3
build(deps): bump dashscope from 1.26.7 to 1.27.2
dependabot[bot] Sep 3, 2026
a847c56
build(deps): bump gunicorn from 26.0.0 to 26.2.0
dependabot[bot] Sep 3, 2026
f7ef6aa
build(deps): bump sentence-transformers from 5.7.0 to 6.0.1
dependabot[bot] Sep 3, 2026
23a4067
refactor: remove processor version references from document handling
liuruibin Sep 3, 2026
762357e
feat: application node
hexiaonan-800 Sep 4, 2026
393e8df
feat: workflow details
hexiaonan-800 Sep 4, 2026
a14f427
feat: markdown editor
wangdan-fit2cloud Sep 4, 2026
402662a
feat: add node tip
wangdan-fit2cloud Sep 4, 2026
c8f35d7
chore: remove anthropic dependency from pyproject.toml
liuruibin Sep 4, 2026
228a5e4
feat: migrate variable aggregation node
peslyn Sep 4, 2026
f447c13
feat: variable aggregation node
peslyn Sep 4, 2026
9fbc0d8
feat: Tool Workflow Start Node (#6905)
shaohuzhang1 Sep 4, 2026
c5ae19d
feat: Basic nodes of tool workflow (#6906)
shaohuzhang1 Sep 4, 2026
13b4e1d
feat: reply node
wangdan-fit2cloud Sep 4, 2026
f453354
fix: loop node position get value
hexiaonan-800 Sep 4, 2026
2bc68c1
feat: migrate variable splitting node
peslyn Sep 4, 2026
644d2bc
feat: variable splitting node
peslyn Sep 4, 2026
d34f6ae
chore: set MAXKB_SECRET_KEY environment variable if not already set
liuruibin Sep 4, 2026
412c0a5
feat: workflow
wangdan-fit2cloud Sep 4, 2026
88e2db7
feat: Tool workflow node (#6913)
shaohuzhang1 Sep 4, 2026
af8c50a
feat: default mode
wangdan-fit2cloud Sep 4, 2026
3a4b075
feat: intent node
wangdan-fit2cloud Sep 5, 2026
78a51fc
feat: ai node
wangdan-fit2cloud Sep 5, 2026
5c6a7e9
feat: base node
wangdan-fit2cloud Sep 5, 2026
625ff17
feat: form part
wangdan-fit2cloud Sep 6, 2026
45a4e92
feat: varable assign
wangdan-fit2cloud Sep 6, 2026
7a82b7d
feat: variable-aggregation-node
wangdan-fit2cloud Sep 6, 2026
ede97dc
feat: parameter-extraction
wangdan-fit2cloud Sep 6, 2026
cc2247f
feat: form node
wangdan-fit2cloud Sep 6, 2026
fd5998c
feat: base node
wangdan-fit2cloud Sep 6, 2026
07959e1
feat: application node
wangdan-fit2cloud Sep 7, 2026
08876b1
fix: ensure permissions are not None before checking their scopes
wxg0103 Sep 7, 2026
4b811ea
feat: base
wangdan-fit2cloud Sep 7, 2026
2761fc2
feat: implement batch add tag functionality and enhance document spli…
liuruibin Sep 4, 2026
afb078d
feat: loop node
hexiaonan-800 Sep 7, 2026
ab61c5c
fix: loop node iteration details error
hexiaonan-800 Sep 7, 2026
a021662
fix: The dynamic form model list in the workflow cannot obtain data (…
shaohuzhang1 Sep 7, 2026
8c18b68
refactor: enable sandbox by default in source code.
liqiang-fit2cloud Sep 7, 2026
6128801
fix: improve tool record validation in tool.py
liuruibin Sep 7, 2026
1d6ed14
feat: enhance role management with improved permission structure and …
wxg0103 Sep 7, 2026
2419fd8
feat: mcp node
peslyn Sep 7, 2026
4b6ca5d
feat: enhance user member retrieval with nickname filtering and limit…
wxg0103 Sep 7, 2026
a4246ba
fix: Permission authentication error (#6946)
shaohuzhang1 Sep 7, 2026
8fda9ee
feat: tool workflow lib node details
hexiaonan-800 Sep 7, 2026
f2d1184
feat: improve code readability by standardizing string quotes and ref…
wxg0103 Sep 7, 2026
d046486
fix: Permission authentication error (#6951)
shaohuzhang1 Sep 7, 2026
a158099
feat: search-knowledge
wangdan-fit2cloud Sep 7, 2026
2df6f5b
feat: tool
wangdan-fit2cloud Sep 8, 2026
0d540ee
feat: node
wangdan-fit2cloud Sep 8, 2026
d9cb533
feat: mcp
wangdan-fit2cloud Sep 8, 2026
88313cf
feat: add video_understand_node.py
hexiaonan-800 Sep 8, 2026
6c8d91c
refactor: enhance portal application settings retrieval and improve c…
wxg0103 Sep 8, 2026
e35c899
feat: tool node
wangdan-fit2cloud Sep 8, 2026
51fb9ca
fix: perform JSON serialization in search document node
peslyn Sep 8, 2026
4f4c2f0
feat: search document node
peslyn Sep 8, 2026
48fff67
feat: Workflow Execution Details Architecture (#6967)
shaohuzhang1 Sep 8, 2026
aff8e16
feat: loop
wangdan-fit2cloud Sep 8, 2026
2b938e6
feat: loop body
wangdan-fit2cloud Sep 8, 2026
54763a7
fix: loop variable
hexiaonan-800 Sep 8, 2026
d40e05a
feat: loop
wangdan-fit2cloud Sep 8, 2026
e308645
feat: loop
wangdan-fit2cloud Sep 8, 2026
449639a
feat: think
wangdan-fit2cloud Sep 8, 2026
e8ca1a9
feat: chechbox
wangdan-fit2cloud Sep 8, 2026
22dd641
feat: components
wangdan-fit2cloud Sep 8, 2026
5bfac94
fix: set default scope parameter to WORKSPACE in tool retrieval
liuruibin Sep 9, 2026
c8928d8
chore: update community and xpack identifiers to latest revisions
liuruibin Sep 9, 2026
921f11d
feat: resource auth
wangdan-fit2cloud Sep 9, 2026
d6822ab
fix: add type ignore comments for tags in API endpoints
liuruibin Sep 9, 2026
3d49196
feat: add user group resource permission endpoints for improved autho…
wxg0103 Sep 9, 2026
ba98cf9
feat: nodes
wangdan-fit2cloud Sep 9, 2026
61f1a3d
fix: Failed to retrieve the conversation history (#6978)
shaohuzhang1 Sep 9, 2026
1d2c2ad
feat: workflow execution details for all nodes
peslyn Sep 9, 2026
56f2977
fix: Optimization of dialogue flow information writing logic (#6981)
shaohuzhang1 Sep 9, 2026
4092955
feat: add batch member removal functionality for role management
wxg0103 Sep 9, 2026
e2e55fa
feat: resource auth
wangdan-fit2cloud Sep 9, 2026
6289251
fix: remove duplicate rowKey attribute in RoleMemberList component
wxg0103 Sep 9, 2026
9dc63b6
feat: Extracting common context conversion tools (#6985)
shaohuzhang1 Sep 9, 2026
5294416
feat: history message
hexiaonan-800 Sep 9, 2026
063fa47
feat: DynamicForm
wangdan-fit2cloud Sep 9, 2026
cdd8321
feat: tree
wangdan-fit2cloud Sep 9, 2026
31ddc48
feat: api
wangdan-fit2cloud Sep 10, 2026
c479b5b
fix: The form carried in the loop node cannot retrieve historical dat…
shaohuzhang1 Sep 10, 2026
10f9fb9
feat: New workflow engine is used for tool workflow (#6992)
shaohuzhang1 Sep 10, 2026
c6b75e0
fix: Internal errors within the loop node cannot propagate to the out…
shaohuzhang1 Sep 10, 2026
78105bd
feat: default model setting
hexiaonan-800 Sep 10, 2026
f28f0f1
feat: node support default model setting
hexiaonan-800 Sep 10, 2026
013d937
fix: Nodes within the loop display the default model
hexiaonan-800 Sep 10, 2026
6967585
feat: note
wangdan-fit2cloud Sep 10, 2026
62ff228
feat: related resource
wangdan-fit2cloud Sep 10, 2026
1e22088
feat: related resource
wangdan-fit2cloud Sep 10, 2026
ecc7353
refactor: refactor permission handling to utilize PermissionConstants…
wxg0103 Sep 10, 2026
645374b
feat: long term
wangdan-fit2cloud Sep 10, 2026
53b9d77
feat: tool workflow default model setting
hexiaonan-800 Sep 10, 2026
3ddc311
feat: Optimize interface authentication logic (#7005)
shaohuzhang1 Sep 10, 2026
75e483d
refactor: refactor token handling in authentication views for consist…
wxg0103 Sep 11, 2026
77eed83
feat: tool node
wangdan-fit2cloud Sep 11, 2026
7495503
feat: knowledge workflow
wangdan-fit2cloud Sep 11, 2026
a4008ff
feat: router
wangdan-fit2cloud Sep 11, 2026
5bb8384
feat: implement forgot password functionality with email verification…
wxg0103 Sep 11, 2026
6e3e0f4
fix: layout
wangdan-fit2cloud Sep 11, 2026
6687bdd
fix: Replace randomUUID with uuidv4
hexiaonan-800 Sep 11, 2026
d42da32
fix: Replace randomUUID with uuidv4
hexiaonan-800 Sep 11, 2026
76887cf
feat: trigger
wangdan-fit2cloud Sep 11, 2026
f3cb0b0
feat: The knowledge base workflow uses a new workflow engine (#7020)
shaohuzhang1 Sep 11, 2026
95da1de
feat: trigger
wangdan-fit2cloud Sep 12, 2026
022598b
feat: add Qianfan model provider implementation with various model cr…
wxg0103 Sep 14, 2026
7befb28
fix: update icon file reference in qianfan model provider
wxg0103 Sep 14, 2026
7cabdec
feat: select model list
wangdan-fit2cloud Sep 14, 2026
ee06e8b
feat: create knowledge
wangdan-fit2cloud Sep 14, 2026
f156285
refactor: streamline captcha validation and login failure handling ac…
wxg0103 Sep 14, 2026
d1479cc
feat: knowledge
wangdan-fit2cloud Sep 14, 2026
955c0e7
refactor: replace MultiServerMCPClient with create_mcp_client and upd…
liuruibin Sep 14, 2026
5d299c6
feat: tool edit
wangdan-fit2cloud Sep 14, 2026
79e6942
fix: Missing detail aggregator (#7042)
shaohuzhang1 Sep 14, 2026
e9d8407
feat: AI node removes dependency on the old engine. (#7043)
shaohuzhang1 Sep 14, 2026
dff96c9
chore: remove unused network validation and related code from MCP mod…
liuruibin Sep 15, 2026
f3b4db2
feat: implement SandboxMCPBackend for isolated worker support
liuruibin Sep 15, 2026
46bd97f
chore: enhance sandbox MCP backend with remote connection support
liuruibin Sep 15, 2026
1b1a1bd
feat: update TTS API integration with new parameters and default values
wxg0103 Sep 15, 2026
90d1f65
feat: template
wangdan-fit2cloud Sep 15, 2026
b953bc1
feat: Optimize the logic for AI nodes invoking agents. (#7052)
shaohuzhang1 Sep 15, 2026
060639a
chore: add MiniMax H3 model parameters and credentials for enhanced v…
wxg0103 Sep 16, 2026
d8ace2d
fix: The frontend form node did not render any content. (#7060)
shaohuzhang1 Sep 16, 2026
44d4101
feat: Completely clear out the old workflow engine. (#7063)
shaohuzhang1 Sep 16, 2026
5780d29
feat: knowledge workflow default model setting
hexiaonan-800 Sep 16, 2026
5fa1843
fix: The form node appears twice in the conversation history. (#7065)
shaohuzhang1 Sep 16, 2026
75d0892
feat: application workflow
wangdan-fit2cloud Sep 16, 2026
47b5edd
feat: data source web node
peslyn Sep 16, 2026
8918dc8
feat: data source web node
peslyn Sep 16, 2026
2ec619c
feat: application publish content
hexiaonan-800 Sep 16, 2026
b85a2e2
feat: workflow
wangdan-fit2cloud Sep 16, 2026
80f1a79
feat: conversation
wangdan-fit2cloud Sep 16, 2026
9b602fe
feat: public
wangdan-fit2cloud Sep 16, 2026
d28d91f
chore: update dependencies in pyproject.toml to latest versions
liuruibin Sep 17, 2026
a9b41f2
feat: UI permissions (#7079)
shaohuzhang1 Sep 17, 2026
8bc6798
refactor: improve user role retrieval logic in user.py for clarity an…
wxg0103 Sep 17, 2026
dde69e1
fix: UI permissions (#7082)
shaohuzhang1 Sep 17, 2026
2e44cee
chore: update agent name format and revise community and xpack identi…
liuruibin Sep 17, 2026
8f00b12
feat: UI Tool Debugging (#7083)
shaohuzhang1 Sep 17, 2026
85d7c1a
feat: home
wangdan-fit2cloud Sep 17, 2026
d4d8397
feat: tool result
wangdan-fit2cloud Sep 17, 2026
d90898e
fix: base node bug
wangdan-fit2cloud Sep 18, 2026
430f62e
chore: remove unnecessary EXPOSE directives from Dockerfile-base
liuruibin Sep 18, 2026
c8bcd73
feat: conversation api
wangdan-fit2cloud Sep 18, 2026
92316e3
feat: Prompt Generate (#7089)
shaohuzhang1 Sep 18, 2026
533ac83
feat: Prompt Generate (#7090)
shaohuzhang1 Sep 18, 2026
2def0e6
feat: folder sort
wangdan-fit2cloud Sep 18, 2026
dcec864
fix(knowledge): improve validation error message for non-Web knowledg…
liuruibin Sep 18, 2026
4c21b28
feat: ExecutionDetail
wangdan-fit2cloud Sep 18, 2026
a5e9d51
feat: trigger
wangdan-fit2cloud Sep 19, 2026
63b5c54
feat: tool trigger
wangdan-fit2cloud Sep 19, 2026
fe2a3cd
feat: trigger application
wangdan-fit2cloud Sep 19, 2026
c4bd84e
feat: Optimize application workflow publish validation
hexiaonan-800 Sep 20, 2026
be00c58
refactor: make nickname field optional in chat user serializer
wxg0103 Sep 20, 2026
2900511
feat: Application model validation
hexiaonan-800 Sep 20, 2026
0e24f3e
feat: Modify trigger permissions to the new system
hexiaonan-800 Sep 20, 2026
2e3ce3d
fix: Permission control for backend system menus
peslyn Sep 20, 2026
052547c
feat: Permission gating for system menus
peslyn Sep 20, 2026
1249f90
feat: tool lib validation
hexiaonan-800 Sep 20, 2026
ec3f00b
feat: application node validation
hexiaonan-800 Sep 20, 2026
a12212b
chore: add DATA_UPLOAD_MAX_MEMORY_SIZE configuration for JSON import
liuruibin Sep 20, 2026
3204563
feat: workflow knowledge
wangdan-fit2cloud Sep 20, 2026
ef338e0
chore: rename dir name
liuruibin Sep 20, 2026
16c4b84
chore: refactor handle_pdf_content to include save_image functionalit…
liuruibin Sep 20, 2026
62fc43c
chore: refactor tool icon handling and add download functionality
liuruibin Sep 20, 2026
03cae14
chore: refactor file deletion logic and implement S3 cleanup after da…
liuruibin Sep 20, 2026
71f2424
refactor: optimize chat record cleanup with pagination and add unit t…
liuruibin Sep 20, 2026
b8f8be7
feat: implement token quota management and integrate portal app
wxg0103 Sep 20, 2026
7f4e6e7
fix: chat_user_auth_read permissions and group
peslyn Sep 20, 2026
9ccdd81
fix: chat_user_auth permission structure
peslyn Sep 20, 2026
ac08f5f
feat: AI Chat Interface Optimization (#7113)
shaohuzhang1 Sep 20, 2026
25d5a25
feat: style rules‌
wangdan-fit2cloud Sep 20, 2026
3c99bb5
feat: portal
wangdan-fit2cloud Sep 20, 2026
5b00ffe
feat: portal
wangdan-fit2cloud Sep 21, 2026
7349550
feat: add knowledge-level tokenization tasks and API
liuruibin Sep 21, 2026
64c5842
fix: file bug
wangdan-fit2cloud Sep 21, 2026
3e87e14
refactor: restructure user role workspace mapping for improved clarity
wxg0103 Sep 21, 2026
68049cd
fix: user manage
wangdan-fit2cloud Sep 21, 2026
94f0973
feat: implement external retrieval service for knowledge base with co…
liuruibin Sep 21, 2026
b8fc704
fix: update role property reference in UserListView component
wxg0103 Sep 21, 2026
0fbafaa
chore: reorganize URL patterns for improved readability and maintaina…
liuruibin Sep 21, 2026
a7117f9
chore: reorder external service path in URL patterns for consistency
liuruibin Sep 21, 2026
93416e9
feat: system menu permission annotations
peslyn Sep 21, 2026
4d2e706
refactor: enhance token generation for portal users using ChatToken
wxg0103 Sep 21, 2026
de2f741
fix: change knowledge_id parameter type from uuid to str in URLs
liuruibin Sep 21, 2026
50e178b
feat: portal
wangdan-fit2cloud Sep 21, 2026
7f0a70c
feat: Optimize loop iterations by caching template compilation
hexiaonan-800 Sep 21, 2026
3f39826
fix: forget password validate code display
fit2cloudwxx Sep 21, 2026
53d79e9
feat: update portal settings to remove tab logo and enhance CORS conf…
wxg0103 Sep 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 0 additions & 9 deletions .github/dependabot.yml

This file was deleted.

16 changes: 8 additions & 8 deletions .github/workflows/build-and-push-python-pg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ on:
workflow_dispatch:
inputs:
architecture:
description: 'Architecture'
description: "Architecture"
required: true
default: 'linux/amd64'
default: "linux/amd64"
type: choice
options:
- linux/amd64
Expand All @@ -25,15 +25,15 @@ jobs:
run: |
DOCKER_IMAGE=ghcr.io/1panel-dev/maxkb-base
DOCKER_PLATFORMS=${{ github.event.inputs.architecture }}
TAG_NAME=python3.11-pg17.10-20260525
TAG_NAME=python3.13-pg17.11-20260902
DOCKER_IMAGE_TAGS="--tag ${DOCKER_IMAGE}:${TAG_NAME}"
echo ::set-output name=docker_image::${DOCKER_IMAGE}
echo ::set-output name=version::${TAG_NAME}
echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} --no-cache \
echo "docker_image=${DOCKER_IMAGE}" >> $GITHUB_OUTPUT
echo "version=${TAG_NAME}" >> $GITHUB_OUTPUT
echo "buildx_args=--platform ${DOCKER_PLATFORMS} --no-cache \
--build-arg VERSION=${TAG_NAME} \
--build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
--build-arg VCS_REF=${GITHUB_SHA::8} \
${DOCKER_IMAGE_TAGS} .
${DOCKER_IMAGE_TAGS} ." >> $GITHUB_OUTPUT
- name: Set up QEMU
uses: docker/setup-qemu-action@v4
with:
Expand All @@ -48,4 +48,4 @@ jobs:
password: ${{ secrets.GH_TOKEN }}
- name: Docker Buildx (build-and-push)
run: |
docker buildx build --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} -f installer/Dockerfile-base
docker buildx build --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} -f installer/Dockerfile-base
18 changes: 9 additions & 9 deletions .github/workflows/build-and-push-vector-model.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ on:
workflow_dispatch:
inputs:
dockerImageTag:
description: 'Docker Image Tag'
default: 'v2.0.3'
description: "Docker Image Tag"
default: "v2.0.3"
required: true
architecture:
description: 'Architecture'
description: "Architecture"
required: true
default: 'linux/amd64'
default: "linux/amd64"
type: choice
options:
- linux/amd64
Expand All @@ -32,13 +32,13 @@ jobs:
DOCKER_PLATFORMS=${{ github.event.inputs.architecture }}
TAG_NAME=${{ github.event.inputs.dockerImageTag }}
DOCKER_IMAGE_TAGS="--tag ${DOCKER_IMAGE}:${TAG_NAME} --tag ${DOCKER_IMAGE}:latest"
echo ::set-output name=docker_image::${DOCKER_IMAGE}
echo ::set-output name=version::${TAG_NAME}
echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} --no-cache \
echo "docker_image=${DOCKER_IMAGE}" >> $GITHUB_OUTPUT
echo "version=${TAG_NAME}" >> $GITHUB_OUTPUT
echo "buildx_args=--platform ${DOCKER_PLATFORMS} --no-cache \
--build-arg VERSION=${TAG_NAME} \
--build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
--build-arg VCS_REF=${GITHUB_SHA::8} \
${DOCKER_IMAGE_TAGS} .
${DOCKER_IMAGE_TAGS} ." >> $GITHUB_OUTPUT
- name: Set up QEMU
uses: docker/setup-qemu-action@v4
with:
Expand All @@ -53,4 +53,4 @@ jobs:
password: ${{ secrets.GH_TOKEN }}
- name: Docker Buildx (build-and-push)
run: |
docker buildx build --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} -f installer/Dockerfile-vector-model
docker buildx build --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} -f installer/Dockerfile-vector-model
2 changes: 1 addition & 1 deletion .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: 'v2.10.0-dev'
default: 'v3.0.0-dev'
required: true
dockerImageTagWithLatest:
description: '是否发布latest tag(正式发版时选择,测试版本切勿选择)'
Expand Down
47 changes: 47 additions & 0 deletions .github/workflows/python-format-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Python Format Check

on:
pull_request:
types: [opened, reopened]

jobs:
pre-commit:
name: Ruff format changed files
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.13"

- name: Install pre-commit
run: python -m pip install pre-commit==4.6.1

- name: Check changed files
env:
BASE_SHA: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || github.event.before }}
HEAD_SHA: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}
DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
run: |
if ! git cat-file -e "${BASE_SHA}^{commit}" 2>/dev/null; then
if git show-ref --verify --quiet "refs/remotes/origin/${DEFAULT_BRANCH}"; then
BASE_SHA=$(git merge-base "$HEAD_SHA" "origin/${DEFAULT_BRANCH}")
elif git cat-file -e "${HEAD_SHA}^" 2>/dev/null; then
BASE_SHA=$(git rev-parse "${HEAD_SHA}^")
else
pre-commit run --all-files
git diff --cached --exit-code
exit 0
fi
fi

pre-commit run --from-ref "$BASE_SHA" --to-ref "$HEAD_SHA"

# The local hook formats and stages files. A clean index proves that
# every changed Python file was already formatted before CI ran.
git diff --cached --exit-code
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

# VS Code
.vscode
.claude/
.codex/
*.project
*.factorypath

Expand Down Expand Up @@ -190,4 +192,5 @@ apps/models_provider/impl/tencent_model_provider/model/stt.py
tmp/
config.yml
.SANDBOX_BANNED_HOSTS
copilot-instructions.md
copilot-instructions.md
.ai/
8 changes: 8 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.21
hooks:
- id: ruff-format
name: ruff format and stage
entry: bash -c 'ruff format "$@" && git add -- "$@"' --
require_serial: true
123 changes: 123 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# MaxKB-v3

MaxKB (Max Knowledge Brain) is an open-source platform for building enterprise AI agents with RAG pipelines, agentic workflows, and MCP tool-use capabilities.

## Agent Instructions

- This file is the shared source of repository instructions for all coding agents.
- For changes under `ui/`, read and follow `ui/AGENTS.md` before editing or reviewing frontend code.
- Keep tool-specific entry files such as `CLAUDE.md` small; shared project rules belong here or in the applicable nested `AGENTS.md`.

## Tech Stack

**Backend:** Python 3.13, Django 6.0, Django REST Framework, LangChain 1.3, LangGraph 1.2, Celery 5.6, uv (package manager)

**Frontend:** Vue 3.5, TypeScript, Vite 8, Element Plus, Pinia, Vue Router

**Infrastructure:** PostgreSQL 17.10 + pgvector, Redis 7

## Project Structure

```
apps/ # Django backend
application/ # AI agents & applications
knowledge/ # Knowledge base & document management
chat/ # Chat functionality & MCP integration
models_provider/ # LLM provider integrations (OpenAI, Anthropic, etc.)
common/ # Shared utilities, auth, caching, chunking
maxkb/ # Django settings, URL routing, config
ops/ # Celery task queue configuration
users/ # User management
tools/ # Tool/function management
ui/ # Vue.js frontend
src/
api/ # API client services
views/ # Page views
components/ # Vue components
workflow/ # Workflow UI
installer/ # Docker build scripts and startup scripts
main.py # Application entry point
```

## Development Setup

### Backend

```bash
# Install dependencies (requires Python 3.13)
python -m uv pip install -r pyproject.toml

# Run database migrations
cd apps && python manage.py migrate

# Start dev server
python main.py dev
# or: cd apps && python manage.py runserver 0.0.0.0:8080
```

### Frontend

```bash
cd ui
npm install
npm run dev # dev server with hot reload
npm run build # production build
npm run type-check # TypeScript check
npm run lint # ESLint
npm run format # Prettier
```

### Service Management

```bash
python main.py start all -d # start all services (web + celery)
python main.py start web -d # web only
python main.py start task -d # celery worker
python main.py start local_model -d # local model service
```

### Docker

```bash
docker build -f installer/Dockerfile -t maxkb:latest .
```

## Configuration

Key environment variables (see `.env`):

| Variable | Description |
| ------------------------------------------------------- | ---------------------- |
| `MAXKB_DB_HOST` / `MAXKB_DB_PORT` | PostgreSQL connection |
| `MAXKB_DB_NAME` / `MAXKB_DB_USER` / `MAXKB_DB_PASSWORD` | PostgreSQL credentials |
| `MAXKB_REDIS_HOST` / `MAXKB_REDIS_PORT` | Redis connection |

Settings files:

- `apps/maxkb/conf.py` — main config manager (reads env vars)
- `apps/maxkb/settings/base/web.py` — Django settings
- `apps/maxkb/settings/lib.py` — Celery/Redis settings

## Testing

```bash
cd apps && python manage.py test
```

## Code Style

- Python: Ruff linter, line length 120 (`pyproject.toml`)
- TypeScript/Vue: ESLint + Prettier (`ui/`)
- Migrations in `apps/*/migrations/`

## Key Concepts

- **Knowledge Base**: Documents are chunked, embedded, and stored in PostgreSQL with pgvector for semantic search.
- **Applications/Agents**: Built on top of knowledge bases; support workflow-based and RAG-based configurations.
- **Models Provider**: Abstraction layer in `apps/models_provider/` supporting 10+ LLM providers via LangChain.
- **MCP**: Model Context Protocol tools integrated via `langchain-mcp-adapters` in `apps/chat/mcp/`.
- **Task Queue**: Heavy document processing runs async via Celery workers.

## Internationalization

Translations in `apps/locales/` (zh_CN, en_US, zh_Hant) and `ui/src/locales/`.
3 changes: 3 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@AGENTS.md

<!-- Shared repository instructions live in AGENTS.md. -->
14 changes: 13 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,18 @@ This [development guideline](https://github.com/1Panel-dev/MaxKB/wiki/3-%E5%BC%8

Note: If you split your pull request to small changes, please make sure any of the changes goes to master will not break anything. Otherwise, it can not be merged until this feature complete.

## Code formatting

This project uses [pre-commit](https://pre-commit.com/) and Ruff to format Python code. After cloning the repository and setting up the development environment, install the Git hook once:

```bash
uv sync --group dev
uv run pre-commit install --install-hooks
```


The hook runs automatically on each `git commit` and stages files changed by the formatter. The same check also runs in CI for every pull request, so all formatting changes must be committed before the pull request can be merged.

## Report issues
It is a great way to contribute by reporting an issue. Well-written and complete bug reports are always welcome! Please open an issue and follow the template to fill in required information.

Expand All @@ -27,4 +39,4 @@ When reporting issues, always include:
* Snapshots or log files if needed

Because the issues are open to the public, when submitting files, be sure to remove any sensitive information, e.g. user name, password, IP address, and company name. You can
replace those parts with "REDACTED" or other strings like "****".
replace those parts with "REDACTED" or other strings like "****".
4 changes: 0 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,6 @@ Access MaxKB web interface at `http://your_server_ip:8080` with default admin cr
- LLM Framework:[LangChain](https://www.langchain.com/)
- Database:[PostgreSQL + pgvector](https://www.postgresql.org/)

## Star History

[![Star History Chart](https://api.star-history.com/svg?repos=1Panel-dev/MaxKB&type=Date)](https://star-history.com/#1Panel-dev/MaxKB&Date)

## License

Licensed under The GNU General Public License version 3 (GPLv3) (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Expand Down
2 changes: 1 addition & 1 deletion README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<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>
</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="README.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?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>
Expand Down
12 changes: 5 additions & 7 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
# 安全说明

如果您发现安全问题,请直接联系我们:
如果您发现安全问题,请[提交给我们](https://github.com/1Panel-dev/MaxKB/security/advisories/new)。

- support@fit2cloud.com
- 400-052-0755
谢绝只有静态代码分析,未经完整PoC验证的安全建议。

感谢您的支持!

# Security Policy

All security bugs should be reported to the contact as below:
Any security issue please [submit a vulnerability report](https://github.com/1Panel-dev/MaxKB/security/advisories/new).

- support@fit2cloud.com
- 400-052-0755
We do not accept security recommendations based solely on static code analysis without complete PoC validation.

Thanks for your support!
Thanks for your support!
Loading
Loading