Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Proposal: contributing an overlap barge-in decision model (duck_jev) as an optional interruption-handling component

未关闭
#8,129 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
30/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
python

调研方向

Start by reading the AgentSession integration points and the existing turn detector and interruption handling interfaces. The proposal describes an optional model service, documentation, and an example agent, but does not identify specific files or an agreed design. Done would require confirming the contribution's fit and interface with maintainers, then defining and implementing the component.

由索引模型根据 Issue 内容生成。

描述

enhancement
Feature Type

Nice to have

Feature Description

Hi LiveKit team 👋

I'm an AI engineer building production voice agents, and I'd like to check whether a contribution in the area of overlap barge-in handling would be welcome before I open a PR.

What it is

An approach I call duck_jev, for the case where the user starts speaking while the agent is still talking:

  1. Duck: the agent immediately lowers its own volume instead of stopping outright.
  2. Judge: a small decision model decides whether the user is truly interrupting or just giving a backchannel ("uh-huh", "right", short acknowledgements).
  3. Resume or yield: if it's a backchannel, the agent restores volume and continues; if it's a real interruption, the agent yields the floor.

In my tests with LiveKit Agents, this feels more natural than VAD-only interruption. Interruption judgment from text input was accurate for "user is interrupting the bot". End-of-turn detection is a separate problem, and I'm using LiveKit's turn-detector model for that.

What I'd like to contribute

Package this as a standalone model service with a clean interface that plugs into AgentSession as an optional interruption-detection component, together with documentation and an example agent.

Questions

  1. Does this fit the project's direction? I noticed the contribution docs mention TTS/STT/LLM plugins in particular, so I'm not sure whether this kind of component belongs in the main repo.
  2. If yes, where would you prefer it: a plugin in livekit/agents, a community package, or an example under a separate repo?
  3. Is there an existing interface or hook for interruption/backchannel decisions that I should build against, so I don't duplicate in-progress work?

I'm happy to share a short demo and a design doc first, and to sign the CLA.

Thanks!

Workarounds / Alternatives

No response

Additional Context

No response

主要语言
Python
星标
14.6k
派生
3.9k
平均合并
2 天 6 小时
30 天内合并 PR
227

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

livekit/agents 的其他 Issue

查看 livekit/agents 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。