Przejdź do treści
Biblioteka skilli
Nauka i badania · Konwersja i formaty

glmocr-formula

/glmocr-formula

Rozpoznaje wzory matematyczne z obrazów i PDF i zapisuje je w LaTeX przez API ZhiPu GLM-OCR, w tym złożone równania, wzory w tekście i bloki wzorów.

Repozytorium
glm-ocr ↗
Licencja
Apache-2.0
Ostatnia zmiana repozytorium
14.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
2
Skrypty
1
Komentarze HTML
0
Adresy URL w SKILL.md
7
Przestarzałość

Brak sygnałów. Repozytorium zmienione 14.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.

Co sprawdzić przed instalacją
  • 1 skrypt w paczce. Przejrzyj je przed instalacją, bo Claude może je uruchomić.

Skrypty: scripts/glm_ocr_cli.py

Co robi i kiedy

Rozpoznaje wzory matematyczne z obrazów i PDF i zapisuje je w LaTeX przez API ZhiPu GLM-OCR, w tym złożone równania, wzory w tekście i bloki wzorów.

Oryginalny opis (EN)

Official skill for recognizing and extracting mathematical formulas from images and PDFs into LaTeX format using ZhiPu GLM-OCR API. Supports complex equations, inline formulas, and formula blocks. Use this skill when the user wants to extract formulas, convert formula images to LaTeX, or OCR mathematical expressions.

Jak działa

  1. When to Use / 使用场景
  2. Key Features / 核心特性
  3. Resource Links / 资源链接
  4. Prerequisites / 前置条件
  5. Security & Transparency / 安全与透明度
  6. How to Use / 使用方法
  7. CLI Reference / CLI 参数
  8. Response Format / 响应格式
  9. Error Handling / 错误处理
Sekcje z nagłówków SKILL.md, w oryginale · 208 linii, 1 005 słów
Podgląd SKILL.md
---
name: glmocr-formula
description:
  Official skill for recognizing and extracting mathematical formulas from images and PDFs into LaTeX format
  using ZhiPu GLM-OCR API. Supports complex equations, inline formulas, and formula blocks.
  Use this skill when the user wants to extract formulas, convert formula images to LaTeX,
  or OCR mathematical expressions.
metadata:
  openclaw:
    requires:
      env:
        - ZHIPU_API_KEY
        - GLM_OCR_TIMEOUT
      bins:
        - python
    primaryEnv: ZHIPU_API_KEY
    emoji: "📐"
    homepage: https://github.com/zai-org/GLM-OCR/tree/main/skills/glmocr-formula
---

# GLM-OCR Formula Recognition Skill / GLM-OCR 公式识别技能

Recognize mathematical formulas from images and PDFs and convert them to LaTeX format using the ZhiPu GLM-OCR layout parsing API.

## When to Use / 使用场景

- Extract mathematical formulas from images or scanned documents / 从图片或扫描件中提取数学公式
- Convert formula images to LaTeX / 将公式图片转为 LaTeX 格式
- Recognize complex equations, integrals, matrices / 识别复杂方程、积分、矩阵
- Parse scientific papers, textbooks, exam papers with formulas / 解析含公式的论文、教材、试卷
- User mentions "formula OCR", "extract formula", "公式识别", "公式OCR", "提取公式", "图片转LaTeX"

## Key Features / 核心特性

- **Complex formula support**: Handles integrals, summations, matrices, fractions, radicals
- **LaTeX output**: Formulas are output in LaTeX format, ready for use in documents
- **Inline & block formulas**: Recognizes both inline and display-style formulas
- **Mixed content**: Can handle documents with both text and formulas
- **Local file & URL**: Supports both local files and remote URLs

## Resource Links / 资源链接

| Resource        | Link                                                                           |
| --------------- | ------------------------------------------------------------------------------ |
| **Get API Key** | [智谱开放平台 API Keys](https://bigmodel.cn/usercenter/proj-mgmt/apikeys)      |
| **API Docs**    | [Layout Parsing / 版面解析](https://docs.bigmodel.cn/api-reference/%E6%A8%A1%E5%9E%8B-api/%E6%96%87%E6%A1%A3%E8%A7%A3%E6%9E%90) |

## Prerequisites / 前置条件

### API Key Setup / API Key 配置(Required / 必需)

脚本通过 `ZHIPU_API_KEY` 环境变量获取密钥,可与其他智谱技能复用同一个 key。
This script reads the key from the `ZHIPU_API_KEY` environment variable. Reusing the same key across Zhipu skills is optional.

**Get Key / 获取 Key:** Visit [智谱开放平台 API Keys](https://bigmodel.cn/usercenter/proj-mgmt/apikeys) to create or copy your key.

**Setup options / 配置方式(任选一种):**

1. **Global config (recommended) / 全局配置(推荐):** Set once in `openclaw.json` under `env.vars`, all Zhipu skills will share it:

   ```json
   {
     "env": {
       "vars": {
         "ZHIPU_API_KEY": "你的密钥"
       }
     }
   }
   ```

2. **Skill-level config / Skill 级别配置:** Set for this skill only in `openclaw.json`:

   ```json
   {
     "skills": {
       "entries": {
         "glmocr-formula": {
           "env": {
             "ZHIPU_API_KEY": "你的密钥"
           }
         }
       }
     }
   }
   ```

3. **Shell environment variable / Shell 环境变量:** Add to `~/.zshrc`:
   ```bash
   export ZHIPU_API_KEY="你的密钥"
   ```

> 💡 如果你已为其他智谱 skill(如 `glmocr`、`glmv-caption`、`glm-image-generation`)配置过 key,它们共享同一个 `ZHIPU_API_KEY`,无需重复配置。

## Security & Transparency / 安全与透明度

- **Environment variables used / 使用的环境变量:**
  - `ZHIPU_API_KEY` (required / 必需)
  - `GLM_OCR_TIMEOUT` (optional timeout seconds / 可选超时秒数)
- **Fixed endpoint / 固定官方端点:** `https://open.bigmodel.cn/api/paas/v4/layout_parsing`
- **No custom API URL override / 不支持自定义 API URL 覆盖:** avoids accidental key exfiltration via redirected endpoints.
- **Raw upstream response is optional / 原始响应默认不返回:** use `--include-raw` only when needed for debugging.

**⛔ MANDATORY RESTRICTIONS / 强制限制 ⛔**

1. **ONLY use GLM-OCR API** — Execute the script `python scripts/glm_ocr_cli.py`
2. **NEVER parse formulas yourself** — Do NOT try to extract formulas using built-in vision or any other method
3. **NEVER offer alternatives** — Do NOT suggest "I can try to read it" or similar
4. **IF API fails** — Display the error message and STOP immediately
5. **NO fallback methods** — Do NOT attempt formula extraction any other way

### 📋 Output Display Rules / 输出展示规则

After running the script, present the OCR result clearly and safely.

- Show extracted text/formulas (`text`) in full
- Summarization is allowed, but do not hide important extraction failures
- If `layout_details` contains formula-related entries, you may highlight them
- If the result file is saved, tell the user the file path
- Show raw upstream response only when explicitly requested or debugging (`--include-raw`)

**⚠️ LaTeX Rendering / LaTeX 渲染注意:**

OCR API returns formulas in LaTeX format (e.g., `$\frac{1}{2}$`, `$\theta^{x+1}$`). Since most chat platforms do not render LaTeX, you should ask the user **once** (on first use):

> "OCR 结果包含 LaTeX 公式,需要我将公式转为 Unicode 可读格式展示,还是保留原始 LaTeX?"

**Remember the user's choice** for the rest of the session. Do NOT ask again on subsequent calls unless the user explicitly changes their preference.

- **User chooses readable format** → convert LaTeX to Unicode/plain-text:

| LaTeX                                                | Unicode / 纯文本  |
| ---------------------------------------------------- | ----------------- |
| `$\frac{a}{b}$`                                      | a/b               |
| `$x^{n}$`                                            | x^n               |
| `$x_{i}$`                                            | xᵢ                |
| `$\sqrt{x}$`                                         | √x                |
| `$\theta$`                                           | θ                 |
| `$\phi$`                                             | φ                 |
| `$\therefore$`                                       | ∴                 |
| `$\Rightarrow$`                                      | ⇒                 |
| `$\left\{ \begin{array}{l} ... \end{array} \right.$` | ⎧ line1 ⎨ line2 ⎩ |
| `$\textcircled{1}$`                                  | ①                 |
| `$\in$`                                              | ∈                 |
| `$\infty$`                                           | ∞                 |
| `$\ln$`                                              | ln                |
| `$\leq$` / `$\geq$`                                  | ≤ / ≥             |

- **User chooses raw LaTeX** → display the original LaTeX output directly, and remind them the raw data is also saved in the output file if `--output` was used.

## How to Use / 使用方法

### Extract from URL / 从 URL 提取

```bash
python scripts/glm_ocr_cli.py --file-url "https://example.com/formula.png"
```

### Extract from Local File / 从本地文件提取

```bash
python scripts/glm_ocr_cli.py --file /path/to/equation.png
```

### Save Result to File / 保存结果到文件

```bash
python scripts/glm_ocr_cli.py --file formula.png --output result.json --pretty
```

### Include Raw Upstream Response (Debug Only) / 包含原始上游响应(仅调试)

```bash
python scripts/glm_ocr_cli.py --file formula.png --output result.json --include-raw
```

## CLI Reference / CLI 参数

```
python {baseDir}/scripts/glm_ocr_cli.py (--file-url URL | --file PATH) [--output FILE] [--pretty] [--include-raw]
```

| Parameter        | Required | Description                                                      |
| ---------------- | -------- | ---------------------------------------------------------------- |
| `--file-url`     | One of   | URL to image/PDF                                                 |
| `--file`         | One of   | Local file path to image/PDF                                     |
| `--output`, `-o` | No       | Save result JSON to file                                         |
| `--pretty`       | No       | Pretty-print JSON output                                         |
| `--include-raw`  | No       | Include raw upstream API response in `result` field (debug only) |

## Response Format / 响应格式

```json
{
  "ok": true,
  "text": "Extracted formulas and text in Markdown/LaTeX...",
  "layout_details": [...],
  "result": null,
  "error": null,
  "source": "/path/to/file",
  "source_type": "file",
  "raw_result_included": false
}
```

Key fields:

- `ok` — whether extraction succeeded
- `text` — extracted text in Markdown with LaTeX formulas
- `layout_details` — layout analysis details
- `error` — error details on failure

## Error Handling / 错误处理

**API key not configured:**

```
ZHIPU_API_KEY not configured. Get your API key at: https://bigmodel.cn/usercenter/proj-mgmt/apikeys
```

→ Show exact error to user, guide them to configure

**Authentication failed (401/403):** API key invalid/expired → reconfigure

**Rate limit (429):** Quota exhausted → inform user to wait

**File not found:** Local file missing → check path
Pliki w paczce (2)
  • SKILL.md 9 KB
  • scripts/glm_ocr_cli.py 12 KB

Wersje

W bazie nie ma innych skilli o nazwie glmocr-formula.

Identyczna treść występuje jeszcze w 1 innych folderach na GitHubie. Tu pokazujemy jedną, najlepiej ocenioną kopię.

Migawka bazy z 28.10.2026 · wersja paczki 21113fce38ad (skrót SHA-256 całej paczki)

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100glmocr-table
    Rozpoznaje tabele z obrazów i PDF i zapisuje je w markdown przez API ZhiPu GLM-OCR, także złożone tabele, scalone komórki i dokumenty wielostronicowe.
  • 100glmocr
    Wyodrębnia tekst z obrazów i PDF przez API GLM-OCR: tabele, wzory, pismo ręczne oraz skany dokumentów.
  • 100glmocr-handwriting
    Rozpoznaje pismo ręczne z obrazów przez API ZhiPu GLM-OCR: różne style pisma, języki i mieszane treści ręczne oraz drukowane.
  • 100marker
    Konwertuje dokumenty PDF na Markdown przez marker_single, zachowując wzory LaTeX, równania i strukturę, co sprawdza się przy artykułach naukowych i dokumentach z notacją matematyczną.
  • 100mathjax-rendering
    Renderuje wzory matematyczne w Obsidianie składnią LaTeX i MathJax: równania, macierze, całki, sumy i inną notację w notatkach.
  • 100academic-formula-inserter
    Wstawia, formatuje i numeruje formuły matematyczne w pracach naukowych Word i LaTeX, w tym konwersję LaTeX do OMML i walidację pod standardy czasopism.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.