duoduo-runtime-admin
Duoduo Runtime Admin
This skill owns host-mode runtime flags, daemon diagnostics, and persistent
settings in ~/.config/duoduo/.env.
Start With Runtime Discovery
- Confirm host mode with
duoduo daemon status. - Read
duoduo daemon configbefore changing persistent settings. - Use
duoduo daemon logswhen the user is debugging behavior rather than requesting a config change.
Read references/runtime-settings.md for the main host-mode knobs and references/codex-runtime.md before enabling Codex.
Persistent Host-Mode Settings
Edit ~/.config/duoduo/.env with
scripts/update_host_env.py instead of ad-hoc
shell edits when you want predictable results.
When the user asks whether duoduo itself is outdated, check:
duoduo --version
npm view @openduo/duoduo version
Then explain whether an update is actually needed before changing anything.
Typical keys:
ALADUO_LOG_LEVELALADUO_LOG_RUNNER_THOUGHT_CHUNKSALADUO_LOG_SESSION_LIFECYCLEALADUO_TELEMETRY_ENABLEDALADUO_CADENCE_INTERVAL_MSALADUO_CODEX_SANDBOX(codex auto-detected from v0.5 onward; no enable flag — see codex-runtime reference)
After changing daemon env settings, run:
duoduo daemon restart
unless the user explicitly asked for an edit only.
Codex Runtime Scope
Be precise:
- Enabling Codex does not switch all foreground sessions to Codex.
- The current runtime gate enables Codex as an optional backend for jobs.
- Verify
codexis installed and authenticated before enabling it.
Do not describe Codex enablement as "stdio now runs on Codex" unless the runtime actually supports that behavior in the inspected version.
Subconscious Refresh
Partition prompts under <kernel>/subconscious/ are NOT touched by a
npm install upgrade — install merges missing files only, preserving
local edits and agent self-programming. When the user wants the
revised partition prompts shipped with a newer duoduo version, they
must refresh explicitly.
Read references/subconscious-refresh.md before making any changes. It covers preconditions (clean kernel git tree, confirm target tag), the diff-before-overwrite discipline, how to handle user-authored partitions and local edits to shipped partitions, the commit-as-rollback-point pattern, and why no daemon restart is required after refresh.
Cadence And Telemetry
- Before changing cadence, explain that a shorter interval increases background activity and token usage.
- Disabling telemetry persistence stops JSONL writes but does not necessarily suppress every in-process debug log line.
- Use
duoduo daemon configto inspect the current effective value before claiming what the default is on this machine.
Usage Ledger Maintenance
var/usage/<session_key>.jsonl is append-only with no automatic
retention — long-lived hosts accumulate hundreds of MB. The host
operator (or this skill on request) archives stale files into a
sibling var/usage-archive/<bucket>/. The daemon does not need to
restart; it scans var/usage/ per usage.get call.
Read references/usage-archive.md for
the verified find -mtime +N | xargs mv recipe, recovery, and the
race-window note.
Operating Rules
- Prefer
duoduo daemon configover stale documentation when values disagree. - Treat
~/.config/duoduo/.envas the persistent source of truth in host mode. - When the user updates the installed
@openduo/duoduopackage, remind them thatduoduo daemon restartis still required because the running daemon is a separate background process. - If runtime behavior still looks wrong after config, restart, and logs have been checked, treat it as a likely duoduo bug and use the public issue flow from ../duoduo-admin/references/issue-reporting.md.
- If the request is really about channel install/start/prompt/workspace work,
hand off to
duoduo-channel-admin.
More from openduo/duoduo
duoduo-channel-admin
Install, start, stop, inspect, reset, and configure duoduo host-mode channels. Use when the request involves: channel lifecycle (install/list/start/stop/status/logs), Feishu setup card or /setup command, Feishu owner DM / main session / FEISHU_BOT_OWNER configuration, the 'main session is locked' refusal, stale card error, resetting a bound Feishu chat, WeChat QR login or packaging, ACP editor integration, channel descriptor editing (kind vs instance). Also trigger for Chinese: 拉起 feishu 通道, 拉起微信 channel, 配置 channel 提示词, 改 stdio 的 workspace, 查看 channel 状态, 飞书机器人怎么配, 设置 owner, 清除 session, 重置 channel, v0.5 升级 feishu 安全.
41duoduo-admin
Explain and manage a host-mode duoduo installation after onboarding. Use when the user asks how duoduo works, how stdio/daemon/channel/session fit together, where duoduo stores config and state, how to inspect current setup, how to upgrade duoduo itself (including migrating to v0.5), where something lives on disk (kernel_dir, runtime_dir, .env, descriptor.md), how to archive or recover a specific session (`duoduo session archive`, sessions-archive directory, restoring an archived session), or for broad 'configure duoduo' / 'fix my duoduo' requests that haven't narrowed to a specific channel or runtime setting yet. Also trigger for Chinese: 帮我理解 duoduo, duoduo 是怎么工作的, 看看我现在的 duoduo 配置, 帮我管理 duoduo, 升级 duoduo, 升级到 v0.5 要注意什么, duoduo 哪个路径存什么, 归档 session, 删掉 session, 恢复归档 session.
39