关于 duoduo-channel-admin
duoduo-channel-admin 是用于管理 Duoduo 主机模式频道插件的技能,涵盖安装、配置、诊断和重置。它按频道类型提供操作指引,并说明描述符、会话与插件生命周期的注意事项。
主要功能
- 01频道安装与生命周期管理
- 02Feishu 和 ACP 专属操作指南
- 03类型级与实例级配置
- 04频道诊断与会话重置流程
适用场景
- 01安装或重启频道插件
- 02修改提示词或频道运行时设置
- 03诊断 Feishu 频道错误
- 04归档过期频道会话
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ openduo/ duoduo --skill duoduo-channel-admin安装后在 Claude Code 中输入/duoduo-channel-admin确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/acp.mdchannel-config-model.mdchannel-lifecycle.mddiagnose-feishu.mdfeishu.mdreset-feishu-session.mdscripts/patch_markdown_frontmatter.pyreset-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_workspaceprompt_mode(适用于 claude、grok 和 pi;显式指定runtime: codex的任务会拒绝此设置)time_gap_minutesruntime(claude|codex|grok|pi— pi 会话还需要模型指针;参见 duoduo-runtime-admin 的 pi-runtime 参考文档)。活动会话会绑定到其运行时:更改此键之前先执行/clear,否则会拒绝该会话的下一轮请求。duoduo 不认识的值会在每次将选择该值时被拒绝,绝不会替换为其他运行时。void适用于 tether 等不运行模型的插件;不要在普通聊天频道上设置——不会运行模型,插件还可能把收到的消息原样发回,而不是回复streamallowedTools(权限自动批准——不会扩展工具范围)disallowedTools(仅限 MCP 工具)additionalDirectoriesclaude.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。