AI assistant for Ascend NPU profiling analysis, bottleneck diagnosis, and optimization guidance
Project description
🚀 msAgent
面向 Ascend NPU 场景的一站式调试调优 Agent
msAgent 聚焦“发现问题 -> 定位根因 -> 给出建议 -> 辅助验证”的调试调优闭环。
它结合 LLM 推理能力与可扩展工具链,覆盖性能分析、文档走查、GitCode PR 审查、工具咨询等场景,帮助你把复杂问题快速转化为可执行的调试与优化决策。
📢 最新消息
- 2026-03-19:
mindstudio-agent已发布到 PyPI,推荐优先使用pip install -U mindstudio-agent安装
🤖 内置 Agent 与能力分工
| 形象 | 名称 | 领域定位 | 说明 |
|---|---|---|---|
| Hermes | 性能调优:聚焦 Ascend Profiling 分析,覆盖单卡、多卡、集群等场景,擅长快慢卡、慢节点、MFU、通信瓶颈、算子热点、下发调度等性能问题定位与优化建议。 | Hermes说明 | |
| Minos | 文档体验与代码审查辅助:聚焦 README 走查、安装流程验证、Quick Start 体验、新手 onboarding、文档可用性评估,以及 GitCode PR 审查与评审意见整理。 | Minos说明 | |
| Coming soon | 待定 | 精度分析与优化。 | Coming soon |
| Coming soon | 待定 | 量化分析与优化。 | Coming soon |
⚡ 快速上手
1) 🧰 准备环境
- Python
3.11+ - 推荐使用
uv - 至少准备一个可用的 LLM API Key
- glibc >= 2.34 (msprof-mcp trace_processor binary required)
2) 📦 安装
推荐优先使用 PyPI 安装。如果你需要跟踪最新源码、参与开发,或同步最新内置 Skills,再使用 源码运行 方式。
说明:
- 下文中的
msagent默认指已安装的命令行入口 - 如果采用源码运行,请将示例中的
msagent替换为uv run msagent
方式一:PyPI 安装
pip install -U mindstudio-agent
方式二:源码运行(开发 / 跟踪最新代码)
拉取源码并进入目录:
git clone --recurse-submodules https://github.com/kali20gakki/msAgent.git
cd msAgent
git submodule sync --recursive
如需同步 mindstudio-skills 上游最新版本,再执行:
git submodule update --init --recursive --remote resources/configs/default/skills
如果你只需要使用当前仓库锁定的 Skills 版本,可以跳过这一步。
安装依赖并启动:
uv sync
uv run msagent
常用命令
检查版本:
msagent --version
开启详细日志:
msagent -v
启用后日志会写入当前工作目录下的 ./.msagent/logs/app.log,同时终端会提示日志文件位置。
日志级别环境变量
通过 MSAGENT_LOG_LEVEL 环境变量可调整日志详细程度(默认 INFO):
# 调试模式,记录最详细日志
export MSAGENT_LOG_LEVEL=DEBUG
msagent -v
支持的级别(从低到高):DEBUG < INFO < WARNING < ERROR < CRITICAL
3) 🔐 配置 LLM
当前 config 子命令直接支持的 Provider 是:openai、anthropic、google。
选型建议:
- OpenAI 兼容接口:使用
openai - Anthropic 兼容接口:使用
anthropic - Google / Gemini 接口:使用
google
对于用户自部署或经由网关转发的服务,不再单独区分 custom provider;请根据接口协议兼容性复用上述三种 provider,并通过 --llm-base-url 指定自定义服务地址。
下面命令使用 Linux / macOS 的环境变量写法;Windows CMD 请改成 set KEY=value,PowerShell 请改成 $env:KEY = "value"。
OpenAI 兼容接口
以 DeepSeek deepseek-chat 为例:
export OPENAI_API_KEY="your-key"
msagent config --llm-provider openai --llm-base-url "https://api.deepseek.com/v1" --llm-model "deepseek-chat"
本地 OpenAI 兼容服务
如果是本地部署的 OpenAI 兼容服务,例如 vLLM 暴露的 OpenAI-compatible API,即使服务端不校验 API Key,也可以继续使用 openai provider:
export OPENAI_API_KEY="dummy"
msagent config --llm-provider openai --llm-base-url "http://127.0.0.1:8000/v1" --llm-model "your-model"
OPENAI_API_KEY只需任意非空字符串,不需要是真实密钥--llm-base-url对于 vLLM 一般填写服务根路径,例如http://127.0.0.1:8000/v1
自定义服务地址示例
如果你使用的是自部署服务、企业网关或代理层,请按协议兼容性选择 provider,并通过 --llm-base-url 指向你的服务地址。
Anthropic 兼容服务
例如自部署或代理后的 Claude / Anthropic 兼容接口:
export ANTHROPIC_API_KEY="your-key"
msagent config --llm-provider anthropic --llm-base-url "https://example.com/anthropic" --llm-model "claude-sonnet-4-20250514"
Google / Gemini 服务
例如 Google AI Studio、Vertex AI 网关,或兼容 Gemini 协议的服务:
export GOOGLE_API_KEY="your-key"
msagent config --llm-provider google --llm-base-url "https://example.com/google" --llm-model "gemini-2.5-pro"
说明:
- 自部署服务请选择与其协议兼容的 provider,而不是使用不存在的
customprovider --llm-base-url用于覆盖默认官方地址,指向你自己的服务入口或代理网关- 对于不校验 API Key 的兼容服务,通常仍建议设置一个非空占位值,例如
dummy - 历史配置里的
gemini会被兼容处理为google,但新配置建议统一使用google
查看当前配置
msagent config --show
4) 🖥️ 启动会话
进入交互式会话:
msagent
手动指定启动 agent:
msagent --agent Hermes
msagent --agent Minos
4.1) 🌐 启动 Web UI(可选,Beta功能)
前置依赖:
- 本机需要已安装
node(wheel 安装后的 Web UI 运行时依赖)
启动:
msagent web
打开:
http://127.0.0.1:3000
说明:
- 通过
pip install -U mindstudio-agent安装后,也可以直接使用msagent web - wheel 安装默认内置预编译 Web UI,运行时只需要本机有
node,不再要求额外执行npm install或单独安装next msagent web默认会同时启动:- API:
http://127.0.0.1:2024 - UI:
http://127.0.0.1:3000
- API:
- 启动成功后会自动打开默认浏览器进入 UI
- 浏览器访问 UI 地址,不是 API 地址
- 首次打开时会自动预填:
Deployment URL=http://127.0.0.1:2024Assistant ID=msagent
- 如果端口冲突,改端口启动即可
- 如果本地残留了旧的 Web 进程,可先手动清理:
pkill -f "next dev --turbopack" || true
pkill -f "langgraph dev" || true
常用命令:
msagent web --host 127.0.0.1 --port 2024 --ui-port 3000
msagent web --port 2025 --ui-port 3001
msagent web --no-open
msagent web --no-ui
5) 📚 按 Agent 查看说明与示例
不同能力的说明与示例已经按 Agent 拆分:
Hermes:性能调优与 Profiling 分析 Agent 页面,见 docs/agents/Hermes.mdMinos:文档体验与 GitCode PR 审查 Agent 页面,见 docs/agents/Minos.md
🛠️ 参考文档
后续的配置、扩展、构建和版本说明已经拆分到独立文档,避免首页信息过载,也方便按代码演进单独维护:
- 配置与扩展 项目本地配置目录、MCP 配置、Skills 扩展与加载顺序。
- 编译与打包 wheel 构建流程、构建脚本行为、常用构建参数与手动构建方式。
- 版本与兼容性 当前版本、Python 要求、内置 MCP 版本与 Provider 支持情况。
⌨️ 会话常见操作
进入交互式会话后,可以直接输入问题,也可以配合 / 命令和快捷键提升效率。
/ 命令
当前交互式会话支持以下 slash commands:
| 命令 | 说明 |
|---|---|
/help |
查看当前支持的命令列表。 |
/hotkeys |
查看键盘快捷键说明。 |
/agents |
打开 Agent 选择器。 |
/model |
打开模型选择器。 |
/threads |
浏览并恢复历史会话线程。 |
/tools |
查看当前可用工具。 |
/skills |
浏览当前可用 Skills。 |
/mcp |
管理 MCP 服务启用状态。 |
/offload |
压缩并卸载较早的会话消息。 |
/tool-output |
打开最近一次可展开的工具输出。 |
/clear |
清屏并开启新线程。 |
/exit |
退出当前会话。 |
输入区快捷键
| 快捷键 | 说明 |
|---|---|
Ctrl+C |
有输入时清空输入框;连续按两次退出会话。 |
Ctrl+J |
插入换行,便于多行输入。 |
Shift+Tab |
循环切换审批模式。 |
Ctrl+B |
切换 bash mode。 |
Ctrl+K |
直接打开快捷键说明。 |
Ctrl+O |
打开最近一次可展开的工具输出。 |
Tab |
应用第一个补全项。 |
Enter |
提交输入;如果当前选中了补全项,则先应用补全。 |
工具输出查看器
当某次工具调用支持展开查看时,可用 Ctrl+O 或 /tool-output 打开工具输出查看器。查看器内支持:
| 快捷键 | 说明 |
|---|---|
Ctrl+O / Enter |
展开或折叠当前工具输出。 |
Left / Right |
在不同 tool call 之间切换。 |
Up / Down |
按行滚动。 |
PageUp / PageDown |
按页滚动。 |
Home / End |
跳到顶部或底部。 |
Esc / Ctrl+C |
关闭查看器。 |
联系我们
欢迎加入飞书群交流:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mindstudio_agent-0.1.3.tar.gz.
File metadata
- Download URL: mindstudio_agent-0.1.3.tar.gz
- Upload date:
- Size: 16.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb74d2bc481c7c0e18c6cb40fcf39add1b8d14db213a7b3d6011b399629cedd0
|
|
| MD5 |
cbe42eade9a3c9841d6f08eb6a7c8376
|
|
| BLAKE2b-256 |
4da1ae961579d36f461ecd6225f775595e6116e0c8b2ede76db05039b8f2634b
|
Provenance
The following attestation bundles were made for mindstudio_agent-0.1.3.tar.gz:
Publisher:
publish-release.yml on kali20gakki/msAgent
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mindstudio_agent-0.1.3.tar.gz -
Subject digest:
eb74d2bc481c7c0e18c6cb40fcf39add1b8d14db213a7b3d6011b399629cedd0 - Sigstore transparency entry: 1254856099
- Sigstore integration time:
-
Permalink:
kali20gakki/msAgent@fb409b6296268048cfab6a97efdcdfc4c306bb8b -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/kali20gakki
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-release.yml@fb409b6296268048cfab6a97efdcdfc4c306bb8b -
Trigger Event:
push
-
Statement type:
File details
Details for the file mindstudio_agent-0.1.3-py3-none-any.whl.
File metadata
- Download URL: mindstudio_agent-0.1.3-py3-none-any.whl
- Upload date:
- Size: 16.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65da10c8e38094c0f4810a5d2cdad5f48adc64c94f789ff6a2fc0cd7623f2fd6
|
|
| MD5 |
0120c7ffe5c57b4308738fc906aa5cf3
|
|
| BLAKE2b-256 |
b53abe0f6339d5df067bd6ad4eac410fec838e681b683a4f10e101ff2b4c73c8
|
Provenance
The following attestation bundles were made for mindstudio_agent-0.1.3-py3-none-any.whl:
Publisher:
publish-release.yml on kali20gakki/msAgent
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mindstudio_agent-0.1.3-py3-none-any.whl -
Subject digest:
65da10c8e38094c0f4810a5d2cdad5f48adc64c94f789ff6a2fc0cd7623f2fd6 - Sigstore transparency entry: 1254856206
- Sigstore integration time:
-
Permalink:
kali20gakki/msAgent@fb409b6296268048cfab6a97efdcdfc4c306bb8b -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/kali20gakki
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-release.yml@fb409b6296268048cfab6a97efdcdfc4c306bb8b -
Trigger Event:
push
-
Statement type: