Integrate AI Coding Agents
Use LoongSuite Pilot to connect AI Coding Agent data from developer machines or containers to AgentLoop. After integration, you can analyze sessions, model calls, tool calls, token usage, logs, and trace data in AgentLoop.
Overview of LoongSuite Pilot
LoongSuite Pilot is a lightweight collector that runs on developer machines, in business containers, and in Kubernetes Pods. It automatically discovers installed AI Coding Agents and deploys the required hooks or plugins. For containers that generate configuration at runtime, invoke installation after configuration generation and before the agent process starts. LoongSuite Pilot normalizes raw activity data from different agents into a unified event format and reports the data to the log or trace backend used by AgentLoop.
Scenarios
When your team uses AI Coding Agents such as Claude Code, Codex, Cursor, or Qoder for daily development, you can use LoongSuite Pilot to collect client-side activity data for the following scenarios:
View which AI Coding Agents are used across the team.
Analyze sessions, model calls, tool calls, and error events.
Track token usage broken down by agent.
Investigate agent runtime behavior through log queries, trace links, or custom interfaces.
Filter sensitive content such as prompts, completions, and tool parameters before the data is reported.
Supported AI Coding Agents
The following tables list the AI Coding Agents and data collection capabilities that LoongSuite Pilot supports on Linux / macOS and Windows.
Linux / macOS support
AI Coding Agent | Integration method | Trace reporting | Log reporting | Token collection | Session and tool call collection |
Claude Code | Hook | Supported | Supported | Supported | Supported |
Codex | Hook | Supported | Supported | Supported | Supported |
Cursor | Hook | Supported | Supported | Supported | Supported |
Cursor CLI | Reuses the Cursor hook | Supported | Supported | Supported | Supported |
Doubao Work (macOS only, experimental) | Read-only local client logs | Client turns and local tools | Metadata only | Not supported | Not supported |
GitHub Copilot CLI | Native plugin / session and native OTel collection | Supported | Supported | Supported | Supported |
DeepSeek Harness | YAML patch plugin / local JSONL polling | Supported | Supported | Supported | Supported |
Grok Build | Hook / local session logs | Supported | Supported | Supported | Supported |
Hermes Agent | Native directory plugin | Supported | Supported | Supported | Supported |
Kiro CLI | Hook / session polling | Supported | Supported | Not supported | Supported |
MiMo Code | Plugin injection | Supported | Supported | Supported | Supported |
OpenClaw | Plugin injection | Supported | Supported | Supported | Supported |
OpenCode | Plugin injection | Supported | Supported | Supported | Supported |
Pi Coding Agent | Extension injection | Supported | Supported | Supported | Supported |
Qoder | Hook | Supported | Supported | Supported | Supported |
Qoder CN | Hook | Supported | Supported | Supported | Supported |
Qoder for JetBrains | Detection only; reuses the Qoder collection pipeline | Supported | Supported | Supported | Supported |
Qoder CLI | Hook / session polling | Supported | Supported | Supported | Supported |
Qoder Work | Hook / local data polling | Supported | Supported | Supported | Supported |
Qoder Work CN | Hook / local data polling | Supported | Supported | Supported | Supported |
Qwen Code CLI | Hook | Supported | Supported | Supported | Supported |
Qwen Work CN | Hook / local data polling | Supported | Supported | Supported | Supported |
Wukong | CLI API polling | Supported | Supported | Supported | Supported |
WorkBuddy | Hook trigger / local session listening with polling fallback | Supported | Supported | Supported | Supported |
OpenClaw integration supports OpenClaw 2026.3.8 or later. Versions earlier than 2026.5.12 use compatibility mode, and model call timing is inferred.
Token usage depends on the data that the source agent actually provides. The current Kiro CLI data source does not provide token usage. Accurate per-call token usage for GitHub Copilot CLI depends on native OTel telemetry.
Doubao Work uses experimental passive observation and supports production macOS and Windows clients only. It does not install hooks or modify the client. It reconstructs client turns and local tool traces from local client logs and native files for the current new session. Model identity, token usage, the complete cloud lifecycle, and exact model timing may be unavailable; inferred timing is not suitable for precise model-performance or call-count measurements.
Windows support
AI Coding Agent | Integration method | Trace reporting | Log reporting | Token collection | Session and tool call collection | Conditions |
Claude Code | Hook | Supported | Supported | Supported | Supported | - |
Codex | Hook | Supported | Supported | Supported | Supported | - |
Cursor | Hook | Supported | Supported | Supported | Supported | - |
Doubao Work (experimental) | Read-only local client logs | Client turns and local tools | Metadata only | Not supported | Not supported | Production client only |
Qoder Work | Hook / Local data source | Supported | Supported | Not supported | Supported | User version |
Qoder CLI | Hook | Supported | Supported | Not supported | Supported | - |
Qoder IDE | Hook / Local data source | Supported | Supported | Supported | Supported | Qoder 1.10.0 or later, User version |
Qwen Work CN | Hook / Local data source | Supported | Supported | Supported | Supported | - |
OpenCode | Plugin injection | Supported | Supported | Supported | Supported | - |
WorkBuddy | Hook trigger / local session collection | Supported | Supported | Supported | Supported | WorkBuddy Desktop 5.3.5.0; end-to-end verified with the Windows 11 installer |
Agents that are not listed in this table have no explicit Windows support statement. Being unlisted does not necessarily mean that an agent cannot run on Windows.
Prerequisites
Before you begin, make sure that the following general requirements are met:
The target AI Coding Agent is installed. For a local installation, use the agent at least once to generate its default configuration directory. For containers, prepare the configuration directory before you install hooks, or specify the installation directory with
--homefor supported agents.The AI Coding Agent integration resources have been initialized in the AgentLoop console, and you have obtained the auto-generated installation command.
macOS / Linux
Make sure that the following requirements are also met on your machine:
You usually do not need to pre-install Node.js or npm. The installer downloads and pins a managed Node.js runtime and prebuilt dependencies.
curl or wget is installed.
You can access the OSS download URLs in the installation command.
Windows
Make sure that the following requirements are also met on your machine:
Windows 10 or later.
PowerShell 5.1 or later.
You usually do not need to pre-install Node.js or npm, and you can access the OSS download URLs in the installation command.
Fallback — If the managed Node.js runtime is unavailable because the platform is not supported or the download fails, the installer falls back to the system Node.js. In this case, use a Node.js build that can load
node:sqlitewithout a flag (22.13+, 23.4+, or later) and install npm.
Known platform limits — Linux distributions that use musl, for example Alpine, currently have no matching managed Node.js artifact. On these distributions, prepare a Node.js build that can load node:sqlite without a flag (22.13+, 23.4+, or later) and install npm. Windows ARM64 can use the Pilot-managed Node.js runtime.
Choose your deployment path
Developer machines — Install LoongSuite Pilot locally to deploy hooks and start the background collection service. See "Install LoongSuite Pilot".
Containers and Kubernetes — Install hooks in the business image or at container startup to avoid starting background services during an image build. See "Deploy in containers and Kubernetes" for the environment requirements, startup order, and version requirements.
Install LoongSuite Pilot
Install LoongSuite Pilot on a developer machine to deploy hooks and start the background collection service. For containers and Kubernetes, see "Deploy in containers and Kubernetes".
(Recommended) Copy the installation command auto-generated in the AgentLoop console. The resource names and connection parameters in the command (except true and false) are generated automatically during integration resource initialization.
Obtain the Cloud Monitor (CMS) and Simple Log Service (SLS) parameter values from the AgentLoop console.
macOS / Linux
# Run the installation command. Replace all parameter values with the ones obtained above.
curl -fsSL https://aliyun-observability-release-cn-shanghai.oss-cn-shanghai.aliyuncs.com/loongsuite-pilot/installer.sh -o /tmp/loongsuite-pilot-installer.sh && bash /tmp/loongsuite-pilot-installer.sh install \
--collect-log "true" \
--collect-trace "true" \
--sls-project "your_SLS_Project_name" \
--sls-logstore "your_SLS_Logstore_name" \
--sls-endpoint "your_SLS_endpoint" \
--cms-license-key "your_Trace_License_Key" \
--cms-endpoint "your_Trace_endpoint" \
--cms-workspace "your_Trace_workspace" \
--service-name-prefix "your_service_name_prefix"Windows
# Download the installer script
Invoke-WebRequest `
-Uri 'https://aliyun-observability-release-cn-shanghai.oss-cn-shanghai.aliyuncs.com/loongsuite-pilot/installer.ps1' `
-OutFile installer.ps1
# Run the installer. Replace all parameter values with the ones obtained above.
.\installer.ps1 install `
-CollectLog 'true' `
-CollectTrace 'true' `
-SlsProject "your_SLS_Project_name" `
-SlsLogstore "your_SLS_Logstore_name" `
-SlsEndpoint "your_SLS_endpoint" `
-CmsLicenseKey "your_Trace_License_Key" `
-CmsEndpoint "your_Trace_endpoint" `
-CmsWorkspace "your_Trace_workspace" `
-ServiceNamePrefix "your_service_name_prefix"During a local installation, the installer automatically performs the following operations:
Detects the AI Coding Agents supported on your machine.
Lets you select the agents whose data you want to collect.
Deploys the corresponding hooks or plugins.
Writes the local configuration.
Starts the LoongSuite Pilot background service.
After the installation is complete, run the following commands to check the service status:
loongsuite-pilot status
loongsuite-pilot infoBy default, LoongSuite Pilot writes the local configuration, runtime status, and JSONL collection results to the .loongsuite-pilot directory in the current user's home directory. The following table lists the default paths:
Purpose | macOS / Linux | Windows |
Data root directory |
|
|
Configuration file |
|
|
Local JSONL output directory |
|
|
Agent access control file |
|
|
Deploy in containers and Kubernetes
For container deployments, use the following startup sequence:
Install the target agent and prepare its configuration directory.
Generate or mount the agent configuration.
Install the required hooks or plugins.
Start the agent process.
Some agents read configuration only when the process starts. Install hooks before this read. If configuration is written after the agent is running, a new agent process is usually required for the configuration to take effect.
Use loongsuite-pilot hook install to install hooks independently. The collector does not have to be running when the command executes. The container entrypoint and the Kubernetes start.sh can invoke the command before the business command. If your application generates agent configuration at runtime, invoke the command explicitly after configuration generation.
LoongSuite Pilot provides the following deployment methods for containers and Kubernetes:
Method | Use when | Approach |
Method 1: Integrate Pilot into the business image | You can modify the business image. | Install the agent first, then install Pilot with container mode and the agent IDs to collect. |
Method 2: Use a Kubernetes webhook | The LoongSuite Pilot webhook is deployed and enabled in the cluster. | The webhook injects the init container, shared volume, interpreter startup configuration, and shutdown hook. |
Method 3: Configure a Kubernetes init container manually | The cluster has no webhook and you want to provide the Pilot runtime through a shared volume. | An init image copies the Pilot runtime to the shared volume, and the business container runs |
After deployment, verify hook registration and data reporting. See Verify the integration result.
Prepare the deployment environment
Pilot release — Use a LoongSuite Pilot release that includes
hook installand its matching container entrypoint. The Kubernetes init image must also include/mnt/pilot/bin/loongsuite-pilot.Base image — A glibc-based Linux image, such as Debian or Ubuntu, is recommended. The shared Kubernetes runtime also requires compatible C/C++ runtime libraries in the business image. Validate runtime and dependency compatibility separately for musl-based images such as Alpine.
Shell —
start.shrequires Bash. The container entrypoint requires a POSIX shell.User and directories — Run Pilot, the hook installation command, and the agent as the same user, with the same
HOMEand agent configuration directory. The agent configuration directory and the Pilot data directory must be writable.Integration parameters — Obtain log and trace integration parameters from the AgentLoop console. Ensure that the container can reach the reporting endpoints.
Container-mode installation does not register host services or start collection during the image build, and disables automatic updates. To upgrade, rebuild the business image or update the Kubernetes init image version.
Prepare the reporting configuration
The log and trace parameters are the same as for local installations. For containers, mount the configuration at runtime. Save the following example as pilot-config.json and replace the placeholders with values from the AgentLoop console.
{
"collectLog": true,
"collectTrace": true,
"autoUpdate": { "enabled": false },
"sls": {
"mode": "webtracking",
"endpoint": "your_SLS_endpoint",
"project": "your_SLS_Project_name",
"logstore": "your_SLS_Logstore_name"
},
"cms": {
"licenseKey": "your_Trace_License_Key",
"endpoint": "your_Trace_endpoint",
"workspace": "your_Trace_workspace"
},
"serviceNamePrefix": "your_service_name_prefix"
}This example uses WebTracking. Enable WebTracking on the target Logstore. For other authentication methods, configure sls for the corresponding integration method. To collect only logs or only traces, set the other collect option to false.
Provide files that contain credentials through runtime mounts or Kubernetes Secrets. Do not include them in the business image.
Method 1: Integrate Pilot into the business image
Use this method when you can modify the business image. Install the agent first, then install Pilot with container mode and the agent IDs to collect.
The following example uses Claude Code:
FROM node:22-bookworm-slim
ARG PILOT_VERSION
RUN apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates curl bash \
&& rm -rf /var/lib/apt/lists/*
RUN npm install -g @anthropic-ai/claude-code \
&& useradd --create-home --shell /bin/bash agent
USER agent
ENV HOME=/home/agent
ENV PATH=/home/agent/.local/bin:$PATH
RUN mkdir -p /home/agent/.claude
RUN test -n "$PILOT_VERSION" \
&& curl -fsSL https://aliyun-observability-release-cn-shanghai.oss-cn-shanghai.aliyuncs.com/loongsuite-pilot/installer.sh \
-o /tmp/loongsuite-pilot-installer.sh \
&& bash /tmp/loongsuite-pilot-installer.sh install \
--mode container --agents claude-code --version "$PILOT_VERSION"
ENV AGENT_DATA_COLLECTION_CONFIG=/etc/loongsuite-pilot/config.json
ENTRYPOINT ["/home/agent/.loongsuite-pilot/entrypoint.sh"]
CMD ["claude", "-p", "hello"]docker build --build-arg PILOT_VERSION='<Pilot_version>' -t my-agent:instrumented .
docker run --rm --init --stop-timeout 30 \
--mount "type=bind,src=$(pwd)/pilot-config.json,dst=/etc/loongsuite-pilot/config.json,readonly" \
my-agent:instrumentedThe agent user in the container must be able to read pilot-config.json. Supply the agent's model-service credentials through its usual authentication mechanism.
During the build, the installer checks and deploys collection configuration for the specified agents. Deployment failure causes the build to fail. At container startup, the entrypoint reads LOONGSUITE_PILOT_AGENTS, or uses the agent list saved during the build if this variable is unset. It checks and installs hooks before starting the collector and the business process. Unchanged configuration returns up-to-date.
Generate agent configuration after container startup
If the business command generates or overwrites configuration, skip entrypoint injection and invoke installation after generation. Replace the startup settings in the Dockerfile with the following settings:
ENV LOONGSUITE_PILOT_AGENTS=none
CMD ["sh", "-c", "/app/render-settings.sh && { loongsuite-pilot hook install --agents claude-code || true; } && exec claude -p \"$TASK\""]/app/render-settings.sh is your configuration generation script, and TASK contains the task supplied at runtime. The value none skips entrypoint injection. The explicit --agents claude-code argument takes precedence over the environment variable, so the command after rendering still executes.
The || true suffix allows the business process to start if hook installation fails. To require successful installation before a task runs, remove || true; a nonzero exit code then prevents the agent from starting.
Method 2: Use a Kubernetes webhook
Use this method when the LoongSuite Pilot webhook is deployed and enabled in the cluster. The webhook injects the init container, shared volume, interpreter startup configuration, and shutdown hook. Set agentLoopSpaceName to the identifier associated with the integration task.
To use default injection, add the following labels to the Pod template of the workload:
spec:
template:
metadata:
labels:
loongsuitePilotAutoEnable: "on"
agentLoopSpaceName: "<integration_workspace_ID>"
agentLoopAgents: "claude-code"The agentLoopAgents label limits the target agents. Separate multiple IDs with commas. The default path installs hooks early when an eligible Node/Bun or CPython process starts.
Choose the injection time explicitly
If configuration must be rendered first, or you use Hermes Agent or DeepSeek Harness, use start.sh to run the complete installation before the business process starts. The following is a configuration fragment for an existing Deployment. Keep the Pod template labels and change the startup command of the business container:
spec:
template:
spec:
terminationGracePeriodSeconds: 30
containers:
- name: agent
image: my-agent:latest
command: ["/bin/sh", "-ec"]
args:
- |
/app/render-settings.sh
exec /mnt/pilot/start.sh --agents=claude-code -- claude -p "$TASK"
env:
- name: TASK
value: "review this PR"If configuration is already available, use the following settings:
command: ["/mnt/pilot/start.sh"]
args: ["--agents=claude-code", "--", "claude", "-p", "hello"]When an agent list is specified, start.sh invokes the complete installation flow. With the webhook, keep its reporting configuration and collector startup mechanism; no additional PILOT_ENABLE_DAEMON setting is needed. Preserve the environment variables and preStop injected by the webhook.
Method 3: Configure a Kubernetes init container manually
Use this method when the cluster has no webhook and you want to provide the Pilot runtime through a shared volume. Use an init image that includes this capability to copy the runtime to the volume, then execute start.sh in the business container.
Create a Secret from the reporting configuration described in "Prepare the reporting configuration". The Secret and the workload must be in the same namespace:
kubectl create secret generic pilot-config \
--from-file=config.json=pilot-config.jsonThe following Job template runs a one-off task:
apiVersion: batch/v1
kind: Job
metadata:
name: pilot-agent-demo
spec:
backoffLimit: 0
template:
spec:
restartPolicy: Never
terminationGracePeriodSeconds: 30
volumes:
- name: pilot-runtime
emptyDir: {}
- name: pilot-config
secret:
secretName: pilot-config
initContainers:
- name: pilot-init
image: <Pilot_init_image>:<version>
volumeMounts:
- name: pilot-runtime
mountPath: /mnt/pilot
containers:
- name: agent
image: my-agent:latest
command: ["/mnt/pilot/start.sh"]
args: ["--agents=claude-code", "--", "claude", "-p", "hello"]
env:
- name: PILOT_ENABLE_DAEMON
value: "true"
- name: LOONGSUITE_PILOT_DATA_DIR
value: /mnt/pilot/data
- name: AGENT_DATA_COLLECTION_CONFIG
value: /etc/loongsuite-pilot/config.json
volumeMounts:
- name: pilot-runtime
mountPath: /mnt/pilot
- name: pilot-config
mountPath: /etc/loongsuite-pilot
readOnly: true
lifecycle:
preStop:
exec:
command: ["/mnt/pilot/prestop.sh"]PILOT_ENABLE_DAEMON=true starts the collector without a webhook. The preStop hook gives the collector time to send buffered data before shutdown. The runtime and the business image must have compatible CPU architectures and runtime libraries.
If agent configuration is generated at runtime, change the startup command to render configuration and then execute start.sh, as shown in Method 2.
Specify configuration directories and multiple identities
If the same agent uses multiple configuration directories, invoke installation once for each directory after configuration generation and before the corresponding agent process starts:
loongsuite-pilot hook install \
--agents claude-code --home claude-code=/workspace/claude-profile --jsonThe --home option applies to agents whose hook or plugin configuration paths can be relocated. It is not a universal option for every agent. For Hermes Agent and DeepSeek Harness, set HERMES_HOME and DSH_HOME as required before installing by agent ID.
For example, to register a Grok Build identity directory using the shared Kubernetes runtime, run the following command:
/mnt/pilot/bin/loongsuite-pilot hook install \
--agents grok-build \
--home "grok-build=/workspace/.grok/u/<identity_directory>" \
--jsonRun the command separately for each identity. It writes hook registration configuration to hooks/loongsuite-pilot.json under that directory and creates missing directories. Grok reads this file to determine which script to run for an event; collected data is written separately to the Pilot data directory. Each identity has its own registration file. Installing for another identity does not replace an existing identity's file.
Operational recommendations
Use an explicit agent list for acceptance checks and critical tasks. Without a list,
hook installdetects all installed agents. Only the exact valuenoneskips installation; unset values, empty strings, and the literalnullall mean full detection.When the container identity can be determined, a successful named installation restricts collection deployment to agents already installed successfully and agents recorded during the image build. To add another agent later, invoke
hook installagain with its ID.For Docker, use
--init --stop-timeout 30. For Kubernetes, preserve the shutdown hook and set an appropriateterminationGracePeriodSeconds. The grace period must cover business-process shutdown and collector buffer delivery; 30 seconds is an example value.Avoid the Kubernetes
postStarthook for injection. It runs concurrently with the business entrypoint and cannot guarantee that installation finishes first.After a template overwrites configuration, install hooks again and start a new agent process. Background repair cannot guarantee that a running process reloads configuration.
Verify the integration result
After a local installation or a configuration change, check the local service status, the local collection output, and then the console. After a container deployment, check hook registration first and then start a real session to verify reporting. Successful registration does not mean that data has arrived in the console.
If the collection status is abnormal after you restart LoongSuite Pilot, run loongsuite-pilot start to start collection manually.
Check the local service status
Run the following commands to check the LoongSuite Pilot service status:
loongsuite-pilot status
loongsuite-pilot infoCheck the local collection output
macOS / Linux
ls ~/.loongsuite-pilot/logs/output
tail -f ~/.loongsuite-pilot/logs/output/*.jsonlWindows
Get-ChildItem "$env:USERPROFILE\.loongsuite-pilot\logs\output"
Get-ChildItem "$env:USERPROFILE\.loongsuite-pilot\logs\output\*.jsonl" |
Sort-Object LastWriteTime |
Select-Object -Last 1 |
Get-Content -WaitIf new events appear in the local output directory, the AI Coding Agent collection pipeline is working.
Check the AgentLoop console
After you trigger a new AI Coding Agent activity, go back to the AgentLoop console to check the data status of the corresponding integration task. Data arrival may be delayed due to local batch sending and backend processing.
Verify container integration
Check hook registration in the business container. For image integration, run the following command:
loongsuite-pilot hook status --agents claude-code --jsonkubectl exec '<Pod_name>' -c agent -- \ /mnt/pilot/bin/loongsuite-pilot hook status --agents claude-code --jsonInspect the result for the target agent. The installation status
okorup-to-dateindicates that registration is complete. On failure, usereasonandhintto correct the issue. The statusskippedmeans that installation was skipped. Full detection may return no agent results if no agents are found, so specify the target ID during acceptance checks.Start a new agent session and verify that logs or traces arrive in the AgentLoop console. The
hook statuscommand checks registration files; it does not verify that the agent loaded the configuration or that the reporting endpoint is reachable.For troubleshooting, inspect
last-hook-install.jsonandlogs/in the Pilot data directory. The default directory is~/.loongsuite-pilotin the runtime user's home directory. The manual init container example uses/mnt/pilot/data.
Verify agent collection
If the expected agent has no data, check the following:
Make sure that the target agent is installed and has been used at least once.
Make sure that the agent is not set to
offin the agent access control file. The default path is~/.loongsuite-pilot/agent-control.jsonon macOS/Linux andC:\Users\<username>\.loongsuite-pilot\agent-control.jsonon Windows.Make sure that the agent is not set to
"enabled": falsein the configuration file. The default path is~/.loongsuite-pilot/config.jsonon macOS/Linux andC:\Users\<username>\.loongsuite-pilot\config.jsonon Windows.After you modify the configuration, run
loongsuite-pilot restart.Trigger a new agent activity and then check the local output or the AgentLoop console.
Manage LoongSuite Pilot
Local dashboard
The local dashboard is disabled by default. To use it, set dashboard.enabled to true in the configuration file and restart LoongSuite Pilot. The dashboard then starts and stops together with the collection service; no separate monitor command is required. Open the following default address. If you configured a custom port, replace 8765 with that port:
http://127.0.0.1:8765/
Uninstall LoongSuite Pilot
To uninstall LoongSuite Pilot and retain local data, run the following command:
macOS / Linux
curl -fsSL https://aliyun-observability-release-cn-shanghai.oss-cn-shanghai.aliyuncs.com/loongsuite-pilot/installer.sh -o /tmp/loongsuite-pilot-installer.sh && bash /tmp/loongsuite-pilot-installer.sh uninstallWindows
.\installer.ps1 uninstallTo remove both the installation files and local data, run the following command:
macOS / Linux
curl -fsSL https://aliyun-observability-release-cn-shanghai.oss-cn-shanghai.aliyuncs.com/loongsuite-pilot/installer.sh -o /tmp/loongsuite-pilot-installer.sh && bash /tmp/loongsuite-pilot-installer.sh uninstall --purgeWindows
.\installer.ps1 uninstall -PurgeConfigure agent collection
After installation, you can control whether LoongSuite Pilot collects data from a specific AI Coding Agent by modifying the agents section in the local configuration file. The following table lists the default configuration file paths:
OS | Configuration file path |
macOS / Linux |
|
Windows |
|
The following example collects data from Claude Code and Cursor and disables data collection for Qoder:
{
"agents": {
"claude-code": {
"enabled": true
},
"cursor": {
"enabled": true
},
"qoder": {
"enabled": false
}
}
}Configuration | Description |
| Enables data collection for this agent. LoongSuite Pilot still checks whether the corresponding data source exists on your machine. |
| Disables data collection for this agent. |
After you modify the configuration, restart LoongSuite Pilot:
loongsuite-pilot restartConfigure data masking
LoongSuite Pilot can mask common credentials and personal sensitive data in normalized events before the events are sent to the output backend. Masking applies to scenarios in which prompts, completions, tool parameters, or tool results may contain credentials or personal sensitive data.
To enable or adjust the masking policy, modify the local configuration file. The following table lists the default configuration file paths:
OS | Configuration file path |
macOS / Linux |
|
Windows |
|
To enable all masking rules, use the following configuration:
{
"mask": {
"mode": "all"
}
}To enable only specific masking rules, use the following configuration:
{
"mask": {
"mode": "custom",
"types": [
"apiKey",
"idCard",
"phone",
"email",
"ipAddress",
"bankCard"
]
}
}In logs that contain a large number of purely numeric business identifiers, phone number and bank card detection may match data of the same shape. In this case, use the custom mode and enable only the types that you need.
The following table describes the masking modes:
Mode | Description |
| No masking is applied. This is the default mode when the mask mode is not configured. |
| Enables all built-in sensitive data rules. |
| Enables only the masking types listed in |
The following table describes the masking types:
Type | Coverage | Replacement marker |
| AccessKey IDs in Alibaba Cloud, AWS, or Tencent Cloud format. |
|
| OpenAI-compatible and common platform API keys. |
|
| PEM or OpenSSH private key blocks. |
|
| Database URLs that contain passwords. |
|
| Strictly validated 18-digit Chinese mainland ID card numbers. |
|
| Chinese mainland mobile numbers and landline numbers. |
|
| Common ASCII email addresses. |
|
| IPv4 addresses, including public and private addresses. |
|
| High-confidence bank card numbers that pass issuer prefix and Luhn checks. |
|
LoongSuite Pilot primarily scans fields that may contain user or tool content, such as:
LLM input and output messages
Tool call parameters
Tool call results
Known agent content fields
Stable metadata such as model names, token counts, latency, Git branches, and workspace paths is not scanned as credential content fields.
After you modify the configuration, run the following command to restart LoongSuite Pilot:
loongsuite-pilot restartFAQ
What do I do if the expected agent is not found?
Make sure that the target agent is installed, has been used at least once, and is not disabled in agent-control.json or config.json. After you modify the configuration, run loongsuite-pilot restart. On macOS/Linux, the default configuration directory is ~/.loongsuite-pilot/. On Windows, the default directory is C:\Users\<username>\.loongsuite-pilot\.
What do I do if there is no new data locally?
Make sure that LoongSuite Pilot is running. After the service starts, trigger a new AI Coding Agent activity and then check the local JSONL output directory. The default path is ~/.loongsuite-pilot/logs/output/ on macOS/Linux and C:\Users\<username>\.loongsuite-pilot\logs\output\ on Windows.
What do I do if there is no data in the AgentLoop console?
First, check whether new events exist in the local output. If local events exist but are not displayed in the console, refresh the console later or verify that the installation command corresponds to the current AgentLoop integration task.
How do I enable data masking?
Modify the mask section in the local configuration file, save the file, and then run loongsuite-pilot restart. The default configuration file path is ~/.loongsuite-pilot/config.json on macOS/Linux and C:\Users\<username>\.loongsuite-pilot\config.json on Windows.
What do I do if Pilot runs in a container but the first session has no data?
Check whether hooks were installed before the agent read its configuration. If the business startup script generates or overwrites configuration, run hook install after generation and then start the agent. Verify with a new session. Writing registration files after a completed session does not by itself recover that session's data.
Why do Hermes Agent and DeepSeek Harness miss startup data when only webhook labels are configured?
The webhook's default early injection covers hooks and configuration-based plugin injection. The Hermes directory plugin and the DeepSeek Harness YAML patch require the complete deployment flow. Use start.sh --agents=<agent_ID> -- <original_business_command> to deploy before the agent process starts.
Why is there no data in AgentLoop after hook install succeeds?
Success indicates that the installation configuration processed by the command was written or already current. Also verify that the target agent reads that directory, new events have been generated, the collector is running, and reporting configuration, network access, and authentication are valid. Specify the target with --agents and inspect its result rather than treating skipped installation or an absent target as successful integration.
What do I do if the agent configuration directory in the container is not the default?
For agents that support configuration relocation, use hook install --agents <agent_ID> --home <agent_ID>=<directory>. Claude Code also supports --config-dir <directory>. For multiple Grok identities, invoke the command separately for each identity directory. Run installation with the same user and directory configuration as the agent, before the agent starts.