能力标签
OpenClaw线性插件
⚙️
Agent工作流

OpenClaw线性插件

基于 TypeScript · 无代码搭建完整 AI 自动化流程
英文名:openclaw-linear-plugin
⭐ 12 Stars 🍴 1 Forks 💻 TypeScript 📄 MIT 🏷 AI 7.5分
7.5AI 综合评分
AI工作流TypeScript
✦ AI Skill Hub 推荐

AI Skill Hub 推荐使用:OpenClaw线性插件 是一款优质的Agent工作流。AI 综合评分 7.5 分,在同类工具中表现稳健。如果你正在寻找可靠的Agent工作流解决方案,这是一个值得深入了解的选择。

📚 深度解析

OpenClaw线性插件 是一套完整的 AI Agent 自动化工作流方案。随着 AI 能力的不断提升,基于 Agent 的自动化工作流正在成为提升个人和团队效率的核心方式。区别于传统的 RPA 自动化(模拟鼠标键盘操作),AI Agent 工作流通过理解任务意图、动态规划执行路径,能够处理更复杂的非结构化任务。

OpenClaw线性插件 工作流的设计遵循"最小配置,最大复用"原则:核心逻辑已经封装好,用户只需配置自己的 API Key 和业务参数即可快速上手。工作流内置错误处理和重试机制,在网络波动或 API 限速等情况下仍能稳定运行,适合作为生产环境的自动化基础设施。

在实际部署时,建议先在测试环境中运行 3-5 次,验证各个环节的输出结果符合预期,再部署到生产环境。AI Skill Hub 评分 7.5 分,是同类 Agent 工作流中的精选推荐。

📋 工具概览

Linear Agent插件,支持OAuth和多语言

OpenClaw线性插件 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。

GitHub Stars
⭐ 12
开发语言
TypeScript
支持平台
Windows / macOS / Linux
维护状态
轻量级项目,按需更新
开源协议
MIT
AI 综合评分
7.5 分
工具类型
Agent工作流
Forks
1

📖 中文文档

以下内容由 AI Skill Hub 根据项目信息自动整理,如需查看完整原始文档请访问底部「原始来源」。

Linear Agent插件,支持OAuth和多语言

OpenClaw线性插件 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。

📌 核心特色
  • 可视化 Agent 工作流编排,无需编写复杂代码
  • 支持多步骤自动化任务链,实现全流程无人值守
  • 与外部 API、数据库和第三方服务无缝集成
  • 内置错误处理与自动重试机制,保障稳定运行
  • 提供可复用的自动化模板,快速在同类场景部署
🎯 主要使用场景
  • 自动化日常重复性工作,将精力集中于创造性任务
  • 构建数据采集 → 处理 → 输出的完整自动化管线
  • 实现跨平台、跨系统的数据流转和业务协同
以下安装命令基于项目开发语言和类型自动生成,实际以官方 README 为准。
安装命令
# 方式一:npm 全局安装
npm install -g openclaw-linear-plugin

# 方式二:npx 直接运行(无需安装)
npx openclaw-linear-plugin --help

# 方式三:项目依赖安装
npm install openclaw-linear-plugin

# 方式四:从源码运行
git clone https://github.com/calltelemetry/openclaw-linear-plugin
cd openclaw-linear-plugin
npm install
npm start
📋 安装步骤说明
  1. 访问 GitHub 仓库获取工作流文件
  2. 在对应平台(Dify / Flowise / Make 等)中找到「导入工作流」功能
  3. 上传工作流文件
  4. 按照提示配置必要的环境变量和 API Key
  5. 运行测试确认流程正常后投入使用
以下用法示例由 AI Skill Hub 整理,涵盖最常见的使用场景。
常用命令 / 代码示例
# 命令行使用
openclaw-linear-plugin --help

# 基本用法
openclaw-linear-plugin [options] <input>

# Node.js 代码中使用
const openclaw_linear_plugin = require('openclaw-linear-plugin');

const result = await openclaw_linear_plugin.run(options);
console.log(result);
以下配置示例基于典型使用场景生成,具体参数请参照官方文档调整。
配置示例
# openclaw-linear-plugin 配置说明
# 查看配置选项
openclaw-linear-plugin --config-example > config.yml

# 常见配置项
# output_dir: ./output
# log_level: info
# workers: 4

# 环境变量(覆盖配置文件)
export OPENCLAW_LINEAR_PLUGIN_CONFIG="/path/to/config.yml"
📑 README 深度解析 真实文档 完整度 76/100 含工作流图 查看 GitHub 原文 →
以下内容由系统直接从 GitHub README 解析整理,保留代码块、表格与列表结构。

简介

<p align="center"> <img src="docs/logo.jpeg" alt="OpenClaw Linear Plugin" width="720" /> </p>

Features

What's in the worktree

Every dispatch creates a .claw/ folder inside the worktree with everything the agent did:

/home/claw/worktrees/ENG-100/
├── .claw/
│   ├── manifest.json       # Issue metadata, tier, status, attempt count
│   ├── worker-0.md         # What the worker did on attempt 1
│   ├── worker-1.md         # What the worker did on attempt 2 (if retried)
│   ├── audit-0.json        # Audit verdict for attempt 1
│   ├── audit-1.json        # Audit verdict for attempt 2
│   ├── log.jsonl           # Timeline of every phase with timing
│   └── summary.md          # Final summary (written on done or stuck)
├── src/                    # ← your code, modified by the agent
├── tests/
└── ...

If something went wrong, start with log.jsonl — it shows every phase, how long it took, and a preview of the output.

---

1. Install the plugin

openclaw plugins install @calltelemetry/openclaw-linear

Tunnel Setup (Cloudflare)

Linear delivers webhooks over the public internet. The gateway listens on localhost:18789 and needs a public HTTPS endpoint. A Cloudflare Tunnel is the recommended approach — no open ports, no TLS cert management, no static IP required.

flowchart TB subgraph Internet LW["Linear Webhooks
Comment, Issue, AgentSession"] LO["Linear OAuth
callback redirect"] end subgraph CF["Cloudflare Edge"] TLS["TLS termination + DDoS protection"] end subgraph Server["Your Server"] CD["cloudflared
outbound-only tunnel"] GW["openclaw-gateway
localhost:18789"] end LW -- "POST /linear/webhook" --> TLS LO -- "GET /linear/oauth/callback" --> TLS TLS -- "tunnel" --> CD CD -- "HTTP" --> GW

How it works: cloudflared opens an outbound connection to Cloudflare's edge and keeps it alive. Cloudflare routes incoming HTTPS requests for your hostname back through the tunnel to localhost:18789. No inbound firewall rules needed.

Install cloudflared

```bash

Setup

{
  "notifications": {
    "targets": [
      { "channel": "discord", "target": "1471743433566715974" },
      { "channel": "telegram", "target": "-1003884997363" },
      { "channel": "slack", "target": "C0123456789", "accountId": "my-acct" }
    ],
    "events": {
      "auditing": false
    },
    "richFormat": true
  }
}
  • targets — Where to send notifications (channel name + ID)
  • events — Toggle specific events off (all on by default)
  • richFormat — Set to true for Discord embeds with colors and Telegram HTML formatting

Quick Start

Tip: Claude Code is very good at setting this up for you. Install the plugin, install the Cloudflare CLI and authenticate (cloudflared tunnel login), then just ask Claude to configure the rest. Or run the guided setup wizard:
> openclaw openclaw-linear setup
> 
It walks through agent profiles, auth, webhook provisioning, and verification in one interactive flow.

Example Custom Prompts

worker:
  system: "You are a senior engineer. Write clean, tested code."
  task: |
    Issue: {{identifier}} — {{title}}

    {{description}}

    Workspace: {{worktreePath}}

    Implement this issue. Write tests. Commit your work.

audit:
  system: "You are a strict code auditor."

rework:
  addendum: |
    PREVIOUS AUDIT FAILED. Fix these gaps:
    {{gaps}}

Configure the tunnel

Create /etc/cloudflared/config.yml (system-wide) or ~/.cloudflared/config.yml (user):

tunnel: <TUNNEL_ID>
credentials-file: /home/<user>/.cloudflared/<TUNNEL_ID>.json

ingress:
  - hostname: linear.yourdomain.com
    service: http://localhost:18789
  - service: http_status:404    # catch-all, reject unmatched requests

The ingress rule routes all traffic for your hostname to the gateway on localhost. The catch-all http_status:404 rejects requests for any other hostname.

Phase 1: Planning (optional)

Trigger: Comment "let's plan the features" on a project issue.

For larger work, the planner breaks a project into issues before any code is written. It enters interview mode — asking questions, creating issues with user stories and acceptance criteria, and building a dependency graph in real time.

sequenceDiagram actor Human participant Linear participant Plugin participant Planner as Planner Agent participant Reviewer as Cross-Model Reviewer Human->>Linear: "plan this project" Plugin->>Planner: start interview loop Until plan is complete Planner-->>Linear: question Human->>Linear: reply Planner-->>Linear: create/update issues end Human->>Linear: "looks good" Plugin->>Plugin: validate DAG + descriptions Plugin->>Reviewer: cross-model audit Reviewer-->>Plugin: recommendations Plugin-->>Linear: summary + ask for approval Human->>Linear: "approve plan" Plugin-->>Linear: dispatch issues in dependency order

The planner proactively asks for: - User stories — "As a [role], I want [feature] so that [benefit]" - Acceptance criteria — Given/When/Then format - UAT test scenarios — How to manually verify the feature

What you'll see in Linear:

I've created 3 issues: - PROJ-2: Build search API endpoint (3 pts, blocks PROJ-3) - PROJ-3: Search results page (2 pts, blocked by PROJ-2) - PROJ-4: Autocomplete suggestions (1 pt, independent) Does that cover it? Should the autocomplete call a separate endpoint or share the search API?

When you say "looks good", the planner validates the plan (descriptions, estimates, no circular deps) and sends it to a different AI model for a cross-model review:

Your primary modelAuto-reviewer
Claude / AnthropicCodex
Codex / OpenAIGemini
Gemini / GoogleCodex
Other (Kimi, Mistral, etc.)Gemini

After approval, issues are dispatched automatically in dependency order — up to 3 in parallel.

📊 Search Feature: 2/3 complete

Configuration

Add settings under the plugin entry in openclaw.json:

{
  "plugins": {
    "entries": {
      "openclaw-linear": {
        "config": {
          "defaultAgentId": "coder",
          "maxReworkAttempts": 2,
          "enableAudit": true
        }
      }
    }
  }
}

Plugin Settings

KeyTypeDefaultWhat it does
defaultAgentIdstring"default"Which agent runs the pipeline
classifierAgentIdstringAgent for intent classification (use a small/fast model like Haiku)
plannerReviewModelstringautoCross-model plan reviewer: "claude", "codex", or "gemini". Auto-detects the complement of your primary model.
enableAuditbooleantrueRun auditor after implementation
enableOrchestrationbooleantrueAllow spawn_agent / ask_agent tools
maxReworkAttemptsnumber2Max audit failures before escalation
codexBaseRepostring"/home/claw/ai-workspace"Git repo for worktrees
worktreeBaseDirstring"~/.openclaw/worktrees"Where worktrees are created
reposobjectMulti-repo map (see [Multi-Repo](#multi-repo))
projectNamestringHuman-readable project name (injected into agent prompts)
dispatchStatePathstring"~/.openclaw/linear-dispatch-state.json"Dispatch state file
planningStatePathstring"~/.openclaw/linear-planning-state.json"Planning session state file
promptsPathstringCustom prompts file path
notificationsobjectNotification targets (see [Notifications](#notifications))
inactivitySecnumber120Kill agent if silent this long
maxTotalSecnumber7200Max total agent session time
toolTimeoutSecnumber600Max single CLI tool time
enableGuidancebooleantrueInject Linear workspace/team guidance into agent prompts
teamGuidanceOverridesobjectPer-team guidance toggle. Key = team ID, value = boolean. Unset teams inherit enableGuidance.
claudeApiKeystringAnthropic API key for Claude CLI (passed as ANTHROPIC_API_KEY env var). Required if using Claude backend.

Environment Variables

VariableRequiredWhat it does
LINEAR_CLIENT_IDYesOAuth app client ID
LINEAR_CLIENT_SECRETYesOAuth app client secret
LINEAR_API_KEYNoPersonal API key (fallback)

Step 1.5: Sync labels to Linear (optional)

If you plan to use labels (Method B below) to tag issues, run this to create the repo:xxx labels automatically:

openclaw openclaw-linear repos sync

This reads your repos config and creates matching labels (repo:api, repo:frontend, etc.) in every Linear team. To preview without creating anything:

openclaw openclaw-linear repos check

The check command also validates your repo paths — it'll warn you if a path doesn't exist, isn't a git repo, or is a submodule (which won't work with multi-repo dispatch).

Quick Reference

What you do in LinearWhat happens
Create a new issueAgent triages — adds estimate, labels, priority
Assign an issue to the agentWorker → Audit → Done (or retry, or escalate)
Comment anything on an issueIntent classifier routes to the right handler
Mention an agent by name (with or without @)That agent responds
Ask a question or request workDefault agent handles it
Say "close this" / "mark as done" / "this is resolved"Closure report posted, issue moved to completed
Say "plan this project" (on a project issue)Planning interview starts
Reply during planningIssues created/updated with user stories & AC
Say "looks good" / "finalize plan"Validates → cross-model review → approval
Say "approve plan" (after review)Dispatches all issues in dependency order
Say "cancel" / "abandon planning"Exits planning mode
/dispatch listShows all active dispatches
/dispatch retry CT-123Re-runs a stuck dispatch
/dispatch status CT-123Detailed dispatch info
Add `` to issue bodyMulti-repo dispatch

---

Gateway API

For programmatic access, the plugin registers these RPC methods:

MethodWhat it does
dispatch.listList dispatches (filterable by status, tier)
dispatch.getGet full dispatch details
dispatch.retryRe-dispatch a stuck issue
dispatch.escalateForce-stuck with a reason
dispatch.cancelRemove an active dispatch
dispatch.statsCounts by status and tier

---

`linear_issues` — Native Linear API

Agents call linear_issues with typed JSON parameters. The tool wraps the Linear GraphQL API directly and handles all name-to-ID resolution automatically.

ActionWhat it doesKey parameters
readGet full issue details (status, labels, comments, relations)issueId
createCreate a new issue or sub-issuetitle, description, teamId or parentIssueId
updateChange status, priority, labels, estimate, or titleissueId + fields
commentPost a comment on an issueissueId, body
list_statesGet available workflow states for a teamteamId
list_labelsGet available labels for a teamteamId

Sub-issues: Use action="create" with parentIssueId to create sub-issues under an existing issue. The new issue inherits teamId and projectId from its parent automatically. Only orchestrators on triaged issues have create access — workers and auditors cannot create issues.

Linear API & Hook Architecture

This section documents every interaction between the plugin and the Linear GraphQL API, the webhook event routing, the hook lifecycle, and the dispatch pipeline internals.

GraphQL API Layer

All Linear API calls go through LinearAgentApi (src/api/linear-api.ts), which wraps https://api.linear.app/graphql with automatic token refresh, retry resilience, and 401 recovery.

Token resolution (resolveLinearToken) checks three sources in priority order:

  1. pluginConfig.accessToken — static config
  2. Auth profile store (~/.openclaw/auth-profiles.json) — OAuth tokens with auto-refresh
  3. LINEAR_ACCESS_TOKEN / LINEAR_API_KEY environment variable

OAuth tokens get a Bearer prefix; personal API keys do not. Tokens are refreshed 60 seconds before expiry via refreshLinearToken(), and the refreshed credentials are persisted back to the auth profile store.

API methods by category:

CategoryMethodGraphQL OperationUsed By
**Issues**getIssueDetails(issueId)query IssueTriage, audit, close, linear_issues tool
createIssue(input)mutation IssueCreatePlanner
updateIssue(issueId, input)mutation IssueUpdateTriage (labels, estimate, priority)
updateIssueExtended(issueId, input)mutation IssueUpdatelinear_issues tool, close handler
createIssueRelation(input)mutation IssueRelationCreatePlanner (dependency DAG)
**Comments**createComment(issueId, body, opts)mutation CommentCreateAll phases (fallback delivery)
createReaction(commentId, emoji)mutation ReactionCreateAcknowledgment reactions
**Sessions**createSessionOnIssue(issueId)mutation AgentSessionCreateOnIssueComment handler, close handler
emitActivity(sessionId, content)mutation AgentActivityCreatePrimary response delivery
updateSession(sessionId, input)mutation AgentSessionUpdateExternal URLs, plan text
**Teams**getTeamStates(teamId)query TeamStateslinear_issues tool, close handler
getTeamLabels(teamId)query TeamLabelslinear_issues tool, triage
getTeams()query TeamsDoctor health check
| | createLabel(teamId, name, opts) | `mu

Core Pipeline

  • Auto-triage — New issues get story point estimates, labels, and priority within seconds. Read-only mode — no side effects.
  • Worker → Auditor pipeline — Assign an issue and a worker implements it in an isolated git worktree. An independent auditor verifies the work. The worker cannot self-certify — the audit is hard-enforced in plugin code.
  • Complexity-tier dispatch — The plugin assesses each issue and picks the right model. Simple typo? Haiku. Multi-service refactor? Opus. Saves cost and latency without manual intervention.
  • Automatic rework — Failed audits feed gaps back to the worker as context. Retries up to N times before escalating. No human needed until the agents are stuck.

Step 1: Tell the plugin where your repos live

Add a repos map to your plugin config in openclaw.json. The key is a short name you pick, the value is the absolute path to that repo on disk:

{
  "plugins": {
    "entries": {
      "openclaw-linear": {
        "config": {
          "repos": {
            "api": "/home/claw/repos/api",
            "frontend": "/home/claw/repos/frontend",
            "shared": "/home/claw/repos/shared-libs"
          }
        }
      }
    }
  }
}

Restart the gateway after saving: systemctl --user restart openclaw-gateway

🇨🇳 中文文档镜像 AI 翻译 2026-06-05
英文原文章节由系统翻译为中文摘要,便于快速理解。完整原文见上方 "📑 README 深度解析"。
📌 简介

本项目是 OpenClaw Linear Plugin 的 README 文档,介绍了该插件的功能和使用方法。

⚡ 功能介绍

本插件提供了多项功能,包括自动分配任务、代码审查、重写和测试等。它还支持 Cloudflare Tunnel 的设置和使用。

🛠 安装步骤(Docker/pip/源码)

安装 OpenClaw Linear Plugin,需要使用以下命令:openclaw plugins install @calltelemetry/openclaw-linear

🚀 使用教程

使用 OpenClaw Linear Plugin,需要按照以下步骤进行:安装 Cloudflare CLI、配置 Cloudflare Tunnel、设置插件配置等。

⚙️ 配置说明(含 MCP / env)

配置 OpenClaw Linear Plugin,需要在 openclaw.json 文件中添加以下设置:defaultAgentId、maxReworkAttempts、enableAudit 等。

🔌 API 说明

OpenClaw Linear Plugin 提供了多个 API 接口,包括 dispatch.list、dispatch.get、dispatch.retry 等,用于程序化访问插件功能。

🔄 工作流/模块

OpenClaw Linear Plugin 的工作流包括 Auto-triage、Worker → Auditor pipeline 等阶段,用于自动分配任务、代码审查和重写等功能。

🎯 aiskill88 AI 点评 A 级 2026-05-29

高质量的AI工作流插件,支持OAuth和多语言

📚 实用指南(长尾问题)
适合谁
  • 需要 openclaw-linear-plugin 解决具体问题的开发者与运营人员
最佳实践
  • 先在测试环境跑通最小用例,再接入生产数据
常见错误
  • API key 直接提交到 git 仓库(请用 .env 并加入 .gitignore)
部署方案
  • 云端托管:可放在 Vercel / Railway / Fly.io 等 PaaS 平台
相关搜索
openclaw-linear-plugin 中文教程openclaw-linear-plugin 安装报错怎么办openclaw-linear-plugin 与同类工具对比openclaw-linear-plugin 最佳实践openclaw-linear-plugin 适合谁用

⚡ 核心功能

👥 适合谁
  • 需要 openclaw-linear-plugin 解决具体问题的开发者与运营人员
⭐ 最佳实践
  • 先在测试环境跑通最小用例,再接入生产数据
⚠️ 常见错误
  • API key 直接提交到 git 仓库(请用 .env 并加入 .gitignore)

👥 适合人群

自动化工程师和运维人员项目经理和业务分析师希望减少重复性工作的专业人士数字化转型团队

🎯 使用场景

  • 自动化日常重复性工作,将精力集中于创造性任务
  • 构建数据采集 → 处理 → 输出的完整自动化管线
  • 实现跨平台、跨系统的数据流转和业务协同

⚖️ 优点与不足

✅ 优点
  • +MIT 协议,可免费商用
  • +大幅减少重复性人工操作
  • +可视化流程,清晰直观
  • +可扩展性强,支持复杂场景
⚠️ 不足
  • 初始配置和调试需投入一定时间
  • 强依赖外部服务的稳定性
  • 复杂场景需具备一定技术基础
⚠️ 使用须知

AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。

建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。

📄 License 说明

✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。

🔗 相关工具推荐

📚 相关教程推荐
📰 相关 AI 新闻
🍿 AI 圈相关吃瓜
🗺️ 相关解决方案
🧩 你可能还需要
基于当前 Skill 的能力图谱,自动补全的工具组合

❓ 常见问题 FAQ

openclaw-linear-plugin 是一款TypeScript开发的AI辅助工具。开源AI工作流:Linear Agent plugin for OpenClaw — webhook-driven AI pipeline with OAuth, multi-。⭐12 · TypeScript 主要应用场景包括:自动化AI工作流。
💡 AI Skill Hub 点评

总体来看,OpenClaw线性插件 是一款质量良好的Agent工作流,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。

⬇️ 获取与下载
⬇ 下载源码 ZIP

✅ MIT 协议 · 可免费商用 · 直接从 aiskill88 服务器下载,无需跳转 GitHub

📚 深入学习 OpenClaw线性插件
查看分步骤安装教程和完整使用指南,快速上手这款工具
🌐 原始信息
原始名称 openclaw-linear-plugin
原始描述 开源AI工作流:Linear Agent plugin for OpenClaw — webhook-driven AI pipeline with OAuth, multi-。⭐12 · TypeScript
Topics AI工作流TypeScript
GitHub https://github.com/calltelemetry/openclaw-linear-plugin
License MIT
语言 TypeScript
🔗 原始来源
🐙 GitHub 仓库  https://github.com/calltelemetry/openclaw-linear-plugin

收录时间:2026-05-29 · 更新时间:2026-05-30 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。