Miromind

v0.1.1

MiroMind Deep Research Skill - 使用 MiroThinker AI 进行深度研究。触发词:/miromind。当用户想对某个主题进行深度研究时使用。

0· 209·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for karminski/miromind.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Miromind" (karminski/miromind) from ClawHub.
Skill page: https://clawhub.ai/karminski/miromind
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: MIROMIND_EMAIL, MIROMIND_PASSWORD
Required binaries: playwright-mcp
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install miromind

ClawHub CLI

Package manager switcher

npx clawhub@latest install miromind
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (MiroMind Deep Research via MiroThinker web UI) match the declared requirements: playwright-mcp for browser automation and MIROMIND_EMAIL/MIROMIND_PASSWORD for login. Nothing requested appears unrelated to the stated purpose.
Instruction Scope
SKILL.md instructs spawning a sub-agent, using playwright to navigate to https://dr.miromind.ai/, check/login using the provided credentials, submit queries via a URL parameter, poll for completion, extract page text, and save a local Markdown report. Those steps are within scope. Note: it explicitly tells users to store account password in openclaw.json (plaintext), and the skill will write files to the user's workspace and return sub-agent sessionKey/chatUrl — these are expected but are privacy/security considerations for the user.
Install Mechanism
This is an instruction-only skill with no install spec; it depends on the separate playwright-mcp skill and Playwright browser runtime (npx playwright install chromium). No arbitrary remote downloads or unknown installers are included in this package.
Credentials
Only two env vars are required (MIROMIND_EMAIL and MIROMIND_PASSWORD), which is proportionate because the skill needs to log into the MiroMind website. Caveat: the guidance recommends putting the password into openclaw.json env in plaintext — this is a user-config choice that increases risk if the config file is not protected.
Persistence & Privilege
The skill is not always-enabled and is user-invocable. It spawns isolated sub-agents for tasks and writes reports to a local workspace path under the skill's directory; it does not request system-wide privileges or modify other skills' configs.
Assessment
This skill appears to do what it claims: it automates the MiroMind website using a browser automation skill and needs your MiroMind email and password to log in. Before installing: (1) Understand you will be storing account credentials in OpenClaw configuration (the README suggests placing the password in openclaw.json), which may be stored in plaintext — consider using a dedicated account or verify OpenClaw's secret management. (2) Confirm you trust https://dr.miromind.ai and are comfortable allowing an automated session to log in and extract content. (3) Verify the playwright-mcp skill you install is from a trusted source. (4) If you prefer not to store passwords, check whether the service offers API tokens or OAuth alternatives. If any of these are unacceptable, do not install or use the skill.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🔬 Clawdis
OSLinux · macOS · Windows
Binsplaywright-mcp
EnvMIROMIND_EMAIL, MIROMIND_PASSWORD
Primary envMIROMIND_EMAIL
latestvk97191rrzbf9rwpy35zedp7g09836aft
209downloads
0stars
2versions
Updated 1mo ago
v0.1.1
MIT-0
Linux, macOS, Windows

MiroMind Deep Research Skill

🔬 使用 MiroThinker AI 进行深度研究,支持长链推理与多轮验证。

官网: https://dr.miromind.ai/
模型: MiroThinker-1.7 (235B)


安装 (Installation)

# 1. 安装 Playwright MCP Skill
clawhub install playwright-mcp

# 2. 确保 Playwright 浏览器已安装
npx playwright install chromium

配置 (Configuration)

⚠️ 首次使用必须配置

OpenClaw 推荐使用 openclaw.jsonenv section 存储凭据。

配置步骤

  1. 编辑 OpenClaw 配置文件:
# 打开 openclaw.json
openclaw config edit
  1. env section 中添加凭据:
{
  "env": {
    "MIROMIND_EMAIL": "your@email.com",
    "MIROMIND_PASSWORD": "your-password"
  }
}
  1. 重启 OpenClaw Gateway:
openclaw gateway restart

首次配置提示

当检测到环境变量未配置时,显示以下提示:

🔬 首次使用 MiroMind Skill 需要配置!

请在 openclaw.json 中添加以下配置:

{
  "env": {
    "MIROMIND_EMAIL": "你的邮箱",
    "MIROMIND_PASSWORD": "你的密码"
  }
}

配置后重启 gateway: openclaw gateway restart

使用方法 (Usage)

/miromind [研究主题或问题]

示例

/miromind 预测2026年黄金价格走势
/miromind 分析英伟达最新财报的关键数据
/miromind 调查量子计算领域的最新突破

无输入提示 (Tips)

当用户只触发命令但没有输入研究主题时,显示:

🔬 MiroMind Deep Research Skill

使用 MiroThinker AI 进行深度研究!

📚 可研究的主题示例:
   • 金融分析:「比特币2026年价格走势」「黄金走势预测」
   • 新闻验证:「某事件是真的吗?」「调查某个新闻的真实性」
   • 趋势预测:「AI行业未来发展趋势」「某个技术的发展前景」
   • 学术研究:「量子计算最新突破」「某个科学领域的进展」
   • 商业分析:「某公司财务状况分析」「市场竞争格局研究」

🚀 使用方法:
   /miromind [你的研究问题]

⚡ 注意:研究过程可能需要 3-10 分钟,请耐心等待~

执行流程 (Execution Flow)

1. 你触发命令
          ↓
2. 检查环境变量配置
          ↓
3. Spawn sub-agent (isolated session)
          ↓
4. Sub-agent:
   a. 使用 browser tool 打开网站
   b. 检查登录状态(如未登录则登录)
   c. 使用 URL 直接提交研究(核心方法!)
   d. 获取 chat URL 并返回给 main session
   e. 轮询检查研究状态
   f. 研究完成 → 提取结论 + 保存报告
          ↓
5. 返回 chat URL 给用户,让他们可以查看进度
          ↓
6. 研究完成 → 返回结论 + 报告文件路径

🔑 核心发现:URL 直接提交法

关键发现:MiroMind 网站可以通过 URL 参数直接提交研究,避免按钮点击问题。

格式

https://dr.miromind.ai/?noReleaseNotes&query=<URL编码的研究问题>

示例

https://dr.miromind.ai/?noReleaseNotes&query=Claude%20Sonnet%205%20%E5%92%8C%E6%96%B0%E5%8A%9F%E8%83%BD

Sub-Agent 执行流程

Spawn 参数

sessions_spawn({
  task: "执行 MiroMind 深度研究...",
  runtime: "subagent",
  runTimeoutSeconds: 900,  // 15 分钟
  mode: "run"  // 或 "session"
})

Sub-Agent 返回值

必须返回以下信息:

{
  sessionKey: "xxx",        // sub-agent session key
  chatUrl: "https://dr.miromind.ai/chat/019d0712-904f-7282-b0b5-1b6a438443b1",
  query: "研究问题",
  status: "running"  // 或 "completed"
}

chatUrl 格式:

https://dr.miromind.ai/chat/<UUID>

从 page.url() 获取。

⚠️ 重要:sub-agent spawn 时会返回 sessionKey,spawn 完成后立即返回 chatUrl 给 main session,让用户可以查看进度。


完整执行步骤

步骤 1:检查环境变量

const email = process.env.MIROMIND_EMAIL;
const password = process.env.MIROMIND_PASSWORD;

if (!email || !password) {
  return { error: "❌ 请先配置环境变量 MIROMIND_EMAIL 和 MIROMIND_PASSWORD" };
}

步骤 2:打开网站

await browser.navigate("https://dr.miromind.ai/");
await page.waitForTimeout(2000);

步骤 3:检查登录状态

// 查找右上角用户名按钮(不写死用户名)
// 中英文双重检查
const loginBtnZh = await page.$('button:has-text("登录")');
const loginBtnEn = await page.$('button:has-text("Sign in")');
const loginBtn = loginBtnZh || loginBtnEn;

if (loginBtn) {
  // 需要登录
  const email = process.env.MIROMIND_EMAIL;
  const password = process.env.MIROMIND_PASSWORD;
  // ... 登录逻辑
} else {
  // 已登录
}

步骤 4:使用 URL 提交研究(核心!)

// 构建 URL
const query = encodeURIComponent("你的研究问题");
const submitUrl = `https://dr.miromind.ai/?noReleaseNotes&query=${query}`;

// 导航到 URL
await page.goto(submitUrl);
await page.waitForTimeout(3000);

// 验证 URL 变化(表示成功创建研究)
const currentUrl = page.url();
if (!currentUrl.includes("/chat/")) {
  throw new Error("研究提交失败");
}

// URL 应该是类似:/chat/019d0705-xxx-xxx
// 这个 URL 就是 chatUrl,需要返回给 main session
const chatUrl = page.url(); // 例如: https://dr.miromind.ai/chat/019d0712-904f-7282-b0b5-1b6a438443b1

步骤 5:轮询等待研究完成

const startTime = Date.now();
const maxWait = 20 * 60 * 1000; // 20 分钟

while (Date.now() - startTime < maxWait) {
  const status = await page.evaluate(() => {
    const bodyText = document.body.innerText;
    
    // 运行中
    if (bodyText.includes("任务在后台运行")) {
      return "running";
    }
    
    // 完成 - 查找"显示思考过程 总结"按钮
    const completeBtn = document.querySelector("button:has-text('显示思考过程')");
    if (completeBtn) {
      return "complete";
    }
    
    return "unknown";
  });
  
  if (status === "complete") {
    console.log("研究完成!");
    break;
  }
  
  console.log("研究进行中...");
  await page.waitForTimeout(10000); // 每 10 秒检查
}

步骤 6:提取研究结果

// 点击"显示思考过程 总结"展开完整内容(如有)
const showBtn = await page.$("button:has-text('显示思考过程')");
if (showBtn) {
  await showBtn.click();
  await page.waitForTimeout(2000);
}

// 提取主内容
const content = await page.evaluate(() => {
  const main = document.querySelector("main main") || document.querySelector("main");
  return main ? main.innerText : "";
});

// 保存报告
const filename = `mirothinker-${Date.now()}.md`;
const filepath = path.join(outputDir, filename);

const report = `# MiroMind Deep Research Report

**研究主题**: ${query}
**研究时间**: ${new Date().toLocaleString()}

---

${content}
`;

fs.writeFileSync(filepath, report);
return filepath;

完整代码模板

async function runMiroResearch(query) {
  // 1. 检查环境变量
  const email = process.env.MIROMIND_EMAIL;
  const password = process.env.MIROMIND_PASSWORD;
  
  if (!email || !password) {
    return { error: "请配置 MIROMIND_EMAIL 和 MIROMIND_PASSWORD 环境变量" };
  }
  
  // 2. 打开网站
  await page.goto("https://dr.miromind.ai/");
  await page.waitForTimeout(2000);
  
  // 3. 检查登录状态(如需要则登录)
  // ...登录逻辑...
  
  // 4. 使用 URL 提交研究
  const encodedQuery = encodeURIComponent(query);
  const submitUrl = `https://dr.miromind.ai/?noReleaseNotes&query=${encodedQuery}`;
  await page.goto(submitUrl);
  await page.waitForTimeout(3000);
  
  // 5. 验证成功
  if (!page.url().includes("/chat/")) {
    return { error: "研究提交失败" };
  }
  
  // 6. 轮询等待完成
  await pollForCompletion(page);
  
  // 7. 提取结果
  const content = await extractContent(page);
  
  // 8. 保存
  const filepath = await saveReport(query, content);
  
  return { success: true, filepath, content };
}

目录结构

~/.openclaw/workspace/skills/mirothinker/
├── SKILL.md              # 本文件
├── outputs/              # 研究结果
│   └── *.md             # 完整 Markdown 报告
└── session/             # Session 持久化
    └── cookies.json     # Cookies 数据(可选)

技术要点

  • URL 提交法:直接用 URL 参数提交,绕过按钮点击问题
  • noReleaseNotes 参数:跳过发布说明弹窗
  • 轮询检查:每 10 秒检查一次状态
  • 超时处理:20 分钟超时
  • 提取内容:使用 page.evaluate() 获取 innerText

Comments

Loading comments...