LoongSuite Pilot

September 3, 2026 · View on GitHub

LoongSuite

Local telemetry collector for AI coding agents

CI Release License Node.js OpenTelemetry

English | 简体中文

Overview | Quick Start | Documentation | Community | Contributing


Overview

LoongSuite Pilot is a local telemetry collector for AI coding agents. It discovers supported agents on a developer machine, installs the required hooks or plugins, normalizes activity into a shared GenAI event schema, and exports logs or traces to your chosen backends.

LoongSuite Pilot local dashboard
Built-in local dashboard — multi-agent token usage, sessions, requests, tools, models, providers, and repository activity at a glance.

Development teams often use more than one AI coding agent, and each agent records activity in a different local format. Pilot gives teams one local collector that can discover those agents, collect their activity, normalize the data, and send it to destinations that are useful for analysis, audit, and observability.

Pilot is designed to answer practical questions:

  • Which agents are being used?
  • What model, session, turn, and tool activity happened?
  • How much token usage is available from each agent?
  • Where should the data be exported: local files, SLS, HTTP, or traces?
  • How should sensitive prompts, tool arguments, and secrets be controlled before export?

Highlights

CapabilityWhat Pilot Does
Agent discoveryDetects supported agents from local paths and commands.
Collection deploymentInstalls hooks or plugins and reads local logs, sessions, or data files.
Unified event schemaNormalizes agent-native events into a shared GenAI schema.
Multi-destination outputExports to JSONL, Alibaba Cloud SLS, HTTP, and OTLP trace backends.
Privacy controlsSupports per-agent content capture policy and secret masking before output.
Local operationsProvides service status, restart, rollback, and a built-in local dashboard.

Supported Agents

AgentIntegrationTrace ExportLog ExportToken UsageConversation / Tool Calls
Claude CodeHookYesYesYesYes
CodexHookYesYesYesYes
CursorHookYesYesYesYes
Cursor CLIShared Cursor hookYesYesYesYes
DeepSeek HarnessYAML patch plugin + local JSONL pollingYesYesYesYes
Grok BuildHook + local session logsYesYesYesYes
Hermes AgentNative directory pluginYesYesYesYes
Kiro CLIHook / session pollingYesYesNoYes
MiMo CodePlugin injectionYesYesYesYes
OpenClawPlugin injectionYesYesYesYes
OpenCodePlugin injectionYesYesYesYes
Pi Coding AgentExtension injectionYesYesYesYes
QoderHookYesYesYesYes
Qoder CNHookYesYesYesYes
Qoder for JetBrainsDetection-onlyYesYesYesYes
Qoder CLIHook / session pollingYesYesYesYes
Qoder WorkHook / local data pollingYesYesYesYes
Qoder Work CNHook / local data pollingYesYesYesYes
Qwen Code CLIHookYesYesYesYes
Qwen Work CNHook / local data pollingYesYesYesYes
WukongCLI API pollingYesYesYesYes
WorkBuddyHook wakeup + local transcript watch/poll fallbackYesYesYesYes

OpenClaw integration requires OpenClaw 2026.5.12 or later.

DeepSeek Harness (dsh) loads Pilot's observability plugin from its user-level cordis.patch.yml. The integration captures native LLM, reasoning, tool, token, and time-to-first-token events. See Agent Configuration for activation, source-log, disable, and uninstall behavior.

Documented Windows Agent Support

The table above describes Pilot's general integration capabilities; it does not imply that every agent is supported on every operating system. The following agents are currently explicitly documented as supported on Windows:

AgentWindows IntegrationTrace ExportLog ExportToken UsageConversation / Tool CallsRequirement
Claude CodeHookYesYesYesYes
CursorHookYesYesYesYes
Qoder WorkHook / local data sourceYesYesNoYesUser edition
Qoder CLIHookYesYesNoYes
Qoder IDEHook / local data sourceYesYesYesYesQoder 1.10.0 or later, User edition
OpenCodePlugin injectionYesYesYesYes
WorkBuddyHook wakeup + local transcriptYesYesYesYesWorkBuddy Desktop 5.3.5.0; Windows 11 installed-product E2E

Agents omitted from this Windows table do not currently have an explicit Windows support statement; omission does not necessarily mean that the agent cannot run on Windows. See the Alibaba Cloud AI Coding Agent access guide for the source support matrix and Installation for Windows prerequisites and setup.

Agent definitions live in agents.d/. You can add new agents without changing the deployment framework; see Agent Onboarding.

Quick Start

Prerequisites:

  • Node.js 18 or later
  • npm
  • curl or wget
  • PowerShell 5.1 or later on Windows

Install from the public package on Linux or macOS:

curl -fsSL https://loongcollector-community-edition.oss-cn-shanghai.aliyuncs.com/loongsuite-pilot/installer.sh -o /tmp/loongsuite-pilot-installer.sh && bash /tmp/loongsuite-pilot-installer.sh install

Install from the public package on Windows:

$installer = "$env:TEMP\loongsuite-pilot-installer.ps1"
Invoke-WebRequest `
  -Uri "https://loongcollector-community-edition.oss-cn-shanghai.aliyuncs.com/loongsuite-pilot/installer.ps1" `
  -OutFile $installer
powershell.exe -NoProfile -ExecutionPolicy Bypass -File $installer install

Verify the service:

loongsuite-pilot status
loongsuite-pilot info

Local JSONL output is enabled by default under ~/.loongsuite-pilot/logs/output/ on Linux/macOS and %USERPROFILE%\.loongsuite-pilot\logs\output\ on Windows.

For installer options, uninstall commands, and source builds, see Installation.

Configure Pilot

Configuration is loaded in this order: environment variables, then ~/.loongsuite-pilot/config.json, then built-in defaults.

Start with the guide that matches what you want to change:

TaskGuide
Choose agents and content capture policyAgent Configuration
Write local JSONL logsLocal JSONL Output
Report logs to SLSSLS Output
Report OTLP tracesTrace Output
POST events to HTTPHTTP Output
Mask secrets before outputData Masking
See global config loading and retention settingsConfiguration Guide

Upstream Trace Linking (optional)

Link collected agent spans to an upstream trace so each turn's span tree reparents under the upstream span. Disabled by default, and fully fail-open (never affects normal collection/reporting).

SettingValuesDefault
LOONGSUITE_PILOT_UPSTREAM_LINK (env) · upstreamLink.enabled (config.json)true / 1 to enable; unset, false, or 0 to disabledisabled
LOONGSUITE_PILOT_UPSTREAM_LINK_PROPAGATE_TO_TOOLS (env) · upstreamLink.propagateToTools (config.json)propagate trace context and optional resource attributes to supported CLI tool callsdisabled
LOONGSUITE_PILOT_UPSTREAM_LINK_GENERATE_TRACE_WHEN_MISSING (env) · upstreamLink.generateTraceWhenMissing (config.json)generate and propagate a per-turn local trace context when no valid upstream context is availabledisabled
LOONGSUITE_PILOT_UPSTREAM_LINK_TTL_MS (env) · upstreamLink.ttlMs (config.json)cleanup TTL in ms for acp-correlate files86400000 (24h)

When enabled, the upstream traceparent reaches Pilot via one of two schemes and is stamped onto collected records (trace_id on the turn, parent_span_id on the user-input event):

  • Correlation file (per-turn): the caller writes {sessionId, contentHash, contentPrefix, traceparent} to ~/.loongsuite-pilot/acp-correlate/<sessionId>.jsonl when it sends a prompt. Linking is protocol-agnostic — the only requirement is that sessionId matches the gen_ai.session.id Pilot collects for that turn, and the content (hash or prefix) matches the collected user text. ACP clients satisfy this naturally (the session/new id flows into collection), so ACP is the primary case.
  • Environment (TRACEPARENT on the agent process): applied to the session's first turn, via the agent's hook. Use this when the caller cannot obtain a per-turn sessionId up front.

For Claude Code, enabling both upstreamLink.enabled and propagateToTools passes context into main-agent Bash calls. Pilot's PreToolUse(Bash) hook reserves the TOOL span id, prepends TRACEPARENT (and valid TRACESTATE, when present) to the Bash command, then reuses that id when the Stop hook builds the TOOL span. Optionally enable generateTraceWhenMissing so turns without upstream context generate and propagate a local trace. Set LOONGSUITE_PILOT_RESOURCE_ATTRIBUTES on the Claude Code process to have Pilot map it to standard OTEL_RESOURCE_ATTRIBUTES for the downstream CLI. Prefer config.json for the three upstreamLink switches: environment variables affect only processes that inherit them, and loongsuite-pilot restart alone does not change an already-running Claude Code hook environment. The downstream CLI must extract Trace Context and configure its own exporter. This capability is fail-open and currently does not cover ACP-only downstream trace propagation, subagents, PowerShell, MCP tools, or non-Bash tools.

Output Data

BackendUse Case
JSONLLocal backup and easy inspection. Enabled by default.
SLSAlibaba Cloud Log Service reporting. Supports WebTracking, AK, and API Key modes.
HTTPPOST batches to a custom endpoint.
OTLP TraceExport GenAI activity as OpenTelemetry traces.

LoongSuite Pilot emits a normalized GenAI event schema across all supported agents. See Output Event Schema for event names, field definitions, provider values, finish reasons, and sensitivity notes for opt-in content fields.

Operate Pilot

Use the loongsuite-pilot command after installation:

loongsuite-pilot start
loongsuite-pilot stop
loongsuite-pilot restart
loongsuite-pilot status
loongsuite-pilot info
loongsuite-pilot token-usage
loongsuite-pilot rollback

The local dashboard starts and stops with the collector. Open http://127.0.0.1:8765/; no separate monitor command is required. It reads the collector-owned logs/metrics-summary.json file directly.

On macOS, optionally run loongsuite-pilot dashboard shortcut install to create a Dashboard .webloc shortcut with a radar icon and add it to the Dock's files area. Normal installation and upgrades do not add shortcuts. It opens the configured URL in your default browser without starting or stopping Pilot. After changing the port, run the shortcut install command again. See Dashboard shortcut.

macOS menu bar app:

On macOS, Pilot automatically runs a menu bar app after installation — no extra command needed. It shows live token, session, request, and tool counts, plus per-agent and per-provider breakdowns, so you can keep an eye on activity without opening the dashboard.

If you quit the menu bar app, reopen it without restarting collection:

loongsuite-pilot menubar start

Run this in your macOS desktop terminal without sudo. Pilot must already be running. The command persists "enableStatusBarApp": true in the active config.json; repeated calls reuse the running app.

To close only the menu bar app, run loongsuite-pilot menubar stop. Collection keeps running, and stopping an already closed app succeeds. The command persists "enableStatusBarApp": false, so the next collector startup leaves it closed.

LoongSuite Pilot macOS menu bar app

The LOONGSUITE_PILOT_ENABLE_STATUS_BAR_APP environment variable still has higher priority than config.json. Unset a disabling value before menubar start; an enabling value can override the setting written by menubar stop on future Pilot starts.

Documentation

User Manual - Complete guide to installing, configuring, operating, and extending Pilot

Installation Guide - Install from package, verify service, uninstall, and run from source

Configuration Reference - Global config loading, runtime switches, retention, and links to output and privacy setup

Output Schema - Normalized event names, fields, provider values, and finish reasons

Developer Guide - Add support for a new AI coding agent

Development

git clone https://github.com/alibaba/loongsuite-pilot.git
cd loongsuite-pilot
npm install
npm run build
node scripts/postinstall.js
node dist/index.js

For local development:

npm install
npm run build
npm run typecheck
npm test

For packaging and service installation from a local build, see Installation.

Contributing

Issues and pull requests are welcome. Before submitting a change, run the same core checks used by CI:

npm ci
npm run typecheck
npm test
npm run build

To add support for another AI coding agent, start with the Agent Onboarding Guide. Report bugs and propose features through GitHub Issues.

Community

We are looking forward to your feedback and suggestions. Scan the QR code below to join the LoongSuite Pilot DingTalk group.

LoongSuite Pilot SIG

LoongSuite Ecosystem

ProjectRole
LoongCollectorHigh-performance collector for logs, metrics, traces, events, and profiles.
LoongSuite JavaShared GenAI telemetry utilities for Java instrumentation.
LoongSuite GoCompile-time auto-instrumentation for Go applications.
LoongSuite PythonOpenTelemetry auto-instrumentation for Python and GenAI applications.
LoongSuite JSOpenTelemetry integrations for JavaScript AI agents.
LoongSuite PilotLocal telemetry collector for AI coding agents.

License

Apache License 2.0 - see LICENSE for details.