2026a

# MWORKS AI


# 产品简介

MWORKS AI 是 Syslab 内置的 AI 助手。它可以结合当前工程、文件、终端输出、运行环境和 Syslab 本地能力,帮助用户完成问答、代码生成、错误诊断、脚本运行、性能优化和代码迁移等任务。

与通用聊天工具不同,MWORKS AI 的重点是让 AI 在 Syslab 内理解上下文、调用工具并协助完成工程任务。

# 适用场景

  • 解释 Syslab、Julia、M 代码和工程结构;
  • 根据自然语言生成或修改脚本;
  • 分析报错、终端输出和运行结果;
  • 调用 Syslab MCP Server 查询帮助、执行代码或获取环境信息;
  • 使用 Syslab Skills 完成性能优化、M 转 Julia 等专项任务。

# 快速入门

本节介绍首次使用 MWORKS AI 的基本配置流程,包括运行环境确认、功能入口打开、账号登录、在线模型选择以及本地模型切换。

# 前置条件

使用 MWORKS AI 前,请确认当前环境满足以下要求。

  • 当前系统为 Windows 10/11 64 位或 Linux(Ubuntu 20.04+、CentOS 8+);
  • 已安装 Syslab 2026a V26.3 及以上版本;
  • 当前网络可以正常访问同元官网。

# 启动 MWORKS AI

在 Syslab 中打开 MWORKS AI 功能入口。

首次启动 MWORKS AI 时,将进入登录界面。

# 登录或注册账号

MWORKS AI 需要使用苏州同元软控技术股份有限公司 (opens new window)(下方简称同元)账号登录后才能调用可用模型。如果尚未注册账号,请先完成注册,再登录使用。

账号注册入口如下:

# 配置在线模型

完成注册并登录账号后,可在模型配置界面选择在线模型。账号登录后,系统会提供一定的免费额度,可用于调用 deepseek 的相关模型进行建模使用。

模型名 模型功能 额度耗费对比
tongyuan/deepseek-v4-flash DeepSeek-V4-Flash 模型,支持思考与非思考模式,具备长上下文、JSON 输出、工具调用等能力,适用于常规问答、代码生成和建模辅助场景 基础计费倍率,免费额度消耗较慢,可支持更多轮次对话
tongyuan/deepseek-v4-pro DeepSeek-V4-Pro 模型,支持思考与非思考模式,具备长上下文、JSON 输出、工具调用等能力,适用于复杂推理、长文本分析和高难度建模优化场景 计费倍率较高,免费额度消耗更快,相同使用量下可用轮次较少

# 自定义模型配置

MWORKS AI 需依赖本机存在可用的智能体程序。在 Syslab 2026a V26.3 及以上版本中,软件安装时会自动安装特定 opencode 版本。该版本仅在 Syslab 中调用,不影响全局配置。

如需使用本地模型,目前支持切换为本地 opencode 设置。切换前,请确认已完成以下准备:

  • 本地已经安装 opencode 客户端或 cli 终端(非 Syslab 自带版本),并已配置相关模型;
  • 已经完成一次同元账号登录。

完成准备后,按以下步骤切换为本地客户端。

  1. 进入全局配置路径 C:\Users\用户名\.config\opencode

  2. 找到 opencode-mworks.json 文件,并将其重命名为 opencode-mworks.json.bak

    opencode-mworks.json 是 MWORKS AI 默认添加的配置文件。opencode 启动时会优先读取该文件中的配置;将文件名增加 .bak 后,系统将不再识别它为有效配置文件,从而回退到 opencode 的默认配置,并切换为本地 opencode 客户端。

  3. 重启 opencode 和 Syslab。

    提示

    产品支持在多种模型间进行切换,不同模型的部分能力可能存在差异,属于正常现象。

# 发送第一个问题

在输入框中输入自然语言问题或任务描述,按 Enter 发送。常用输入方式包括:

  • 直接提问,例如:如何生成稀疏矩阵?
  • 描述任务,例如:读取 data.csv,生成一个非线性指数拟合脚本,并保存到当前目录。

建议尽量把目标、输入文件、期望输出和限制条件写清楚。任务越具体,AI 助手越容易给出可执行结果。

AI 返回结果后,可根据结果继续追问、要求生成脚本、运行验证或修改文件。

如果 AI 正在回复或执行任务,发送按钮会切换为停止按钮。需要中断当前任务时,可单击停止按钮,再补充新的约束或重新发送任务。

# 带上下文提问

上下文用于告诉 AI 当前问题所依赖的材料。对于代码开发、错误诊断和工程分析,添加上下文通常比单纯描述问题更有效。

常见上下文添加方式

  • 在编辑器中选中代码或文本后,通过右键菜单添加到 AI 上下文;
  • 将文件或文件夹拖入 AI 面板;
  • 在输入框中使用 @ 选择文件;

上下文不宜一次加入过多。复杂工程任务建议先加入关键文件或报错信息,再根据 AI 的分析逐步补充材料。

# 核心功能

# 功能总览

AI 助手主要包含以下功能:

区域 功能
新建会话 开启一个新的对话上下文,用于处理新的独立任务。
历史会话 打开历史对话,回看或继续之前的任务。
设置 配置模型服务、工具、MCP 与诊断。
常用命令 提供常见任务的快捷入口,单击后可将示例问题填入聊天框。
聊天框 输入问题、任务描述、/ 命令或 @ 上下文。
切换模型 选择本次会话使用的大模型。
切换模式 选择当前工作模式,例如 Build 模式或 Plan 模式。
发送/停止 发送当前提示词;AI 正在生成或执行时,可用于停止当前响应。

# 会话

一次会话保存一组连续对话和上下文。新建会话可以隔离不同任务,避免旧上下文影响当前结果。历史会话可用于回看和继续之前的工作。

当一个任务已经结束,建议为新任务开启新会话;当任务需要连续迭代,例如“分析错误 -> 修改代码 -> 运行验证 -> 继续修复”,建议保留在同一会话中。

会话相关入口通常位于 AI 面板顶部:

  • 单击新建会话,创建独立对话上下文并开始新任务;
  • 单击历史会话,查看历史任务并选择需要继续的会话;
  • 在继续历史会话前,先确认旧上下文是否仍然适用于当前工程状态。

# 模式与模型

MWORKS AI 支持不同模式和模型组合。它们的职责不同:

  • 模式:控制工作方式,例如规划优先或直接执行;
  • 模型:负责理解、推理和生成的底层大模型能力。

常见模式包括:

  • Build:规划、搜索、开发等一站式完成任务、工作目录内操作无需用户确认;
  • Plan:为完成任务制定详细的执行方案,仅生成步骤与建议,不执行任何实际操作。

对于可能改动大量文件、运行外部命令或影响工程状态的任务,建议先使用 Plan 模式明确方案。

模型和模式可在 AI 面板中切换:

  • 通过聊天框左下角的模式入口切换工作模式;
  • 通过模型下拉框切换当前使用的大模型。

切换模型或模式后,建议在当前输入中明确任务目标,避免旧会话上下文影响新设置下的结果。

# MCP 服务

MCP 通常指 Model Context Protocol,即模型上下文协议。它用于让 AI 助手以标准方式连接外部工具、数据源和本地服务。提供工具能力,解决 AI 能调用什么。

MWORKS AI 可通过 Syslab MCP Server 获取 Syslab 环境信息、查询函数和帮助文档、执行 Julia 代码等。常见用途包括:

  • 查询 Syslab 已安装工具箱和运行环境;
  • 搜索 Syslab 函数、帮助和示例;
  • 运行或验证 Julia 代码;
  • 将本地能力提供给智能体调用。

如果 MCP 服务不可用,AI 仍可回答一般问题,但与 Syslab 本地环境相关的能力会受限。

# Skills

Skills 是面向专项任务的工作流说明,提供任务流程规范,可让 AI 按既定规范完成复杂任务。例如:

  • 性能优化;
  • M 代码迁移到 Julia;

使用 Skills 时,建议在任务描述中明确说明要使用哪个 Skill,以及输入文件、输出目录和验收标准。

# 典型案例

# 错误诊断

当脚本运行失败时,优先把报错信息、相关代码和运行环境作为上下文提供给 AI。MWORKS AI 也提供 AI 错误诊断入口,可将当前错误上下文发送到右侧 AI 助手,由 AI 分析原因并给出修复建议。

以下示例运行时会出现错误:

using TyPlot
using TyMath

x = 0:0.2:10
y = besselj.(0, x)

xconf = [x..., x[end:-1:1]...]
yconf = [y .+ 0.15..., y[end:-1:1] .- 0.15...]

figure()
p = plt_fill(xconf, yconf, "red")
plt_set(p, "facecolor", [1 0.8 0.8])
plt_set(p, "edgecolor", "none")

hold(true) # 此行代码有错
plot(x, y, "ro")
hold("off")

发生错误后,可选中报错信息并单击 AI 错误诊断

AI 助手会先定位错误原因,再给出修改建议。

# 算法开发

可用自然语言描述输入数据、算法目标和输出形式,让 AI 生成脚本。示例数据可使用 data.csv

在 AI 聊天框输入:

使用 Syslab 读取 data.csv,实现一个非线性无偏置指数拟合脚本,绘图并给出拟合曲线参数,该脚本保存到 data.csv 同一目录。

输入完成后,AI 助手开始工作,最后自动生成非线性指数拟合文件。

# 性能优化

存在一个二维热扩散模拟示例,该示例优化前运行耗时约为 1.2 秒,需要优化其性能。

function make_initial_temperature(nx::Int, ny::Int)
    u = zeros(Float64, nx, ny)
    for j in 1:ny
        for i in 1:nx
            dx = i - nx ÷ 2
            dy = j - ny ÷ 2
            r2 = dx * dx + dy * dy
            if r2 < 900
                u[i, j] = 100.0
            elseif r2 < 3600
                u[i, j] = 40.0
            end
        end
    end
    u
end

function diffuse_slow(u0::Matrix{Float64}, alpha::Float64, steps::Int)
    u = copy(u0)
    for _ in 1:steps
        next = copy(u)
        next[2:end-1, 2:end-1] =
            u[2:end-1, 2:end-1] .+
            alpha .* (
                u[1:end-2, 2:end-1] .+
                u[3:end, 2:end-1] .+
                u[2:end-1, 1:end-2] .+
                u[2:end-1, 3:end] .-
                4.0 .* u[2:end-1, 2:end-1]
            )
        u = next
    end
    u
end

u0 = make_initial_temperature(500, 500)
@time u = diffuse_slow(u0, 0.12, 260)
println("center temperature = ", u[250, 250], ", corner temperature = ", u[1, 1])

在 AI 聊天框输入:

使用 Syslab skills,优化 slow_heat_diffusion.jl 的性能,并将优化版本保存到 slow_heat_diffusion-opt.jl

输入完成后,AI 助手开始工作:

# M 转 Julia

对于历史 M 脚本迁移,建议同时提供主脚本、依赖数据文件和期望输出目录。示例文件包括 FindLocalMaximaInDataExample.mspots_num.mat

在 AI 聊天框输入:

使用 syslab skills,将 FindLocalMaximaInDataExample.m 转为 Julia 代码,输出保存到 FindLocalMaximaInDataExample-translated 文件夹。

转换过程中,AI 可能会分阶段生成迁移计划、问题记录、Julia 脚本和验证结果。如果发现方向不符合预期,可以中途补充约束后让 AI 继续。

# 常见问题

# 找不到 Syslab MCP

如果 AI 助手无法调用 Syslab MCP,可先让它检查配置和服务状态:

读取 ~/.config/opencode/opencode.json,测试 Syslab MCP 是否可以调用,并说明失败原因。

常见原因包括:

  • MCP 配置文件路径不正确;
  • Syslab MCP Server 未启动或版本不匹配;
  • 当前运行环境无法访问本地服务;
  • 权限配置阻止了相关工具调用。

# 响应慢或生成超时

可尝试以下方法:

  • 减少单次上下文数量,优先提供关键文件和报错;
  • 将复杂任务拆成多个阶段;
  • 先使用 Plan 模式明确方案,再进入 Build 模式执行;
  • 清理过长历史会话,或为新任务开启新会话;
  • 检查模型服务和网络连接状态。