mcpField
D
duoduo-channel-admin

duoduo-channel-admin

github.com/openduo云与 DevOps10147 次安装4 天前更新
代码仓库

关于 duoduo-channel-admin

duoduo-channel-admin 是用于管理 Duoduo 主机模式频道插件的技能,涵盖安装、配置、诊断和重置。它按频道类型提供操作指引,并说明描述符、会话与插件生命周期的注意事项。

主要功能

  1. 01频道安装与生命周期管理
  2. 02Feishu 和 ACP 专属操作指南
  3. 03类型级与实例级配置
  4. 04频道诊断与会话重置流程

适用场景

  1. 01安装或重启频道插件
  2. 02修改提示词或频道运行时设置
  3. 03诊断 Feishu 频道错误
  4. 04归档过期频道会话

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/openduo/duoduo --skill duoduo-channel-admin

安装后在 Claude Code 中输入/duoduo-channel-admin确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
acp.md
channel-config-model.md
channel-lifecycle.md
diagnose-feishu.md
feishu.md
reset-feishu-session.md
scripts/
patch_markdown_frontmatter.py
reset-feishu-session.sh

详细介绍

Duoduo 频道管理

主机模式下的频道生命周期与面向频道的配置。按类型(Feishu / ACP)和任务(安装 / 配置 / 诊断 / 重置)路由。

从发现信息开始

进行任何更改之前,先运行最小的只读探测:

duoduo daemon status             # confirm host mode, daemon alive
duoduo daemon config             # resolve kernel_dir, runtime_dir, defaults
duoduo channel list              # see installed plugins + running state

编辑特定频道实例时,务必先检查当前描述文件:

cat <runtime_dir>/var/channels/<channel_id>/descriptor.md

按类型路由

每种频道类型都有自己的参考文档。只加载与请求匹配的文档,避免无关细节污染上下文。

  • Feishu(飞书)→ 阅读 references/feishu.md。 涵盖安装、凭据、v0.5 /setup 路由矩阵、主会话约定(所有者私信自动生成会话)、FEISHU_BOT_OWNER 安全规范、200340 问题排查、重置流程、过期卡片防护,以及已接受的 v0.5 限制。
  • ACP(编辑器)→ 阅读 references/acp.md。 涵盖安装、编辑器集成语义。

跨类型约定——安装程序包规格、安装为何只是写入磁盘(运行中的插件会继续提供旧代码,直到显式执行 stop && start),以及生命周期动词——见 references/channel-lifecycle.md。

如果请求是“诊断异常的 Feishu 频道”,且症状不明显,请阅读 references/diagnose-feishu.md——该文档通过决策树(卡片错误、/setup 拒绝、过期历史、陌生人访问、所有权漂移)引导至正确的修复措施。

配置频道行为

描述文件模型:类型级用于应用于某种类型所有频道的默认值;实例级用于某个特定频道。

  • 类型描述文件:<kernel_dir>/config/<kind>.md
  • 实例描述文件:<runtime_dir>/var/channels/<channel_id>/descriptor.md

可手动编辑的键:

  • new_session_workspace
  • prompt_mode(适用于 claude、grok 和 pi;显式指定 runtime: codex 的任务会拒绝此设置)
  • time_gap_minutes
  • runtime(claude | codex | grok | pi — pi 会话还需要模型指针;参见 duoduo-runtime-admin 的 pi-runtime 参考文档)。活动会话会绑定到其运行时:更改此键之前先执行 /clear,否则会拒绝该会话的下一轮请求。duoduo 不认识的值会在每次将选择该值时被拒绝,绝不会替换为其他运行时。void 适用于 tether 等不运行模型的插件;不要在普通聊天频道上设置——不会运行模型,插件还可能把收到的消息原样发回,而不是回复
  • stream
  • allowedTools(权限自动批准——不会扩展工具范围)
  • disallowedTools(仅限 MCP 工具)
  • additionalDirectories
  • claude.tools(将额外的内置工具合并到固定的允许列表核心中;内置工具范围基于允许列表)

两个实例绑定键通常由 channel.spawn 写入(不要手动编辑):bound_by、bound_at。完整列表及 new_session_workspace 优先级规则见 references/channel-config-model.md。

对于必须保留 Markdown 正文和注释的 frontmatter 编辑,请使用 scripts/patch_markdown_frontmatter.py。

重置已绑定的频道

当频道的描述文件、会话或消息历史过期,且用户希望重新开始时:

bash scripts/reset-feishu-session.sh --channel-id feishu-<chat_id>
duoduo channel feishu stop && duoduo channel feishu start

该脚本会为每个引用该频道的会话调用 duoduo session archive <session_key>。该 RPC 会将会话目录、入口记录、发件箱记录以及频道描述文件移动到 var/<kind>-archive/ 下(带时间戳,可通过 mv 恢复)。必须重启插件——它会在内存中缓存订阅状态。

请阅读 references/reset-feishu-session.md,了解脚本清理的内容以及每一项的重要性。当用户反馈“重置后机器人还会引用旧消息”时,就是遇到了该脚本存在的原因。

提示词编辑

  • kernel/config/<kind>.md 的 Markdown 正文是类型提示词。
  • descriptor.md 的 Markdown 正文是实例提示词。
  • 实例 frontmatter 和提示词会覆盖类型默认值。
  • 尽可能保留引导初始化时写入的指导注释。

操作规则

  • 优先选择最小作用范围:默认值设在类型级别,单个房间或会话界面设在实例级别。
  • 编辑 ~/.config/duoduo/.env 中的渠道凭据后,重启受影响的渠道进程(而不仅是守护进程)。
  • 安装新插件后,使用 duoduo channel list 和 duoduo channel <type> status 进行验证。
  • 如果渠道在凭据、安装状态和运行时配置均看起来正常后仍然失败,请将其视为可能的产品或插件问题——参见 ../duoduo-admin/references/issue-reporting.md。
  • 如果请求实际涉及遥测、运行节奏、调试日志或 Codex,请转交给 duoduo-runtime-admin。

评论

支持 Markdown