diff --git a/docs/developers/cocli/3-cli-action-operations.md b/docs/developers/cocli/3-cli-action-operations.md
index a9a76ccfe..0abfbefab 100644
--- a/docs/developers/cocli/3-cli-action-operations.md
+++ b/docs/developers/cocli/3-cli-action-operations.md
@@ -73,8 +73,8 @@ fb1bb37a-7b27-11ee-b962-0242ac120002 system ros2-mcap-converter
```bash
# 使用 JSON 输出获取记录和动作, 比如要在第一个记录中执行 coScene-test 动作
-RECORD_NAME=$(cocli record list -o json | jq -r '.records[0].name')
-ACTION_NAME=$(cocli action list -o json | jq -r '.actions[] | select(.spec.name | contains("coScene-test")) | .name')
+RECORD_NAME=$(cocli record list --page-size 10 -o json | jq -r '.records[0].name')
+ACTION_NAME=$(cocli action list --all -o json | jq -r '.actions[] | select(.spec.name | contains("coScene-test")) | .name')
cocli action run $ACTION_NAME $RECORD_NAME
```
diff --git a/docs/developers/cocli/97-cli-common-batch-tasks.md b/docs/developers/cocli/97-cli-common-batch-tasks.md
index fc5351906..91472270e 100644
--- a/docs/developers/cocli/97-cli-common-batch-tasks.md
+++ b/docs/developers/cocli/97-cli-common-batch-tasks.md
@@ -17,7 +17,7 @@ sidebar_position: 4
```bash
# 使用 JSON 输出和 jq 提取记录 ID
-cocli record list -o json | jq -r '.records[].name' | \
+cocli record list --all -o json | jq -r '.records[].name' | \
xargs -I {} cocli record upload {} ./FILE_FLAG
```
@@ -52,7 +52,7 @@ done
```bash
# 使用 JSON 输出获取项目中的所有记录,遍历并提供记录的完整资源名称
-cocli record list -o json | jq -r '.records[].name' | while read -r record_name; do
+cocli record list --all -o json | jq -r '.records[].name' | while read -r record_name; do
# 使用 $record_name 进行后续的批量操作
# 如需提取 record ID,可以使用: record_id=$(basename "$record_name")
done
@@ -63,7 +63,7 @@ done
### 找出所有不含任何文件的空记录
```bash
-cocli record list -o json | jq -r '.records[].name' | while read -r record_name; do
+cocli record list --all -o json | jq -r '.records[].name' | while read -r record_name; do
# 获取记录中的文件数量
file_count=$(cocli record file list "$record_name" -o json 2>/dev/null | jq '.files | length')
@@ -79,7 +79,7 @@ done
### 给所有空记录打上标签
```bash
-cocli record list -o json | jq -r '.records[].name' | while read -r record_name; do
+cocli record list --all -o json | jq -r '.records[].name' | while read -r record_name; do
# 获取记录中的文件数量
file_count=$(cocli record file list "$record_name" -o json 2>/dev/null | jq '.files | length')
@@ -95,7 +95,7 @@ done
```bash
# 使用 --labels 参数过滤特定标签的记录
-cocli record list --labels test-label -o json | jq -r '.records[].name' | while read -r record_name; do
+cocli record list --labels test-label --all -o json | jq -r '.records[].name' | while read -r record_name; do
# 下载所有有 test-label 标签的记录
cocli record download "$record_name" download-folder
done
@@ -108,7 +108,7 @@ done
:::
```bash
-cocli record list -o json | jq -r '.records[].name' | while read -r record_name; do
+cocli record list --all -o json | jq -r '.records[].name' | while read -r record_name; do
# 获取记录中的文件数量
file_count=$(cocli record file list "$record_name" -o json 2>/dev/null | jq '.files | length')
diff --git a/docs/device/5-device-collect.md b/docs/device/5-device-collect.md
index ee82c9fa6..4c98cfdff 100644
--- a/docs/device/5-device-collect.md
+++ b/docs/device/5-device-collect.md
@@ -39,10 +39,10 @@ sidebar_position: 5
- 注:部分文件系统可能无法获取文件创建时间,仅根据最后修改时间判断文件是否在时间范围内
- **时间范围采集路径**
- 输入需要根据时间范围进行采集的绝对文件路径,如:`/home/bag/`,系统将采集该路径下(包括子文件夹)所有符合时间范围的文件
- - 建议在[组织设备配置](./4-device-collector.md#数据收集器设置collector)中,将该路径设置为默认采集路径`collect_dirs`,以便后续无需手动输入
+ - 建议在[组织设备配置](./4-device-collector.md#device-collector-format)中,将该路径设置为默认采集路径`collect_dirs`,以便后续无需手动输入
- **具体附加文件路径**
- 输入需要额外采集的绝对文件路径(文件夹/文件),与时间范围无关,如:`/home/map/`、`/home/device/config.yaml`,系统将采集整个文件夹中的文件或指定的文件
- - 建议在[组织设备配置](./4-device-collector.md#数据收集器设置collector)中,将该路径设置为默认采集路径`additional_files`,以便后续无需手动输入
+ - 建议在[组织设备配置](./4-device-collector.md#device-collector-format)中,将该路径设置为默认采集路径`additional_files`,以便后续无需手动输入
- **采集名称&记录名称**
- 采集名称:用于标识该次采集
- 记录名称:用于标识该次采集将数据保存到的记录
diff --git a/docs/viz/4-panel/5-image-panel.md b/docs/viz/4-panel/5-image-panel.md
index 3111848a7..2b9a0beb3 100644
--- a/docs/viz/4-panel/5-image-panel.md
+++ b/docs/viz/4-panel/5-image-panel.md
@@ -114,6 +114,16 @@ Linux:
| ROS 2 | [sensor_msgs/CompressedImage](https://github.com/ros2/common_interfaces/blob/master/sensor_msgs/msg/CompressedImage.msg) |
| 自定义 | [foxglove.CompressedImage](../message-schemas/compressed-image) |
+### `CompressedVideo`
+
+用于压缩视频流。编码格式支持 `h264`、`h265`(HEVC)。由于硬件与专利限制,不同平台的支持情况可能不同。
+
+| 框架 | 消息类型 |
+| ------ | -------------------------------------------------------------------------------------------------------------------- |
+| ROS 1 | [foxglove_msgs/CompressedVideo](https://github.com/foxglove/foxglove-sdk/blob/main/schemas/ros1/CompressedVideo.msg) |
+| ROS 2 | [foxglove_msgs/CompressedVideo](https://github.com/foxglove/foxglove-sdk/blob/main/schemas/ros2/CompressedVideo.msg) |
+| 自定义 | [foxglove.CompressedVideo](../message-schemas/compressed-video) |
+
### `CameraCalibration`
提供可选的相机校准数据以在图像面板中渲染 3D 实体,或在 3D 面板中渲染图像。校准数据不是必需的,因为 ImageAnnotations 使用像素坐标。
diff --git a/docs/viz/8-extensions/2-local-development.md b/docs/viz/8-extensions/2-local-development.md
index ba2347cdc..787690110 100644
--- a/docs/viz/8-extensions/2-local-development.md
+++ b/docs/viz/8-extensions/2-local-development.md
@@ -8,15 +8,12 @@ sidebar_position: 2
## 安装
-要将您的扩展构建并安装到本地 coStudio 扩展文件夹中,请运行 `npm run local-install`。这将在您的用户主目录下创建一个文件夹(例如 `~/.coStudio/extensions/unknown.myExtensionName-0.0.0`),其中包含您编译好的扩展。
+对于本地开发者,如果需要将您开发中的扩展构建并安装到本地 coStudio 扩展文件夹中,请运行 `npm run local-install`。这将在您的用户主目录下创建一个文件夹(例如 `~/.coStudio/extensions/unknown.myExtensionName-0.0.0`),其中包含您编译好的扩展。
打开最新版本的 coStudio 桌面应用。现在,您应该能在应用设置中的已安装扩展列表中看到 `myExtensionName`。
安装后,您应该能够打开"添加面板"菜单,并看到一个名为 `ExamplePanel` 的选项。您已成功加载了您的第一个可视化扩展!
-(🏗️施工中,预计 2025 年 5 月上线)
-要在 Web 应用上安装本地扩展,您必须首先打包您的扩展,然后将 `.coe` 文件拖放到打开的可视化页面上。您也可以通过拖放或双击在桌面应用中打开 `.coe` 文件。
-
## 开发
每次对扩展进行更改时,您都必须运行 `npm run local-install` 将其构建到本地扩展文件夹中。
diff --git a/docs/viz/8-extensions/extensions-install.mdx b/docs/viz/8-extensions/extensions-install.mdx
new file mode 100644
index 000000000..5bfdd4f39
--- /dev/null
+++ b/docs/viz/8-extensions/extensions-install.mdx
@@ -0,0 +1,61 @@
+---
+sidebar_position: 2.1
+---
+
+# 扩展安装
+
+对于普通用户,目前支持三种安装方式:
+- 引用本地扩展文件安装
+- 通过远程 URL 引用远程扩展文件安装
+- 通过项目资源进行安装
+
+## 引用本地扩展文件安装
+
+您可以通过以下两种方式安装本地扩展文件:
+
+1. **拖拽安装**:直接将扩展文件(`.coe` 格式)拖拽到可视化页面中即可完成安装。
+
+2. **菜单安装**:点击右侧插件面板中的加号图标,选择【从本地安装】,然后选择对应的本地扩展文件进行安装。
+
+
+
+## 通过远程 URL 引用远程扩展文件安装
+
+通过远程 URL 安装扩展时,您需要提供扩展文件的网络地址。
+
+### 协议支持
+
+- **Web 应用**:仅支持 `https` 协议的远程 URL
+- **桌面应用**:支持 `http` 和 `https` 协议的远程 URL
+
+### 安装步骤
+
+1. 点击右侧插件面板中的加号图标
+2. 选择【通过 URL 安装】
+3. 在弹窗中输入远程扩展文件的 URL 地址
+4. 点击确认完成安装
+
+:::tip 注意事项
+使用远程 URL 安装时,请确保文件服务器已配置 CORS(跨域资源共享),允许刻行时空平台访问该文件。
+:::
+
+
+
.default})
+
.default})
+
+
+## 通过项目资源进行安装
+
+如果扩展文件已上传到项目的通用文件中,您可以直接从项目资源中安装。
+
+### 安装步骤
+
+1. 点击右侧插件面板中的加号图标
+2. 选择【从项目资源安装】
+3. 在文件列表中选择对应的扩展文件
+4. 点击确认完成安装
+
+
+
.default})
+
.default})
+
diff --git a/docs/viz/8-extensions/img/local-install-extensions.png b/docs/viz/8-extensions/img/local-install-extensions.png
new file mode 100644
index 000000000..5b3e07041
Binary files /dev/null and b/docs/viz/8-extensions/img/local-install-extensions.png differ
diff --git a/docs/viz/8-extensions/img/project-install-extensions-1.png b/docs/viz/8-extensions/img/project-install-extensions-1.png
new file mode 100644
index 000000000..e10776ccc
Binary files /dev/null and b/docs/viz/8-extensions/img/project-install-extensions-1.png differ
diff --git a/docs/viz/8-extensions/img/project-install-extensions-2.png b/docs/viz/8-extensions/img/project-install-extensions-2.png
new file mode 100644
index 000000000..db7428b80
Binary files /dev/null and b/docs/viz/8-extensions/img/project-install-extensions-2.png differ
diff --git a/docs/viz/8-extensions/img/remote-install-extensions-1.png b/docs/viz/8-extensions/img/remote-install-extensions-1.png
new file mode 100644
index 000000000..6ef69c19c
Binary files /dev/null and b/docs/viz/8-extensions/img/remote-install-extensions-1.png differ
diff --git a/docs/viz/8-extensions/img/remote-install-extensions-2.png b/docs/viz/8-extensions/img/remote-install-extensions-2.png
new file mode 100644
index 000000000..35f631efb
Binary files /dev/null and b/docs/viz/8-extensions/img/remote-install-extensions-2.png differ
diff --git a/docs/viz/9-message-schemas/compressed-video.md b/docs/viz/9-message-schemas/compressed-video.md
index 4a402ee56..948f3376b 100644
--- a/docs/viz/9-message-schemas/compressed-video.md
+++ b/docs/viz/9-message-schemas/compressed-video.md
@@ -30,9 +30,14 @@
- 每个 CompressedVideo 消息应包含足够的 NAL 单元来解码恰好一个视频帧
- 每个包含关键帧(IDR)的消息还必须包含 SPS NAL 单元
+- `h265`
+ - 使用 Annex A 格式的数据
+ - 每个 CompressedVideo 消息应包含足够的 NAL 单元来解码恰好一个视频帧
+ - 每个包含关键帧(IRAP)的消息还必须包含相关的 VPS/SPS/PPS NAL 单元
+
### `format`
-支持的值:`h264`。
+支持的值:`h264`、`h265`。
注意:压缩视频支持受硬件限制和专利许可的影响,因此并非所有平台都支持所有编码。
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/developers/cocli/3-cli-action-operations.md b/i18n/en/docusaurus-plugin-content-docs/current/developers/cocli/3-cli-action-operations.md
index 65d0a4562..daef3b205 100644
--- a/i18n/en/docusaurus-plugin-content-docs/current/developers/cocli/3-cli-action-operations.md
+++ b/i18n/en/docusaurus-plugin-content-docs/current/developers/cocli/3-cli-action-operations.md
@@ -73,7 +73,7 @@ Using JSON output with the `jq` tool to extract IDs is more reliable and stable.
```bash
# Use JSON output to get record and action, e.g., to run the coScene-test action on the first record
RECORD_NAME=$(cocli record list -o json | jq -r '.records[0].name')
-ACTION_NAME=$(cocli action list -o json | jq -r '.actions[] | select(.spec.name | contains("coScene-test")) | .name')
+ACTION_NAME=$(cocli action list --all -o json | jq -r '.actions[] | select(.spec.name | contains("coScene-test")) | .name')
cocli action run $ACTION_NAME $RECORD_NAME
```
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/developers/cocli/97-cli-common-batch-tasks.md b/i18n/en/docusaurus-plugin-content-docs/current/developers/cocli/97-cli-common-batch-tasks.md
index ea28c6d25..5f80edbcf 100644
--- a/i18n/en/docusaurus-plugin-content-docs/current/developers/cocli/97-cli-common-batch-tasks.md
+++ b/i18n/en/docusaurus-plugin-content-docs/current/developers/cocli/97-cli-common-batch-tasks.md
@@ -17,7 +17,7 @@ If your system doesn't have `jq` installed, you can install it with the followin
```bash
# Use JSON output and jq to extract record names
-cocli record list -o json | jq -r '.records[].name' | \
+cocli record list --all -o json | jq -r '.records[].name' | \
xargs -I {} cocli record upload {} ./FILE_FLAG
```
@@ -50,7 +50,7 @@ A common command line operation pattern is to iterate through all records in a u
```bash
# Use JSON output to get all records in the project, iterate and provide the full resource name
-cocli record list -o json | jq -r '.records[].name' | while read -r record_name; do
+cocli record list --all -o json | jq -r '.records[].name' | while read -r record_name; do
# Use $record_name for subsequent batch operations
# To extract record ID, you can use: record_id=$(basename "$record_name")
done
@@ -61,7 +61,7 @@ This pattern can be extended to connect more complex batch operations.
### Find All Empty Records Without Any Files
```bash
-cocli record list -o json | jq -r '.records[].name' | while read -r record_name; do
+cocli record list --all -o json | jq -r '.records[].name' | while read -r record_name; do
# Get the number of files in the record
file_count=$(cocli record file list "$record_name" -o json 2>/dev/null | jq '.files | length')
@@ -77,7 +77,7 @@ done
### Tag All Empty Records
```bash
-cocli record list -o json | jq -r '.records[].name' | while read -r record_name; do
+cocli record list --all -o json | jq -r '.records[].name' | while read -r record_name; do
# Get the number of files in the record
file_count=$(cocli record file list "$record_name" -o json 2>/dev/null | jq '.files | length')
@@ -93,7 +93,7 @@ done
```bash
# Use --labels parameter to filter records with specific labels
-cocli record list --labels test-label -o json | jq -r '.records[].name' | while read -r record_name; do
+cocli record list --labels test-label --all -o json | jq -r '.records[].name' | while read -r record_name; do
# Download all records with test-label
cocli record download "$record_name" download-folder
done
@@ -106,7 +106,7 @@ Please be very careful with the `delete` operation, as it may delete important d
:::
```bash
-cocli record list -o json | jq -r '.records[].name' | while read -r record_name; do
+cocli record list --all -o json | jq -r '.records[].name' | while read -r record_name; do
# Get the number of files in the record
file_count=$(cocli record file list "$record_name" -o json 2>/dev/null | jq '.files | length')
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/device/3-manage-device.md b/i18n/en/docusaurus-plugin-content-docs/current/device/3-manage-device.md
index 0f2f28676..78f9ec63d 100644
--- a/i18n/en/docusaurus-plugin-content-docs/current/device/3-manage-device.md
+++ b/i18n/en/docusaurus-plugin-content-docs/current/device/3-manage-device.md
@@ -124,10 +124,9 @@ On the device side, execute the following command to uninstall the data collecti
Note: If the coScout client is installed under the root user, you need to switch to the root user when uninstalling.
```yaml
-/bin/bash -c "$(curl -fsSL https://download.coscene.cn/coscout/uninstall_en.sh)"
+/bin/bash -c "$(curl -fsSL https://download.coscene.io/cosbinary/script/latest/uninstall.sh)"
```
-
## Delete Devices
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/device/4-device-collector.md b/i18n/en/docusaurus-plugin-content-docs/current/device/4-device-collector.md
index e2d9cb4d4..9d6a9c310 100644
--- a/i18n/en/docusaurus-plugin-content-docs/current/device/4-device-collector.md
+++ b/i18n/en/docusaurus-plugin-content-docs/current/device/4-device-collector.md
@@ -31,7 +31,7 @@ After completing the configuration, click [Save], and the configuration will tak

-## Collection Rule Format Details
+## Collection Rule Format Details {#device-collector-format}
Collection rules primarily configure 5 modules:
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/device/5-device-collect.md b/i18n/en/docusaurus-plugin-content-docs/current/device/5-device-collect.md
index 06717bbc3..5a5953beb 100644
--- a/i18n/en/docusaurus-plugin-content-docs/current/device/5-device-collect.md
+++ b/i18n/en/docusaurus-plugin-content-docs/current/device/5-device-collect.md
@@ -40,11 +40,11 @@ Collect existing files from devices including logs, images, and configurations.
- **Collection Path**
- Absolute path (e.g., `/home/bag/`)
- - Recommend pre-configuring in [Device configuration](./4-device-collector.md#collection-rule-format-details)
+ - Recommend pre-configuring in [Device configuration](./4-device-collector.md#device-collector-format)
- **Additional Files**
- Paths to collect regardless of time (files/directories)
- - Pre-configure in [Device configuration](./4-device-collector.md#collection-rule-format-details)
+ - Pre-configure in [Device configuration](./4-device-collector.md#device-collector-format)
- **Naming Convention**
- Collection Name: Identifier for collection job
@@ -83,7 +83,7 @@ See [Specific Data Format](../use-case/data-diagnosis/3-add-rule.md#specific-dat
> Only organization administrators can configure
-In Organization Management - Devices - Device Configuration, enter directories for monitoring and collection: `listen_dirs`, `collect_dirs`. To monitor topics for collection, add `topics` definition. See [Device Configuration](./4-device-collector.md#collection-rule-format-details)
+In Organization Management - Devices - Device Configuration, enter directories for monitoring and collection: `listen_dirs`, `collect_dirs`. To monitor topics for collection, add `topics` definition. See [Device Configuration](./4-device-collector.md#device-collector-format)
### Topic Monitoring Collection
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/device/7-change-device-guide.md b/i18n/en/docusaurus-plugin-content-docs/current/device/7-change-device-guide.md
index b38d6b250..9d45325a3 100644
--- a/i18n/en/docusaurus-plugin-content-docs/current/device/7-change-device-guide.md
+++ b/i18n/en/docusaurus-plugin-content-docs/current/device/7-change-device-guide.md
@@ -69,12 +69,11 @@ When only software version upgrade is needed, without changing the host computer
1. Execute the following command in the terminal
```yaml
-/bin/bash -c "$(curl -fsSL https://download.coscene.cn/coscout/uninstall_en.sh)"
+/bin/bash -c "$(curl -fsSL https://download.coscene.io/cosbinary/script/latest/uninstall.sh)"
```
2. Closely monitor the output during execution until the uninstallation process is complete, ensuring that coLink service, cos service, and their related configuration files and directories are successfully removed
- 
3. The device data is still retained in the backend database. If the device is no longer needed on the platform, click the [Delete] button in the organization devices to remove it
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/use-case/data-diagnosis/2-get-started.md b/i18n/en/docusaurus-plugin-content-docs/current/use-case/data-diagnosis/2-get-started.md
index f62931020..4877b0c40 100644
--- a/i18n/en/docusaurus-plugin-content-docs/current/use-case/data-diagnosis/2-get-started.md
+++ b/i18n/en/docusaurus-plugin-content-docs/current/use-case/data-diagnosis/2-get-started.md
@@ -44,7 +44,7 @@ Use the following scenario as an example to quickly get started with the automat
- /error_status
```
- For more configuration options, see [Device Configuration Format](../../device/4-device-collector.md).
+ For more configuration options, see [Device Configuration Format](../../device/4-device-collector.md#device-collector-format).
## Create Rule
1. Enter the auto-upload project
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/viz/4-panel/5-image-panel.md b/i18n/en/docusaurus-plugin-content-docs/current/viz/4-panel/5-image-panel.md
index b23729a8e..a062f4234 100644
--- a/i18n/en/docusaurus-plugin-content-docs/current/viz/4-panel/5-image-panel.md
+++ b/i18n/en/docusaurus-plugin-content-docs/current/viz/4-panel/5-image-panel.md
@@ -93,3 +93,53 @@ Linux:
- Note that Chrome/Chromium does not support video acceleration on Linux by default, and may require using custom Chrome/Chromium flags to enable GPU.
- Ensure that your graphics driver is updated and correctly installed.
+
+## Supported Messages
+
+To use the Image panel, your data source must provide 3D marker message types or one of the following supported schemas.
+
+### `RawImage`
+
+| Framework | Message Type |
+| --------- | ---------------------------------------------------------------------------------------------------- |
+| ROS 1 | [sensor_msgs/Image](https://docs.ros.org/en/noetic/api/sensor_msgs/html/msg/Image.html) |
+| ROS 2 | [sensor_msgs/Image](https://github.com/ros2/common_interfaces/blob/master/sensor_msgs/msg/Image.msg) |
+| Custom | [foxglove.RawImage](../message-schemas/raw-image) |
+
+### `CompressedImage`
+
+| Framework | Message Type |
+| --------- | ------------------------------------------------------------------------------------------------------------------------ |
+| ROS 1 | [sensor_msgs/CompressedImage](https://docs.ros.org/en/noetic/api/sensor_msgs/html/msg/CompressedImage.html) |
+| ROS 2 | [sensor_msgs/CompressedImage](https://github.com/ros2/common_interfaces/blob/master/sensor_msgs/msg/CompressedImage.msg) |
+| Custom | [foxglove.CompressedImage](../message-schemas/compressed-image) |
+
+### `CompressedVideo`
+
+For compressed video streams. Supported encodings include `h264`, `h265` (HEVC). Support depends on hardware and licensing, so availability may vary by platform.
+
+| Framework | Message Type |
+| --------- | -------------------------------------------------------------------------------------------------------------------- |
+| ROS 1 | [foxglove_msgs/CompressedVideo](https://github.com/foxglove/foxglove-sdk/blob/main/schemas/ros1/CompressedVideo.msg) |
+| ROS 2 | [foxglove_msgs/CompressedVideo](https://github.com/foxglove/foxglove-sdk/blob/main/schemas/ros2/CompressedVideo.msg) |
+| Custom | [foxglove.CompressedVideo](../message-schemas/compressed-video) |
+
+### `CameraCalibration`
+
+Provide optional camera calibration data to render 3D entities in the Image panel, or render images in the 3D panel. Calibration data is not required since ImageAnnotations use pixel coordinates.
+
+The visualization supports `plumb_bob` and `rational_polynomial` distortion models.
+
+| Framework | Message Type |
+| --------- | -------------------------------------------------------------------------------------------------------------- |
+| ROS 1 | [sensor_msgs/CameraInfo](https://docs.ros.org/en/noetic/api/sensor_msgs/html/msg/CameraInfo.html) |
+| ROS 2 | [sensor_msgs/CameraInfo](https://github.com/ros2/common_interfaces/blob/master/sensor_msgs/msg/CameraInfo.msg) |
+| Custom | [foxglove.CameraCalibration](../message-schemas/camera-calibration) |
+
+### `ImageAnnotations`
+
+| Framework | Message Type |
+| --------- | ------------------------------------------------------------------------------------------------------------------------------ |
+| ROS 1 | [visualization_msgs/ImageMarker](https://docs.ros.org/en/noetic/api/visualization_msgs/html/msg/ImageMarker.html) |
+| ROS 2 | [visualization_msgs/ImageMarker](https://github.com/ros2/common_interfaces/blob/master/visualization_msgs/msg/ImageMarker.msg) |
+| Custom | [foxglove.ImageAnnotations](../message-schemas/image-annotations) |
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/viz/8-extensions/extensions-install.mdx b/i18n/en/docusaurus-plugin-content-docs/current/viz/8-extensions/extensions-install.mdx
new file mode 100644
index 000000000..bfe081260
--- /dev/null
+++ b/i18n/en/docusaurus-plugin-content-docs/current/viz/8-extensions/extensions-install.mdx
@@ -0,0 +1,62 @@
+---
+sidebar_position: 2.1
+---
+
+# Extension Installation
+
+For regular users, three installation methods are currently supported:
+
+- Install from local extension files
+- Install from remote URL
+- Install from project resources
+
+## Install from Local Extension Files
+
+You can install local extension files in the following two ways:
+
+1. **Drag and Drop**: Simply drag and drop the extension file (`.coe` format) onto the visualization page to complete the installation.
+
+2. **Menu Installation**: Click the plus icon in the right-side plugin panel, select 【Install from Local】, and then choose the corresponding local extension file to install.
+
+
+
+## Install from Remote URL
+
+When installing extensions from a remote URL, you need to provide the network address of the extension file.
+
+### Protocol Support
+
+- **Web Application**: Only supports remote URLs with `https` protocol
+- **Desktop Application**: Supports remote URLs with both `http` and `https` protocols
+
+### Installation Steps
+
+1. Click the plus icon in the right-side plugin panel
+2. Select 【Install from URL】
+3. Enter the URL address of the remote extension file in the popup window
+4. Click confirm to complete the installation
+
+:::tip Note
+When using remote URL installation, please ensure that the file server has configured CORS (Cross-Origin Resource Sharing) to allow coScene platform to access the file.
+:::
+
+
+
.default})
+
.default})
+
+
+## Install from Project Resources
+
+If the extension file has been uploaded to the project's common files, you can install it directly from project resources.
+
+### Installation Steps
+
+1. Click the plus icon in the right-side plugin panel
+2. Select 【Install from Project Resources】
+3. Select the corresponding extension file from the file list
+4. Click confirm to complete the installation
+
+
+
.default})
+
.default})
+
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/viz/8-extensions/img/local-install-extensions.png b/i18n/en/docusaurus-plugin-content-docs/current/viz/8-extensions/img/local-install-extensions.png
new file mode 100644
index 000000000..d518e85d3
Binary files /dev/null and b/i18n/en/docusaurus-plugin-content-docs/current/viz/8-extensions/img/local-install-extensions.png differ
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/viz/8-extensions/img/project-install-extensions-1.png b/i18n/en/docusaurus-plugin-content-docs/current/viz/8-extensions/img/project-install-extensions-1.png
new file mode 100644
index 000000000..10f1a433c
Binary files /dev/null and b/i18n/en/docusaurus-plugin-content-docs/current/viz/8-extensions/img/project-install-extensions-1.png differ
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/viz/8-extensions/img/project-install-extensions-2.png b/i18n/en/docusaurus-plugin-content-docs/current/viz/8-extensions/img/project-install-extensions-2.png
new file mode 100644
index 000000000..dfb841355
Binary files /dev/null and b/i18n/en/docusaurus-plugin-content-docs/current/viz/8-extensions/img/project-install-extensions-2.png differ
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/viz/8-extensions/img/remote-install-extensions-1.png b/i18n/en/docusaurus-plugin-content-docs/current/viz/8-extensions/img/remote-install-extensions-1.png
new file mode 100644
index 000000000..4918e5425
Binary files /dev/null and b/i18n/en/docusaurus-plugin-content-docs/current/viz/8-extensions/img/remote-install-extensions-1.png differ
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/viz/8-extensions/img/remote-install-extensions-2.png b/i18n/en/docusaurus-plugin-content-docs/current/viz/8-extensions/img/remote-install-extensions-2.png
new file mode 100644
index 000000000..8706be02c
Binary files /dev/null and b/i18n/en/docusaurus-plugin-content-docs/current/viz/8-extensions/img/remote-install-extensions-2.png differ
diff --git a/i18n/en/docusaurus-plugin-content-docs/current/viz/9-message-schemas/compressed-video.md b/i18n/en/docusaurus-plugin-content-docs/current/viz/9-message-schemas/compressed-video.md
index 3396d070a..9e5854e77 100644
--- a/i18n/en/docusaurus-plugin-content-docs/current/viz/9-message-schemas/compressed-video.md
+++ b/i18n/en/docusaurus-plugin-content-docs/current/viz/9-message-schemas/compressed-video.md
@@ -30,9 +30,14 @@ Specifically, the requirements for different `format` values are as follows:
- Each CompressedVideo message should contain enough NAL units to decode exactly one video frame
- Each message containing a key frame (IDR) must also include the SPS NAL unit
+- `h265`
+ - Use Annex A formatted data
+ - Each CompressedVideo message should contain enough NAL units to decode exactly one video frame
+ - Each message containing a key frame (IRAP) must also include relevant VPS/SPS/PPS NAL units
+
### `format`
-Supported values: `h264`.
+Supported values: `h264`, `h265`.
Note: Compressed video support is affected by hardware limitations and patent licensing, so not all platforms support all encodings.
diff --git a/i18n/en/docusaurus-plugin-content-pages/changelog.md b/i18n/en/docusaurus-plugin-content-pages/changelog.md
index e1bd2f6af..59c8ebdcf 100644
--- a/i18n/en/docusaurus-plugin-content-pages/changelog.md
+++ b/i18n/en/docusaurus-plugin-content-pages/changelog.md
@@ -5,6 +5,65 @@ id: changelog
# Release History
+## [26.10.0] - 2026-03-04
+
+### [Added]
+
+- Added Data Collection Client v1.1.14:
+ - Added cache directory size limit feature: Supports configuring cache space upper limit
+
+### [Fixed]
+
+- Fixed issue where changes to record custom fields did not automatically trigger actions
+- Fixed occasional automatic logout issue during visualization
+- Fixed visualization file time processing logic: Changed from publish time to log time
+- Fixed issue where page failed to load when there were too many visualization tasks
+
+---
+
+## [26.6.0] - 2026-02-04
+
+### [Added]
+
+- Added batch record mounting feature: When creating actions, you can choose whether to batch mount records to the action for execution
+- Added public project content scope: When making a project public, you can now choose to expose record custom fields, moments, and resources
+- Added H265 encoding support for image panels
+- Added Data Collection Client v1.1.13:
+ - Added cache directory customization feature: Supports configuring cache path, automatically clears cache files after upload completion
+ - Added single file size limit: Supports setting upload file size upper limit
+ - Added log information: Adds matching information records during file scanning
+
+### [Improved]
+
+- Improved storage service stability and performance
+
+---
+
+## [26.3.0] - 2026-01-10
+
+### [Added]
+
+- Added visualization plugin feature: Supports importing plugins from local, project resources, or external links. See [plugin installation documentation](/docs/viz/extensions/extensions-install) for details
+- Added Data Collection Client v1.1.12:
+ - Added upload speed limit feature: Supports setting upload speed upper limit. See [upload manager](/docs/device/device-collector#device-collector-format) for details
+ - Added file creation time retrieval feature: Rule-based collection now supports filtering files based on file creation time
+
+---
+
+## [25.51.0] - 2025-12-17
+
+### [Added]
+
+- Added Data Collection Client v1.1.11:
+ - Supports multi-board collection: Add `--enable_master` parameter to the master board's installation command, and configure master and slave board IP addresses in the slave board's installation command to enable multi-board collaborative data collection
+
+### [Improved]
+
+- Improved visualization tab rendering logic: In visualization settings, you can choose whether to render all tabs
+- Optimized visualization memory usage, enhancing playback smoothness and system stability
+
+---
+
## [25.48.0] - 2025-11-26
### [Added]
diff --git a/src/pages/changelog.md b/src/pages/changelog.md
index 4abe06a56..88fd1751c 100644
--- a/src/pages/changelog.md
+++ b/src/pages/changelog.md
@@ -5,6 +5,68 @@ id: changelog
# 发布历史
+## [26.10.0] - 2026-03-04
+
+### 【新增】
+
+- 新增多数仓功能:在创建项目时,可选择杭州或上海作为存储区域
+- 新增数采客户端 v1.1.14:
+ - 增加缓存目录大小限制功能:支持配置缓存空间上限
+
+### 【修复】
+
+- 修复记录自定义字段变更后无法自动触发动作的问题
+- 修复可视化过程中偶现的自动退出登录问题
+- 修复可视化文件时间处理逻辑:从 publish time 调整为 log time
+- 修复可视化任务过多时页面无法加载的问题
+
+---
+
+## [26.6.0] - 2026-02-04
+
+### 【新增】
+
+- 新增记录批量挂载功能:在创建动作时,可选择是否将记录批量挂载到动作中执行
+- 新增公开项目内容范围:公开项目时,支持公开记录自定义字段、一刻、资源
+- 新增图像面板支持 h265 编码功能
+- 新增数采客户端 v1.1.13:
+ - 新增缓存目录自定义功能:支持配置缓存路径,上传完成后自动清理缓存文件
+ - 新增单个文件大小限制:支持设置上传文件的大小上限
+ - 新增日志信息:文件扫描时增加匹配信息记录
+
+### 【改进】
+
+- 改进存储服务稳定性与性能
+- 改进同步记录到 OSS 功能,支持将数据同步至与项目同区域的 OSS 存储(杭州/上海)
+
+---
+
+## [26.3.0] - 2026-01-10
+
+### 【新增】
+
+- 新增可视化插件功能:支持从本地、项目资源、外部链接导入插件,详见[插件安装文档](/docs/viz/extensions/extensions-install)
+- 新增同步记录到 OSS 功能:选择记录后调用「系统动作-同步记录到 OSS」,可将项目数据同步到目标 OSS
+- 新增数采客户端 v1.1.12:
+ - 新增上传速度限制功能:支持设置上传速度上限,详见[上传管理器](/docs/device/device-collector#device-collector-format)
+ - 新增文件创建时间获取功能:规则采集时支持根据文件创建时间筛选文件
+
+---
+
+## [25.51.0] - 2025-12-17
+
+### 【新增】
+
+- 新增数采客户端 v1.1.11:
+ - 支持多板采集:在主板的安装命令中增加 `--enable_master` 参数,在从板的安装命令中配置主板与从板的 IP 地址,即可实现多板协同数据采集
+
+### 【改进】
+
+- 改进可视化选项卡的渲染逻辑:在可视化设置中,可选择是否渲染所有选项卡
+- 优化可视化内存占用,提升播放流畅度与系统稳定性
+
+---
+
## [25.48.0] - 2025-11-26
### 【新增】