← 全部工具

Michaelliv/runline

AI Agent
热度 60 更新于 开发与构建

⚡ Code mode for agents

githubauto-collected

安装

暂未验证可直接使用的安装命令,请查看项目官方文档或 Release。

runline ⚡

Code mode for agents.

Turn any API or host capability into a callable action. Install a plugin, write JavaScript, call actions. Code runs in a QuickJS WASM runtime with plugin globals; enable the built-in node plugin when you want filesystem, path, OS, process, crypto, shell, and fetch actions.

npm install -g runline

Quick Start

npm install -g runline
runline init
runline connection add bf --plugin brandfetch --set apiKey=xxx

runline exec 'return await brandfetch.brand.getColors({ domain: "nike.com" })'
# => [{ hex: "#E5E5E5", type: "accent" }, { hex: "#111111", type: "dark" }, ...]

All 204 built-in plugins ship bundled inside runline — no per-plugin install step. Just add a connection for the one you want to use. Agent code runs in a QuickJS runtime: each configured plugin is a top-level global, dot-chain into resource and action. Configure the built-in node plugin for host work like node.fs.readFile, node.process.execFile, node.path.join, node.crypto.hash, and node.fetch.

// agent writes this
const company = await brandfetch.brand.getCompany({ domain: "stripe.com" });
const deals = await pipedrive.deal.list({ limit: 10 });
const issue = await github.issue.create({
  owner: "acme", repo: "api",
  title: `New lead: ${company.name}`,
  body: `${deals.length} open deals`
});
return { company: company.name, issue: issue.number };

Plugins

204 built-in plugins covering popular SaaS, DevOps, productivity, image-generation APIs, and host Node capabilities. All ship with the package — no separate install needed.

Set the env var shown in the Auth column, add a connection, and go:

export GITHUB_TOKEN=ghp_xxx
runline connection add gh --plugin github --set token=$GITHUB_TOKEN
runline exec 'return await github.user.listRepos({ username: "torvalds" })'

| Plugin | Actions | Resources | Auth | |--------|--------:|-----------|------| | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/actionNetwork.svg" width="16" height="16" style="vertical-align: middle" actionNetwork | 23 | attendance, event, person, petition, signature, tag, personTag | ACTIONNETWORKAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/activeCampaign.svg" width="16" height="16" style="vertical-align: middle" activeCampaign | 48 | contact, account, accountContact, contactTag, contactList, list, tag, deal, connection, ecomCustomer, ecomOrder, ecomOrderProduct | ACTIVECAMPAIGNAPIURL, ACTIVECAMPAIGNAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/adalo.svg" width="16" height="16" style="vertical-align: middle" adalo | 5 | collection | ADALOAPPID, ADALOAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/affinity.svg" width="16" height="16" style="vertical-align: middle" affinity | 16 | list, listEntry, person, organization | AFFINITYAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/agileCrm.png" width="16" height="16" style="vertical-align: middle" agileCrm | 15 | contact, company, deal | AGILECRMSUBDOMAIN, AGILECRMEMAIL, AGILECRMAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/airtable.svg" width="16" height="16" style="vertical-align: middle" airtable | 10 | base, record | AIRTABLETOKEN | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/airtop.svg" width="16" height="16" style="vertical-align: middle" airtop | 24 | session, window, extraction, interaction, agent, file | AIRTOPAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/apiTemplateIo.svg" width="16" height="16" style="vertical-align: middle" apiTemplateIo | 4 | account, template, image, pdf | APITEMPLATEIOAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/asana.svg" width="16" height="16" style="vertical-align: middle" asana | 22 | task, subtask, taskComment, taskTag, taskProject, user, project | ASANATOKEN | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/autopilot.svg" width="16" height="16" style="vertical-align: middle" autopilot | 11 | contact, contactJourney, contactList, list | AUTOPILOTAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/bambooHr.svg" width="16" height="16" style="vertical-align: middle" bambooHr | 11 | employee, employeeDocument, file, companyReport | BAMBOOHRSUBDOMAIN, BAMBOOHRAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/bannerbear.png" width="16" height="16" style="vertical-align: middle" bannerbear | 4 | image, template | BANNERBEARAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/baserow.svg" width="16" height="16" style="vertical-align: middle" baserow | 8 | row | BASEROWHOST, BASEROWTOKEN | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/beeminder.png" width="16" height="16" style="vertical-align: middle" beeminder | 18 | datapoint, charge, goal, user | BEEMINDERAPITOKEN | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/bitly.svg" width="16" height="16" style="vertical-align: middle" bitly | 3 | link | BITLYACCESSTOKEN | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/bitwarden.svg" width="16" height="16" style="vertical-align: middle" bitwarden | 19 | collection, event, group, member | BITWARDENCLIENTID, BITWARDENCLIENTSECRET | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/box.svg" width="16" height="16" style="vertical-align: middle" box | 11 | file, folder | BOXACCESSTOKEN | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/brandfetch.svg" width="16" height="16" style="vertical-align: middle" brandfetch | 5 | brand | BRANDFETCHAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/brevo.svg" width="16" height="16" style="vertical-align: middle" brevo | 15 | contact, attribute, email, sender | BREVOAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/bubble.svg" width="16" height="16" style="vertical-align: middle" bubble | 5 | object | BUBBLEAPITOKEN, BUBBLEAPPNAME | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/chargebee.png" width="16" height="16" style="vertical-align: middle" chargebee | 5 | customer, invoice, subscription | CHARGEBEEACCOUNTNAME, CHARGEBEEAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/circleci.svg" width="16" height="16" style="vertical-align: middle" circleci | 3 | pipeline | CIRCLECIAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/ciscoWebex.svg" width="16" height="16" style="vertical-align: middle" ciscoWebex | 10 | message, meeting | WEBEXACCESSTOKEN | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/clearbit.svg" width="16" height="16" style="vertical-align: middle" clearbit | 3 | person, company | CLEARBITAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/clickup.svg" width="16" height="16" style="vertical-align: middle" clickup | 61 | checklist, checklistItem, comment, folder, goal, goalKeyResult, guest, task, taskTag, taskList, taskDependency, spaceTag, list, timeEntry, timeEntryTag | CLICKUPACCESSTOKEN | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/clockify.svg" width="16" height="16" style="vertical-align: middle" clockify | 25 | client, project, tag, task, timeEntry, user, workspace | CLOCKIFYAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/cloudflare.svg" width="16" height="16" style="vertical-align: middle" cloudflare | 4 | zoneCertificate | CLOUDFLAREAPITOKEN | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/cockpit.svg" width="16" height="16" style="vertical-align: middle" cockpit | 5 | collection, form, singleton | COCKPITURL, COCKPITACCESSTOKEN | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/coda.svg" width="16" height="16" style="vertical-align: middle" coda | 18 | table, formula, control, view | CODAACCESSTOKEN | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/coingecko.svg" width="16" height="16" style="vertical-align: middle" coingecko | 10 | coin, event | | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/contentful.svg" width="16" height="16" style="vertical-align: middle" contentful | 7 | space, contentType, entry, asset, locale | CONTENTFULSPACEID, CONTENTFULDELIVERYTOKEN | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/convertkit.svg" width="16" height="16" style="vertical-align: middle" convertkit | 16 | customField, form, sequence, tag, tagSubscriber | CONVERTKITAPISECRET | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/copper.svg" width="16" height="16" style="vertical-align: middle" copper | 32 | company, lead, opportunity, person, project, task, customerSource, user | COPPERAPIKEY, COPPEREMAIL | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/cortex.svg" width="16" height="16" style="vertical-align: middle" cortex | 4 | analyzer, job, responder | CORTEXHOST, CORTEXAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/currents.svg" width="16" height="16" style="vertical-align: middle" currents | 22 | action, instance, project, run, signature, specFile, test, testResult | CURRENTSAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/customerIo.svg" width="16" height="16" style="vertical-align: middle" customerIo | 9 | campaign, customer, event, segment | CUSTOMERIOSITEID, CUSTOMERIOTRACKINGAPIKEY, CUSTOMERIOAPPAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/databricks.svg" width="16" height="16" style="vertical-align: middle" databricks | 34 | sql, files, genie, modelServing, catalog, table, volume, function, vectorSearch | DATABRICKSHOST, DATABRICKSTOKEN | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/deepl.svg" width="16" height="16" style="vertical-align: middle" deepl | 2 | language | DEEPLAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/demio.svg" width="16" height="16" style="vertical-align: middle" demio | 4 | event, report | DEMIOAPIKEY, DEMIOAPISECRET | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/dhl.svg" width="16" height="16" style="vertical-align: middle" dhl | 1 | shipment | DHLAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/discord.svg" width="16" height="16" style="vertical-align: middle" discord | 13 | channel, member, message | DISCORDBOTTOKEN, DISCORDGUILDID | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/discourse.svg" width="16" height="16" style="vertical-align: middle" discourse | 16 | category, group, post, user, userGroup | DISCOURSEHOST, DISCOURSEAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/disqus.svg" width="16" height="16" style="vertical-align: middle" disqus | 4 | forum | DISQUSAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/docker.svg" width="16" height="16" style="vertical-align: middle" docker | 5 | containers, images | — | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/drift.svg" width="16" height="16" style="vertical-align: middle" drift | 5 | contact | DRIFTACCESSTOKEN | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/dropbox.svg" width="16" height="16" style="vertical-align: middle" dropbox | 9 | file, folder, search | DROPBOXACCESSTOKEN | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/dropcontact.svg" width="16" height="16" style="vertical-align: middle" dropcontact | 2 | contact | DROPCONTACTAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/egoi.svg" width="16" height="16" style="vertical-align: middle" egoi | 4 | contact | EGOIAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/elasticsearch.svg" width="16" height="16" style="vertical-align: middle" elasticsearch | 9 | document, index | ELASTICSEARCHURL | | elevenlabs | 20 | dialogue, audio, history, voices, pronunciationDictionaries, models, speech, transcription, music, sound | ELEVENLABSAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/emelia.svg" width="16" height="16" style="vertical-align: middle" emelia | 9 | campaign, contactList | EMELIAAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/erpnext.svg" width="16" height="16" style="vertical-align: middle" erpnext | 5 | document | ERPNEXTHOST, ERPNEXTAPIKEY, ERPNEXTAPISECRET | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/facebookGraph.svg" width="16" height="16" style="vertical-align: middle" facebookGraph | 1 | request | FACEBOOKACCESSTOKEN | | fal | 8 | image, video, run, queue | FALKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/freshdesk.svg" width="16" height="16" style="vertical-align: middle" freshdesk | 10 | ticket, contact | FRESHDESKDOMAIN, FRESHDESKAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/freshservice.svg" width="16" height="16" style="vertical-align: middle" freshservice | 77 | agent, agentGroup, announcement, asset, assetType, change, department, location, problem, product, release, requester, requesterGroup, software, ticket, agentRole | FRESHSERVICEDOMAIN, FRESHSERVICEAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/freshworksCrm.svg" width="16" height="16" style="vertical-align: middle" freshworksCrm | 35 | account, appointment, contact, deal, note, salesActivity, task, search | FRESHWORKSCRMDOMAIN, FRESHWORKSCRMAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/getresponse.png" width="16" height="16" style="vertical-align: middle" getresponse | 5 | contact | GETRESPONSEAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/gett.svg" width="16" height="16" style="vertical-align: middle" gett | 12 | account, place, driver, ride | | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/ghost.svg" width="16" height="16" style="vertical-align: middle" ghost | 5 | post | GHOSTURL, GHOSTADMINAPIKEY | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/github.svg" width="16" height="16" style="vertical-align: middle" github | 37 | file, issue, release, commit, branch, repository, review, user, organization, workflow | GITHUBTOKEN | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/gitlab.svg" width="16" height="16" style="vertical-align: middle" gitlab | 17 | issue, release, repository, user, file | GITLABTOKEN | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/gmail.svg" width="16" height="16" style="vertical-align: middle" gmail | 32 | message, thread, draft, label, profile, alias | | | <img src="https://raw.githubusercontent.com/Michaelliv/runline/main/packages/runline-plugins/icons/gong.svg" width="16" height="16" style="vertical-align: middle" gong | 4 | call, user | GONGACCESSKEY, GONGACCESSKE