WebdriverIO maintainer agents, built as Managed Deep Agents and deployed to LangSmith.
Each package in this monorepo is a code-first agent that helps run the webdriverio/webdriverio project — for example triaging issues or labeling pull requests for the changelog. Agents share a common layout (agent.ts, instructions.md, connectors, channels, sandbox) and are deployed with the mda CLI.
| Package | Purpose |
|---|---|
issue-triager |
Triage new GitHub issues: completeness, duplicates, classification, contribution invites |
pr-labeler |
Apply PR: … changelog labels so lerna-changelog / pnpm changelog stay accurate |
Packages are listed in pnpm-workspace.yaml. The Deploy Agents workflow discovers that list and can deploy all agents or a subset.
- Node.js 24.x (see
.nvmrc) - pnpm 11 (see root
packageManager) - Access to Managed Deep Agents private beta on LangSmith Cloud (US region)
- A LangSmith API key and a model provider key (
OPENROUTER_API_KEYfor Kimi K3)
Managed Deep Agents pairs the Deep Agents harness with managed infrastructure (sandboxes, Context Hub, traces, hosted LangGraph). See the overview for when to use MDA vs self-hosted Deep Agents.
pnpm installEach agent has an env.example. Copy it to .env inside that package and fill in secrets (never commit .env):
cp issue-triager/env.example issue-triager/.env
cp pr-labeler/env.example pr-labeler/.envTypical secrets: LANGSMITH_API_KEY, OPENROUTER_API_KEY, GITHUB_TOKEN (PAT for sandbox gh), MDA_INGRESS_SECRET, plus per-agent GitHub App values for webhook channels. Actions stores App secrets as MDA_PR_LABELER_GITHUB_* / MDA_ISSUE_TRIAGER_GITHUB_* (cannot start with GITHUB_); CI maps them into each agent .env.
From an agent package:
cd issue-triager # or pr-labeler
pnpm exec mda dev .mda dev compiles the project and opens it in LangSmith Studio. Provider keys and connector tokens come from the package .env. Details: quickstart — run locally.
pnpm exec mda deploy issue-triager --name issue-triager
# or
pnpm exec mda deploy pr-labeler --name pr-labelermda deploy syncs instructions.md and skills/** to Context Hub, uploads the compiled project, and creates/updates a LangSmith hosted deployment. See Deploy an agent.
Run Deploy Agents (workflow_dispatch) with agents=all or a comma-separated list (e.g. pr-labeler,issue-triager). Required repository secrets are documented in .github/workflows/deploy-agents.yml.
Follow the LangChain Managed Deep Agents quickstart and tutorial, then wire the package into this workspace.
From the repo root (TypeScript, to match existing agents):
pnpm exec mda init my-agentOr copy an existing package (issue-triager / pr-labeler) and rename it. The CLI expects a code-first layout; file location determines role (project file reference):
my-agent/
agent.ts # required: export const agent = defineDeepAgent(...)
instructions.md # system prompt (synced to Context Hub on deploy)
identity.ts # optional: caller identity + credentials
package.json
.env # secrets — do not commit
tools/ # authored LangChain tools (imported by agent.ts)
middleware/
connectors/ # e.g. GitHub checkout + gh CLI
channels/ # e.g. GitHub App webhooks
schedules/ # managed cron jobs
skills/<name>/SKILL.md
sandbox/ # LangSmith sandbox + setup.sh
The managed runtime owns backend, store, checkpointer, memory, skills, and the system prompt — do not set those on defineDeepAgent. Configure model, tools, middleware, subagents, and interrupts in agent.ts; put behavior policy in instructions.md.
Minimal entry:
import { ChatOpenRouter } from "@langchain/openrouter";
import { defineDeepAgent } from "managed-deepagents";
export const agent = defineDeepAgent({
model: new ChatOpenRouter({
model: "moonshotai/kimi-k3",
}),
});Add the directory to pnpm-workspace.yaml:
packages:
- 'pr-labeler'
- 'issue-triager'
- 'my-agent'Then install from the repo root:
pnpm install- Write
instructions.md(agent policy). - Add tools, connectors, channels, skills, or a sandbox as needed — see custom tools, connectors, identity, and schedules.
- Copy
env.example→.envand set keys. - Run
pnpm exec mda dev my-agent(orcd my-agent && pnpm exec mda dev .). - Deploy with
pnpm exec mda deploy my-agent --name my-agent.
For a full walkthrough of tools, memory, and cron schedules, use the tutorial. For how compilation, Context Hub, and the deploy lifecycle fit together, see How Managed Deep Agents work.
No workflow changes are required if the package is listed in pnpm-workspace.yaml — Deploy Agents discovers workspace packages automatically. Add any new secrets the agent needs to the GitHub repository and to the workflow’s .env writing step if they are not already forwarded.
| Topic | Link |
|---|---|
| Managed Deep Agents overview | docs.langchain.com |
| Quickstart | docs.langchain.com |
| Tutorial | docs.langchain.com |
| How it works | docs.langchain.com |
| CLI / project layout | docs.langchain.com |
| Deploy | docs.langchain.com |
| Deep Agents (OSS harness) | docs.langchain.com |