diff --git a/main/manager-web/src/views/ParamsManagement.vue b/main/manager-web/src/views/ParamsManagement.vue index 3301bbb5..afb0dc1d 100644 --- a/main/manager-web/src/views/ParamsManagement.vue +++ b/main/manager-web/src/views/ParamsManagement.vue @@ -25,8 +25,19 @@ - + + + + {{ maskSensitiveValue(scope.row.paramValue) + }} + {{ scope.row.paramValue }} + + {{ scope.row.showValue ? '隐藏' : '查看' }} + + + {{ scope.row.paramValue }} + + @@ -100,6 +111,7 @@ export default { dialogVisible: false, dialogTitle: "新增参数", isAllSelected: false, + sensitive_keys: ["api_key", "personal_access_token", "access_token", "token", "secret", "access_key_secret", "secret_key"], paramForm: { id: null, paramCode: "", @@ -152,7 +164,8 @@ export default { if (data.code === 0) { this.paramsList = data.data.list.map(item => ({ ...item, - selected: false + selected: false, + showValue: false })); this.total = data.data.total; } else { @@ -314,7 +327,18 @@ export default { goToPage(page) { this.currentPage = page; this.fetchParams(); - } + }, + isSensitiveParam(paramCode) { + return this.sensitive_keys.some(key => paramCode.toLowerCase().includes(key.toLowerCase())); + }, + maskSensitiveValue(value) { + if (!value) return ''; + if (value.length <= 8) return '****'; + return value.substring(0, 4) + '****' + value.substring(value.length - 4); + }, + toggleSensitiveValue(row) { + this.$set(row, 'showValue', !row.showValue); + }, }, }; diff --git a/main/xiaozhi-server/core/connection.py b/main/xiaozhi-server/core/connection.py index 27b1e0ac..6b503b66 100644 --- a/main/xiaozhi-server/core/connection.py +++ b/main/xiaozhi-server/core/connection.py @@ -1090,6 +1090,7 @@ def filter_sensitive_info(config: dict) -> dict: "personal_access_token", "access_token", "token", + "secret", "access_key_secret", "secret_key", ]