Merge remote-tracking branch 'origin/main'
# Conflicts: # .idea/workspace.xml
This commit is contained in:
Generated
+4
@@ -0,0 +1,4 @@
|
|||||||
|
<changelist name="在进行更新之前于_2026_9_1_01_18_取消提交了更改_[更改]" date="1788196719138" recycled="true" deleted="true">
|
||||||
|
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/在进行更新之前于_2026_9_1_01_18_取消提交了更改_[更改]/shelved.patch" />
|
||||||
|
<option name="DESCRIPTION" value="在进行更新之前于 2026/9/1 01:18 取消提交了更改 [更改]" />
|
||||||
|
</changelist>
|
||||||
File diff suppressed because one or more lines are too long
Generated
+89
-45
@@ -4,7 +4,9 @@
|
|||||||
<option name="autoReloadType" value="ALL" />
|
<option name="autoReloadType" value="ALL" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="ae3fb6a0-aca4-4c0a-858b-91952e6dcdd3" name="更改" comment="update 26.8.31">
|
<list default="true" id="ae3fb6a0-aca4-4c0a-858b-91952e6dcdd3" name="更改" comment="update 26.8.30">
|
||||||
|
<change afterPath="$PROJECT_DIR$/480T/Mem0/.env" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/480T/Mem0/docker-compose.yaml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/shelf/_2026_8_25_09_09____.xml" beforeDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/shelf/_2026_8_25_09_09____.xml" beforeDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/shelf/在进行更新之前于_2026_8_25_09_09_取消提交了更改_[更改]/shelved.patch" beforeDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/shelf/在进行更新之前于_2026_8_25_09_09_取消提交了更改_[更改]/shelved.patch" beforeDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/vcs.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/vcs.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
|
||||||
@@ -36,34 +38,41 @@
|
|||||||
"fromUser": false
|
"fromUser": false
|
||||||
}</component>
|
}</component>
|
||||||
<component name="ProjectId" id="3H46bMJcHkyVuOl0gvBGV4kmqAO" />
|
<component name="ProjectId" id="3H46bMJcHkyVuOl0gvBGV4kmqAO" />
|
||||||
|
<component name="ProjectLevelVcsManager">
|
||||||
|
<ConfirmationsSetting value="2" id="Add" />
|
||||||
|
</component>
|
||||||
<component name="ProjectViewState">
|
<component name="ProjectViewState">
|
||||||
<option name="hideEmptyMiddlePackages" value="true" />
|
<option name="hideEmptyMiddlePackages" value="true" />
|
||||||
<option name="showLibraryContents" value="true" />
|
<option name="showLibraryContents" value="true" />
|
||||||
</component>
|
</component>
|
||||||
<component name="PropertiesComponent">{
|
<component name="PropertiesComponent"><![CDATA[{
|
||||||
"keyToString": {
|
"keyToString": {
|
||||||
"ASKED_SHARE_PROJECT_CONFIGURATION_FILES": "true",
|
"ASKED_SHARE_PROJECT_CONFIGURATION_FILES": "true",
|
||||||
"ModuleVcsDetector.initialDetectionPerformed": "true",
|
"ModuleVcsDetector.initialDetectionPerformed": "true",
|
||||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||||
"RunOnceActivity.git.unshallow": "true",
|
"RunOnceActivity.git.unshallow": "true",
|
||||||
"RunOnceActivity.typescript.service.memoryLimit.init": "true",
|
"RunOnceActivity.typescript.service.memoryLimit.init": "true",
|
||||||
"SHARE_PROJECT_CONFIGURATION_FILES": "true",
|
"codeWithMe.voiceChat.enabledByDefault": "false",
|
||||||
"codeWithMe.voiceChat.enabledByDefault": "false",
|
"git-widget-placeholder": "main",
|
||||||
"git-widget-placeholder": "main",
|
"last_opened_file_path": "/Users/kun/PycharmProjects/Docker_Compose/480T/Mem0",
|
||||||
"last_opened_file_path": "/Users/kun/PycharmProjects/Docker_Compose/4600Pro/wechat2rss",
|
"node.js.detected.package.jshint": "true",
|
||||||
"node.js.detected.package.jshint": "true",
|
"node.js.selected.package.jshint": "",
|
||||||
"node.js.selected.package.jshint": "",
|
"nodejs_package_manager_path": "npm",
|
||||||
"nodejs_package_manager_path": "npm",
|
"settings.editor.selected.configurable": "configurable.group.project"
|
||||||
"settings.editor.selected.configurable": "configurable.group.project"
|
},
|
||||||
|
"keyToStringList": {
|
||||||
|
"com.intellij.ide.scratch.ScratchImplUtil$2/新建临时文件": [
|
||||||
|
"TEXT"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}</component>
|
}]]></component>
|
||||||
<component name="RecentsManager">
|
<component name="RecentsManager">
|
||||||
<key name="CopyFile.RECENT_KEYS">
|
<key name="CopyFile.RECENT_KEYS">
|
||||||
<recent name="$PROJECT_DIR$/4600Pro/wechat2rss" />
|
<recent name="$PROJECT_DIR$/480T/Mem0" />
|
||||||
<recent name="$PROJECT_DIR$/AI团队设计" />
|
<recent name="$PROJECT_DIR$/4600Pro/db-mcp-server" />
|
||||||
<recent name="$PROJECT_DIR$/4600Pro/so-novel" />
|
<recent name="$PROJECT_DIR$/4600Pro" />
|
||||||
<recent name="$PROJECT_DIR$/4600Pro/So-Novel" />
|
<recent name="$PROJECT_DIR$/4600Pro/firecrawl" />
|
||||||
<recent name="$PROJECT_DIR$/4600Pro/NocoDB" />
|
<recent name="$PROJECT_DIR$/4600Pro/searxng" />
|
||||||
</key>
|
</key>
|
||||||
<key name="MoveFile.RECENT_KEYS">
|
<key name="MoveFile.RECENT_KEYS">
|
||||||
<recent name="$PROJECT_DIR$/AI团队设计/EVA" />
|
<recent name="$PROJECT_DIR$/AI团队设计/EVA" />
|
||||||
@@ -73,7 +82,7 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="RunManager">
|
<component name="RunManager">
|
||||||
<configuration default="true" type="DjangoTestsConfigurationType">
|
<configuration default="true" type="DjangoTestsConfigurationType">
|
||||||
<module name="iStore_Docker_Compose" />
|
<module name="market-api" />
|
||||||
<option name="ENV_FILES" value="" />
|
<option name="ENV_FILES" value="" />
|
||||||
<option name="INTERPRETER_OPTIONS" value="" />
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
<option name="PARENT_ENVS" value="true" />
|
<option name="PARENT_ENVS" value="true" />
|
||||||
@@ -96,7 +105,7 @@
|
|||||||
<method v="2" />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration default="true" type="PythonConfigurationType" factoryName="Python">
|
<configuration default="true" type="PythonConfigurationType" factoryName="Python">
|
||||||
<module name="iStore_Docker_Compose" />
|
<module name="market-api" />
|
||||||
<option name="ENV_FILES" value="" />
|
<option name="ENV_FILES" value="" />
|
||||||
<option name="INTERPRETER_OPTIONS" value="" />
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
<option name="PARENT_ENVS" value="true" />
|
<option name="PARENT_ENVS" value="true" />
|
||||||
@@ -121,7 +130,7 @@
|
|||||||
<method v="2" />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration default="true" type="Python.Celery" factoryName="Python.Celery.Task">
|
<configuration default="true" type="Python.Celery" factoryName="Python.Celery.Task">
|
||||||
<module name="iStore_Docker_Compose" />
|
<module name="market-api" />
|
||||||
<option name="ENV_FILES" value="" />
|
<option name="ENV_FILES" value="" />
|
||||||
<option name="INTERPRETER_OPTIONS" value="" />
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
<option name="PARENT_ENVS" value="true" />
|
<option name="PARENT_ENVS" value="true" />
|
||||||
@@ -136,7 +145,7 @@
|
|||||||
<method v="2" />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration default="true" type="Python.Celery" factoryName="Python.Celery.App">
|
<configuration default="true" type="Python.Celery" factoryName="Python.Celery.App">
|
||||||
<module name="iStore_Docker_Compose" />
|
<module name="market-api" />
|
||||||
<option name="ENV_FILES" value="" />
|
<option name="ENV_FILES" value="" />
|
||||||
<option name="INTERPRETER_OPTIONS" value="" />
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
<option name="PARENT_ENVS" value="true" />
|
<option name="PARENT_ENVS" value="true" />
|
||||||
@@ -151,7 +160,7 @@
|
|||||||
<method v="2" />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration default="true" type="Python.FlaskServer">
|
<configuration default="true" type="Python.FlaskServer">
|
||||||
<module name="iStore_Docker_Compose" />
|
<module name="market-api" />
|
||||||
<option name="ENV_FILES" value="" />
|
<option name="ENV_FILES" value="" />
|
||||||
<option name="INTERPRETER_OPTIONS" value="" />
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
<option name="PARENT_ENVS" value="true" />
|
<option name="PARENT_ENVS" value="true" />
|
||||||
@@ -167,7 +176,7 @@
|
|||||||
<method v="2" />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration default="true" type="Tox" factoryName="Tox">
|
<configuration default="true" type="Tox" factoryName="Tox">
|
||||||
<module name="iStore_Docker_Compose" />
|
<module name="market-api" />
|
||||||
<option name="ENV_FILES" value="" />
|
<option name="ENV_FILES" value="" />
|
||||||
<option name="INTERPRETER_OPTIONS" value="" />
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
<option name="PARENT_ENVS" value="true" />
|
<option name="PARENT_ENVS" value="true" />
|
||||||
@@ -182,7 +191,7 @@
|
|||||||
<method v="2" />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration default="true" type="docs" factoryName="Docutils task">
|
<configuration default="true" type="docs" factoryName="Docutils task">
|
||||||
<module name="iStore_Docker_Compose" />
|
<module name="market-api" />
|
||||||
<option name="ENV_FILES" value="" />
|
<option name="ENV_FILES" value="" />
|
||||||
<option name="INTERPRETER_OPTIONS" value="" />
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
<option name="PARENT_ENVS" value="true" />
|
<option name="PARENT_ENVS" value="true" />
|
||||||
@@ -201,7 +210,7 @@
|
|||||||
<method v="2" />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration default="true" type="docs" factoryName="Sphinx task">
|
<configuration default="true" type="docs" factoryName="Sphinx task">
|
||||||
<module name="iStore_Docker_Compose" />
|
<module name="market-api" />
|
||||||
<option name="ENV_FILES" value="" />
|
<option name="ENV_FILES" value="" />
|
||||||
<option name="INTERPRETER_OPTIONS" value="" />
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
<option name="PARENT_ENVS" value="true" />
|
<option name="PARENT_ENVS" value="true" />
|
||||||
@@ -220,7 +229,7 @@
|
|||||||
<method v="2" />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
<configuration default="true" type="tests" factoryName="Doctests">
|
<configuration default="true" type="tests" factoryName="Doctests">
|
||||||
<module name="iStore_Docker_Compose" />
|
<module name="market-api" />
|
||||||
<option name="ENV_FILES" value="" />
|
<option name="ENV_FILES" value="" />
|
||||||
<option name="INTERPRETER_OPTIONS" value="" />
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
<option name="PARENT_ENVS" value="true" />
|
<option name="PARENT_ENVS" value="true" />
|
||||||
@@ -241,6 +250,24 @@
|
|||||||
<option name="USE_PATTERN" value="false" />
|
<option name="USE_PATTERN" value="false" />
|
||||||
<method v="2" />
|
<method v="2" />
|
||||||
</configuration>
|
</configuration>
|
||||||
|
<configuration default="true" type="tests" factoryName="Autodetect">
|
||||||
|
<module name="Docker_Compose" />
|
||||||
|
<option name="ENV_FILES" value="" />
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="" />
|
||||||
|
<option name="IS_MODULE_SDK" value="false" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<option name="DEBUG_JUST_MY_CODE" value="false" />
|
||||||
|
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
|
||||||
|
<option name="RUN_TOOL" value="" />
|
||||||
|
<option name="_new_additionalArguments" value="""" />
|
||||||
|
<option name="_new_target" value="""" />
|
||||||
|
<option name="_new_targetType" value=""PATH"" />
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
</component>
|
</component>
|
||||||
<component name="SharedIndexes">
|
<component name="SharedIndexes">
|
||||||
<attachedChunks>
|
<attachedChunks>
|
||||||
@@ -282,8 +309,8 @@
|
|||||||
<workItem from="1787635812810" duration="5000" />
|
<workItem from="1787635812810" duration="5000" />
|
||||||
<workItem from="1787635822806" duration="12539000" />
|
<workItem from="1787635822806" duration="12539000" />
|
||||||
<workItem from="1787705701661" duration="856000" />
|
<workItem from="1787705701661" duration="856000" />
|
||||||
<workItem from="1788154006618" duration="9436000" />
|
<workItem from="1788090668335" duration="1476000" />
|
||||||
<workItem from="1788331827938" duration="2136000" />
|
<workItem from="1788272932700" duration="860000" />
|
||||||
</task>
|
</task>
|
||||||
<task id="LOCAL-00001" summary="update 26.7.27">
|
<task id="LOCAL-00001" summary="update 26.7.27">
|
||||||
<option name="closed" value="true" />
|
<option name="closed" value="true" />
|
||||||
@@ -485,31 +512,47 @@
|
|||||||
<option name="project" value="LOCAL" />
|
<option name="project" value="LOCAL" />
|
||||||
<updated>1787648681948</updated>
|
<updated>1787648681948</updated>
|
||||||
</task>
|
</task>
|
||||||
<task id="LOCAL-00026" summary="update 26.8.31">
|
<task id="LOCAL-00026" summary="update 26.8.29">
|
||||||
<option name="closed" value="true" />
|
<option name="closed" value="true" />
|
||||||
<created>1788154150013</created>
|
<created>1788011791356</created>
|
||||||
<option name="number" value="00026" />
|
<option name="number" value="00026" />
|
||||||
<option name="presentableId" value="LOCAL-00026" />
|
<option name="presentableId" value="LOCAL-00026" />
|
||||||
<option name="project" value="LOCAL" />
|
<option name="project" value="LOCAL" />
|
||||||
<updated>1788154150013</updated>
|
<updated>1788011791356</updated>
|
||||||
</task>
|
</task>
|
||||||
<task id="LOCAL-00027" summary="update 26.8.31">
|
<task id="LOCAL-00027" summary="update 26.8.29">
|
||||||
<option name="closed" value="true" />
|
<option name="closed" value="true" />
|
||||||
<created>1788156709183</created>
|
<created>1788011949750</created>
|
||||||
<option name="number" value="00027" />
|
<option name="number" value="00027" />
|
||||||
<option name="presentableId" value="LOCAL-00027" />
|
<option name="presentableId" value="LOCAL-00027" />
|
||||||
<option name="project" value="LOCAL" />
|
<option name="project" value="LOCAL" />
|
||||||
<updated>1788156709183</updated>
|
<updated>1788011949750</updated>
|
||||||
</task>
|
</task>
|
||||||
<task id="LOCAL-00028" summary="update 26.8.31">
|
<task id="LOCAL-00028" summary="update 26.8.29">
|
||||||
<option name="closed" value="true" />
|
<option name="closed" value="true" />
|
||||||
<created>1788163235015</created>
|
<created>1788012355905</created>
|
||||||
<option name="number" value="00028" />
|
<option name="number" value="00028" />
|
||||||
<option name="presentableId" value="LOCAL-00028" />
|
<option name="presentableId" value="LOCAL-00028" />
|
||||||
<option name="project" value="LOCAL" />
|
<option name="project" value="LOCAL" />
|
||||||
<updated>1788163235015</updated>
|
<updated>1788012355905</updated>
|
||||||
</task>
|
</task>
|
||||||
<option name="localTasksCounter" value="29" />
|
<task id="LOCAL-00029" summary="update 26.8.29">
|
||||||
|
<option name="closed" value="true" />
|
||||||
|
<created>1788014249329</created>
|
||||||
|
<option name="number" value="00029" />
|
||||||
|
<option name="presentableId" value="LOCAL-00029" />
|
||||||
|
<option name="project" value="LOCAL" />
|
||||||
|
<updated>1788014249329</updated>
|
||||||
|
</task>
|
||||||
|
<task id="LOCAL-00030" summary="update 26.8.30">
|
||||||
|
<option name="closed" value="true" />
|
||||||
|
<created>1788090925000</created>
|
||||||
|
<option name="number" value="00030" />
|
||||||
|
<option name="presentableId" value="LOCAL-00030" />
|
||||||
|
<option name="project" value="LOCAL" />
|
||||||
|
<updated>1788090925000</updated>
|
||||||
|
</task>
|
||||||
|
<option name="localTasksCounter" value="31" />
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
<component name="TypeScriptGeneratedFilesManager">
|
<component name="TypeScriptGeneratedFilesManager">
|
||||||
@@ -524,7 +567,8 @@
|
|||||||
<MESSAGE value="update 26.8.11" />
|
<MESSAGE value="update 26.8.11" />
|
||||||
<MESSAGE value="update 26.8.21" />
|
<MESSAGE value="update 26.8.21" />
|
||||||
<MESSAGE value="update 26.8.25" />
|
<MESSAGE value="update 26.8.25" />
|
||||||
<MESSAGE value="update 26.8.31" />
|
<MESSAGE value="update 26.8.29" />
|
||||||
<option name="LAST_COMMIT_MESSAGE" value="update 26.8.31" />
|
<MESSAGE value="update 26.8.30" />
|
||||||
|
<option name="LAST_COMMIT_MESSAGE" value="update 26.8.30" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
# ================================
|
||||||
|
# Hindsight
|
||||||
|
# ================================
|
||||||
|
|
||||||
|
HINDSIGHT_VERSION=latest
|
||||||
|
|
||||||
|
# ================================
|
||||||
|
# LLM
|
||||||
|
# ================================
|
||||||
|
|
||||||
|
# 第一阶段建议直接用 OpenAI
|
||||||
|
HINDSIGHT_API_LLM_PROVIDER=deepseek
|
||||||
|
|
||||||
|
# 替换为你的 API Key
|
||||||
|
HINDSIGHT_API_LLM_API_KEY=sk-1855427cd5b84cda9e4d0f02567a9ee3
|
||||||
|
|
||||||
|
# 模型
|
||||||
|
HINDSIGHT_API_LLM_MODEL=deepseek-chat
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
hindsight:
|
||||||
|
image: ghcr.io/vectorize-io/hindsight:${HINDSIGHT_VERSION:-latest}
|
||||||
|
container_name: hindsight
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
ports:
|
||||||
|
# Hindsight API
|
||||||
|
- "8888:8888"
|
||||||
|
|
||||||
|
# Hindsight Control Plane / Web UI
|
||||||
|
- "4400:9999"
|
||||||
|
|
||||||
|
environment:
|
||||||
|
# 时区
|
||||||
|
- TZ=Asia/Shanghai
|
||||||
|
# LLM Provider
|
||||||
|
- HINDSIGHT_API_LLM_PROVIDER=${HINDSIGHT_API_LLM_PROVIDER:-openai}
|
||||||
|
# API Key
|
||||||
|
- HINDSIGHT_API_LLM_API_KEY=${HINDSIGHT_API_LLM_API_KEY}
|
||||||
|
# LLM Model
|
||||||
|
- HINDSIGHT_API_LLM_MODEL=${HINDSIGHT_API_LLM_MODEL:-gpt-4.1-mini}
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
# Hindsight 内嵌 PostgreSQL 数据
|
||||||
|
- hindsight-data:/home/hindsight/.pg0
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
hindsight-data:
|
||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
REG_TOKEN=
|
REG_TOKEN=
|
||||||
DOMAIN=localhost
|
DOMAIN=localhost
|
||||||
ROOT_URL=http://localhost:3000
|
ROOT_URL=http://localhost:3000
|
||||||
RELEASE=8.7.1
|
RELEASE=8.8.0
|
||||||
# Change to true after you set your domain and valid lets encrypt email
|
# Change to true after you set your domain and valid lets encrypt email
|
||||||
LETSENCRYPT_ENABLED=false
|
LETSENCRYPT_ENABLED=false
|
||||||
LETSENCRYPT_EMAIL=demo@email.com
|
LETSENCRYPT_EMAIL=demo@email.com
|
||||||
|
|||||||
@@ -87,3 +87,4 @@ UgreenNas(芯片:1235U,运行内存:64GB,储存:4TB固态)
|
|||||||
5. minio:`http://192.168.0.112:4100` 【对象存储】
|
5. minio:`http://192.168.0.112:4100` 【对象存储】
|
||||||
6. postgres数据库:`tcp://192.168.0.112:4200`
|
6. postgres数据库:`tcp://192.168.0.112:4200`
|
||||||
7. redis数据库:`tcp://192.168.0.112:4300`
|
7. redis数据库:`tcp://192.168.0.112:4300`
|
||||||
|
9. hindsight:`tcp://192.168.0.112:4400`
|
||||||
Reference in New Issue
Block a user