langfuse / langfuse/opencode-observability-plugin

Feature: configurable trace tags (filter traces by agent/tool in shared projects)

Open
#34 1 comment 0 reactions 1 assignee View on GitHub

@bezbac is already working on this.

Since Aug 31, 2026.

[Langfuse] feat-tracing feature integration-opencode integrations
Dominant language
TypeScript
Stars
29
Forks
18
Avg merge
5h 26m
Merged PRs (30d)
8

Description

Problem

The plugin exports traces without any tags. In a shared Langfuse project that receives traces from multiple agent tools (Claude Code, OpenCode, Hermes, Codex...), there is no way to filter traces by which tool produced them.

Notably, the Claude Code plugin already hardcodes a claude-code trace tag on every trace, so traces from different tools are inconsistently filterable.

For example — we self-host Langfuse and aggregate traces from several coding agents into one project. Claude Code traces can be filtered by tag, OpenCode traces cannot:

Tool Trace tags in UI
Claude Code plugin claude-code
OpenCode plugin (none)

Proposed solution

Add an optional tags field to the credentials config (~/.config/opencode/opencode-langfuse.json):

{
  "publicKey": "pk-lf-...",
  "secretKey": "sk-lf-...",
  "tags": ["opencode", "production"]
}

plus a LANGFUSE_TAGS env var (comma-separated) for env-only setups, mirroring the existing env-var pattern (LANGFUSE_USER_ID, LANGFUSE_SERVICE_NAME, ...).

Implementation: a makeTraceTagsSpanProcessor following the existing makeUserIdSpanProcessor pattern, setting the langfuse.trace.tags OTTL attribute on every span — @langfuse/core's OTEL endpoint maps this attribute to Langfuse trace tags.

Workaround currently in use

Manually patching dist/index.js in the opencode plugin cache to add one span.setAttribute("langfuse.trace.tags", ...) line. Works, but is wiped on every plugin update.


Use case: multi-agent observability rollouts where one Langfuse project serves a whole team's coding agents and dashboards/queries filter by agent type.

I have a PR ready implementing this (config file + env var, merged & de-duplicated, capped at 50 tags, README updated).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.