SiCoSILICON COPILOT 使用手册 / 2026.09

01 / GET STARTED

安装与首次启动

普通用户选择 CAD 已部署的完整安装,再加载项目环境。安装根、Python 和 Virtuoso 初始化入口需要成套使用。

准备运行环境

组件何时需要要求
Linux x86_64全部功能使用经站点确认的平台组合。当前运行包已有 EL7 / EL8 及当前 EL9 主机验收记录,具体资格以所选包为准。
Cadence Virtuoso / OpenAccessOA 输入、菜单、MTS、文本 view站点提供工具和许可证;context 必须匹配发行验证的 Cadence 版本,当前验证基于 IC23.1。
Python / QtSiCo 与图形工具二进制安装使用 runtime/python/;源码测试使用配置好依赖的站点 Python。当前 Assistant 要求 Python 3.9.13。
X11 与系统图形库GUI有效的 DISPLAY 与 X11 授权。中文输入所需的 IBus/libpinyin、D-Bus、Qt 插件及安装命令见拼音输入法。
Calibre / Quantus / StarRC / Abstract对应 CAD flow按使用范围配置 PATH、许可证和 PDK 规则;SiCo 安装不代替这些 EDA 工具。
LSF / Environment Modules集群运行 / MTS 项目选择LSF 按需启用;MTS 项目选择要求可用的 modulecmd 与明确的 modulefiles 目录。

部署完整运行包

如果站点已有 SiCo,请直接进入下一节。首次部署时,由 CAD 将已验收的运行包解压到一个新的版本目录,保留原版本以便切换。

  1. 取得同一版本的归档及其 SHA-256 校验文件,先校验,再查看归档顶层目录。
  2. 解压到新的空目录,确认 bin/、tools/、runtime/python/、etc/config/sico-install.json 和 RUNTIME-MANIFEST.json 齐全。
  3. 将 SICO_HOME 指向包含上述目录的实际安装根;如果归档自带顶层目录,要指向该顶层目录内部。
  4. 按下面的检查启动新进程。安装更新时先核对 CAD 已维护的 etc/flow-defaults/,将站点修改合并到新版本。
Bash · 部署示意,替换文件名和新目录
sha256sum -c /path/to/sico-release.tar.gz.sha256
tar -tzf /path/to/sico-release.tar.gz
mkdir /path/to/new-sico-install
tar -xzf /path/to/sico-release.tar.gz -C /path/to/new-sico-install

校验文件若使用相对文件名,应在归档所在目录执行校验。运行包已带 Python,不需要向系统 Python 安装 SiCo;站点的 EDA、许可证、图形与调度器环境仍需单独就绪。

配置启动 shell

以下示例使用二进制安装 /software/sico/latest-bin。先加载站点项目 setup,再执行这些设置;将安装路径替换为实际位置。

Bash · 二进制安装
source /path/to/project/setup.bashrc
export SICO_HOME="/software/sico/latest-bin"
export SICO_PYTHON_ROOT="$SICO_HOME/runtime/python"
export SICO_PYTHON="$SICO_PYTHON_ROOT/bin/python3"
export SICO_SYSTEM_LD_LIBRARY_PATH="$SICO_PYTHON_ROOT/lib:$SICO_HOME/lib"
export SICO_AI_PYTHON_LIBRARY_PATH="$SICO_SYSTEM_LD_LIBRARY_PATH"
export SICO_RUNTIME_TOOLS="$SICO_HOME/tools"
export LD_LIBRARY_PATH="$SICO_HOME/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
export PATH="$SICO_HOME/bin:$PATH"
unset SICO_AI_PYQT_ROOT SICO_AI_QTERMWIDGET_RUNTIME
unset SICO_AI_RELEASE_ROOT SICO_AI_CONTEXT SICO_AI_QT_PLUGIN_PATH
Csh / Tcsh 的等价配置
Csh · 先加载站点项目环境
source /path/to/project/setup.cshrc
setenv SICO_HOME "/software/sico/latest-bin"
setenv SICO_PYTHON_ROOT "$SICO_HOME/runtime/python"
setenv SICO_PYTHON "$SICO_PYTHON_ROOT/bin/python3"
setenv SICO_SYSTEM_LD_LIBRARY_PATH "$SICO_PYTHON_ROOT/lib:$SICO_HOME/lib"
setenv SICO_AI_PYTHON_LIBRARY_PATH "$SICO_SYSTEM_LD_LIBRARY_PATH"
setenv SICO_RUNTIME_TOOLS "$SICO_HOME/tools"
if ( $?LD_LIBRARY_PATH ) then
    setenv LD_LIBRARY_PATH "$SICO_HOME/lib:$LD_LIBRARY_PATH"
else
    setenv LD_LIBRARY_PATH "$SICO_HOME/lib"
endif
setenv PATH "$SICO_HOME/bin:$PATH"
unsetenv SICO_AI_PYQT_ROOT
unsetenv SICO_AI_QTERMWIDGET_RUNTIME
unsetenv SICO_AI_RELEASE_ROOT
unsetenv SICO_AI_CONTEXT
unsetenv SICO_AI_QT_PLUGIN_PATH
Python/Qt 动态库通过 SICO_SYSTEM_LD_LIBRARY_PATH 传给 SiCo 子进程。不要把整套 Python/Qt 库直接前置到 Virtuoso 的 LD_LIBRARY_PATH。上面加入全局路径的仅是安装的 lib/ 兼容库目录。

拼音输入法:运行要求

SiCo 主界面、快捷输入框与 AI 终端使用同一套输入法接入。本地桌面启动时沿用已有的 IBus / Fcitx / XIM 配置及切换快捷键;通过 LSF 启动 GUI 时,SiCo 自动创建独立的 IBus 会话并选中 libpinyin,在输入框中键入拼音、按空格选择候选字即可。

依赖安装在实际运行 GUI 的主机上。 使用 LSF 时,管理员应为队列中每个可能执行 GUI 的节点安装依赖;X11 转发到本地显示也不改变这一要求。仅承担模型 HTTP 请求的节点无需为此安装输入法组件。
组件作用与要求
IBus / libpinyinibus 提供输入法总线及 ibus-daemon;ibus-libpinyin 提供拼音引擎,libpinyin 与 libpinyin-data 提供运行库和词库。
D-Bus / dconf / GLib需能执行 dbus-daemon、dbus-run-session 和 gsettings,并具备 dconf 后端与 IBus 的 GSettings schema,用于建立独立输入会话。
匹配的 Qt IBus 插件所选 Python/Qt 必须包含 platforminputcontexts/libibusplatforminputcontextplugin.so。完整二进制运行包已自带该插件;系统输入法引擎仍需在主机安装。
X11、UTF-8 与中文字体DISPLAY 和 X11 授权有效,图形动态库可加载,并使用已安装的 UTF-8 locale。中文字体用于显示候选词及输入结果,系统界面语言可以保持英文。

安装系统软件包与 lib

以下命令由管理员在执行节点运行,包含输入法、常用 X11/Qt 系统库、中文字体和英文 UTF-8 locale。按操作系统版本选择一组;软件源使用站点批准的对应版本仓库,已有软件包由包管理器处理。

Bash · EL8 / EL9
sudo dnf install -y \
  ibus ibus-libpinyin libpinyin libpinyin-data \
  dbus-daemon dbus-x11 dbus-libs dconf glib2 \
  libX11 libxcb libxkbcommon libxkbcommon-x11 \
  xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm \
  mesa-libGL fontconfig xorg-x11-xauth \
  google-noto-sans-cjk-ttc-fonts glibc-langpack-en
Bash · EL7
sudo yum install -y \
  ibus ibus-libpinyin libpinyin libpinyin-data \
  dbus dbus-x11 dbus-libs dconf glib2 \
  libX11 libxcb libxkbcommon libxkbcommon-x11 \
  xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm \
  mesa-libGL fontconfig xorg-x11-xauth \
  wqy-zenhei-fonts glibc-common

EL8/EL9 将 D-Bus 守护进程单独放在 dbus-daemon 包中;EL7 由 dbus 包提供。若节点采用其他中文字体,可使用站点已确认覆盖中文字形的字体包。

若启动时提示缺少 libxcb-cursor.so.0,且所选安装的 lib/ 未提供兼容库,EL8/EL9 执行 sudo dnf install -y xcb-util-cursor,EL7 执行 sudo yum install -y xcb-util-cursor。该包在部分版本需要补充仓库,由管理员启用站点批准的软件源;不要从其他操作系统版本复制动态库。

源码测试安装还需站点 Python 自身具备匹配的 Qt 插件。系统包 qt5-qtbase-gui 提供的是系统 Qt 插件,不能用于补齐另一套 Python/Qt;缺失包内插件时,应修复对应的 SiCo 或站点 Python 安装。

安装后检查与使用

在实际执行节点、与 SiCo 相同的用户环境中检查。下面五个命令都应能找到;IBus schema 应有匹配输出,字符集应为 UTF-8,字体查询应列出可显示中文的字体。

Bash · 系统输入法依赖检查
command -v ibus ibus-daemon dbus-daemon dbus-run-session gsettings
rpm -q ibus ibus-libpinyin libpinyin libpinyin-data dconf
gsettings list-schemas | grep -Fx org.freedesktop.ibus.general
locale charmap
fc-list :lang=zh family | head

若字符集不是 UTF-8,用 locale -a 查看已安装的 locale,并在站点启动环境中选择对应的 UTF-8 配置;同时检查 LANG、LC_CTYPE 和优先级更高的 LC_ALL。

进一步检查 Qt 插件与缺失动态库

先加载上面的 SiCo shell 环境,再用所选 Python 查询真实插件目录。两个插件都应存在,ldd 输出中不应有 not found,Qt 库应来自匹配的运行环境。

Bash · 使用当前 SiCo 的 Python/Qt 检查
sico_qt_plugins=$(
  LD_LIBRARY_PATH="$SICO_SYSTEM_LD_LIBRARY_PATH" \
    "$SICO_PYTHON" -I -B -c 'from PyQt5.QtCore import QLibraryInfo; print(QLibraryInfo.location(QLibraryInfo.PluginsPath))'
)
ls "$sico_qt_plugins/platforminputcontexts/libibusplatforminputcontextplugin.so"
LD_LIBRARY_PATH="$SICO_SYSTEM_LD_LIBRARY_PATH" \
  ldd "$sico_qt_plugins/platforminputcontexts/libibusplatforminputcontextplugin.so"
LD_LIBRARY_PATH="$SICO_SYSTEM_LD_LIBRARY_PATH" \
  ldd "$sico_qt_plugins/platforms/libqxcb.so"

根据缺失的库补装对应系统包;不要把 EDA 自带的 Qt 目录混入 SiCo 的插件或动态库路径。仅在登录节点完成检查,不能证明队列执行节点也已就绪。

安装后重新启动 SiCo,在实际使用的输入框中输入 zhongwen、按空格选出“中文”,再输入 shuru、选出“输入”,确认最终得到“中文输入”。本地桌面需要先用原有快捷键切到中文;LSF 模式由 SiCo 自动选择拼音引擎。

现象处理方式
提示 pinyin input is unavailable on this LSF host查看同一行括号内的原因,检查执行节点上的命令、引擎、dconf 和 Qt 插件。此时 GUI 可能继续运行,但拼音尚未就绪;修复后重新启动。
提示找不到 Qt 插件或动态库按上面的插件检查定位缺项,核对所选 Python、Qt 和系统库是否配套。
候选词或中文显示为方框检查该节点的中文字体与 UTF-8 locale,并确认 fc-list :lang=zh 有有效输出。

LSF 输入会话由 SiCo 管理,无需手动启动全局 ibus-daemon、切换全局引擎或修改桌面 GSettings。不要复制提交主机的 IBus/D-Bus 地址,也不要把 XDG_RUNTIME_DIR 指向 HOME;这些设置由独立会话管理。

进入个人工程并检查安装

Bash · 首次检查
cd /path/to/my/project
test -f "$SICO_HOME/etc/config/sico-install.json"
test -x "$SICO_PYTHON"
command -v sico virtuoso
"$SICO_PYTHON" -I -B -c 'import sys; print(sys.version)'
sico --help
drc --help
lvs --help
rce --help
mts-netlistor --help

共享安装时,每个用户在自己的工程工作目录启动。通常保持 SICO_TEMP_DIR 未设置,SiCo 自动使用 <启动目录>/.sico。若旧环境指定了错误的状态根,可在启动前清除 SICO_TEMP_DIR 和已退出的 CAD_TEMP_DIR。不要删除已有会话目录来解决配置错误。

启动与模型配置

执行 sico 打开独立首页,启动或复用当前工程服务。它不会自动启动 Virtuoso。要在 Virtuoso 内使用菜单,请继续配置 .cdsinit。

Bash · 需要 AI 功能时,在工程服务启动前设置
export SICO_BACKEND="codex"
export SICO_PROVIDER="responses"
export SICO_API_BASE_URL="https://api.example.com/v1"
export SICO_MODEL="your-model-name"
# SICO_API_KEY 由站点的私有凭据配置注入。
sico

模型地址与模型名配套设置。现行 Codex 后端要求上游提供 Responses 接口;仅提供 Chat Completions 的地址不能直接用于此配置。旧 SICO_API_URL 暂可读取,但与新地址冲突会报错。模型可选值由站点服务提供,SiCo 不设固定模型默认值。

模型部署建议:专用队列与内网转发节点

企业部署建议将 SiCo 工作会话统一提交到指定的 LSF 队列,并在一台专用的本地内网服务器上转发 LLM 请求。员工同时具备专用队列的提交权限与模型转发节点的访问权限,才可使用受控的模型服务。队列示例名为 sico,转发地址示例为 https://llm-gateway.example.internal:8443/v1。

两层权限如何配合

控制位置建议设置生效范围
LSF 队列建立专用队列,提交权限仅授予获准使用 SiCo 的员工或用户组;将该队列限定到指定执行主机组。决定谁可以提交,以及 SiCo 在哪些节点运行。由 LSF 服务端维护队列成员和主机范围。
转发节点的网络入口防火墙仅允许上述执行节点或受控出口地址访问模型 HTTPS 端口;办公终端、普通登录节点和其他计算节点不直接访问该端口。限定模型调用的网络来源与目标端口;返回流量通过已建立连接放行。
转发节点的调用权限在转发服务上校验员工或用户组的调用凭据,并维护允许使用的模型。上游模型密钥由转发节点保管。决定请求身份是否获准调用。即使请求来自允许的节点,未授权或已撤销的凭据也应被拒绝。

有效使用资格取两侧权限的交集:获准提交队列,并且获准访问模型 URL。入职、岗位调整或离职时,分别更新队列成员和转发服务授权;需要立即撤销权限时,还应处理该用户已运行的作业、服务和有效凭据。

网络白名单按节点或出口地址生效。 防火墙不能仅凭源 IP 判断请求属于哪个 LSF 队列。建议使用专用执行主机组或按作业隔离的网络出口,并限制非授权队列和直接登录访问这些节点;共享同一出口时,还需转发服务的身份校验,才能落实到员工权限。

转发节点的网络边界

通信路径端口与访问建议
专用队列执行节点 → 内网 LLM 转发节点仅开放约定的模型 HTTPS 端口,例如 TCP 8443。该端口使用 TLS,证书由执行节点信任。
其他用户节点 → 内网 LLM 转发节点默认拒绝模型端口;转发节点的管理端口仅向管理员的管理网络开放。
内网 LLM 转发节点 → 上游模型服务仅允许所需模型地址和端口;由转发节点统一处理上游认证与请求转发。
SiCo 执行节点 → 上游模型服务限制直接访问,将受控模型调用统一经转发节点。仅修改 SiCo 的 URL 不会自动形成网络限制。

这里的“本地机器”指站点内网的专用服务器,配置地址应能从队列执行节点解析和访问。8443 是端口示例,应与站点实际监听端口和防火墙规则一致。转发服务需要保留 Responses 接口及流式响应能力。

站点配置与队列启动示例

管理员先完成队列、执行主机组、转发服务和网络规则,再将下面的模型配置放入受管理的项目环境。凭据通过站点私有配置注入;启用转发认证时,SICO_API_KEY 使用发给该员工或组的转发服务凭据,上游供应商密钥留在转发节点。

Bash · 已加载项目与 SiCo 安装环境,队列和地址均需替换
export SICO_BACKEND="codex"
export SICO_PROVIDER="responses"
export SICO_API_BASE_URL="https://llm-gateway.example.internal:8443/v1"
export SICO_MODEL="your-model-name"
# SICO_API_KEY 由站点私有配置提供,不写入公共 setup 脚本。
cd /path/to/my/project
bsub -I -XF -q sico "$SICO_HOME/bin/sico"

此命令将 SiCo 及其新启动的工程服务放到队列分配的节点,适用于已配置 X11 转发的站点。安装、项目和模型环境须在执行节点有效;使用 Virtuoso 联动时,由站点把 Virtuoso 与 SiCo 安排在同一运行节点、同一工程中。切换部署方式前,先正常停止旧工程服务,避免复用原位置的服务。

若站点采用本地 GUI、仅将模型 HTTP 请求送往队列的模式,使用 SICO_CODEX_LSF_EXE / SICO_CODEX_LSF_ARGS 指定同一受控队列;这种模式约束的是模型请求的执行位置。完整工作会话按上面的站点入口提交。

队列参数、modulefile 和启动脚本用于选择配置;实际限制由 LSF、操作系统、网络及转发服务执行。需要同时限制整个 SiCo 程序的使用时,还应为安装目录和启动入口设置相应的用户组访问/执行权限。SiCo 本身不会因为配置了模型 URL 就自动建立这些权限。

启用前用授权和未授权测试账户核对:两侧均获授权时可以在指定队列完成模型请求;无队列资格时提交被拒绝;有队列资格但无转发授权时模型调用被拒绝;从未放行的节点访问模型端口也被拒绝。确认后再将入口交给员工使用。

源码测试安装

站点指定源码测试时,选择 /software/sico/latest,将 SICO_PYTHON_ROOT 改为站点 Python 3.9.13 目录,并设置 SICO_AI_PYQT_ROOT="$SICO_HOME/tools/ai/terminal/pyqt"。其余共享变量保持同一安装。源码测试树还需站点准备匹配的 worker context 和 Qt 终端依赖。

源码树通过 scripts/sicoAutoLoad.il 接入;二进制安装通过 sicoBoot.cxt 接入。后者缺失时应修复安装,不能用另一份源码树的文件补齐。

更新、切换与排错

  1. 结束或核对现有任务,关闭 SiCo 窗口,正常停止工程服务。
  2. 关闭旧 Virtuoso,在新 shell 加载目标版本环境。单纯修改 shell 变量不会更新已经运行的服务。
  3. 使用同一套安装入口重新启动,检查版本与连接。回退时成套切换到保留的旧安装。
Bash · 正常停止当前工程服务
sico service-stop --project-dir /path/to/my/project

若仍有活动或待核对任务,停止可能被拒绝;先处理这些任务。出现 SICO_HOME conflicts 时检查 command -v sico 与 SICO_HOME 是否属于同一安装;出现旧变量迁移错误时按迁移表修改启动脚本。