Skip to main content

lingtai-doctor

Read-only health diagnostics when an agent looks dead but the evidence is mixed, or a migration may have left stale MCP/addon paths; run before deciding to mail, refresh, CPR, or edit persistent configuration. Includes a bundled read-only `doctor.py`.

インストールへ移動

ソース情報

リポジトリ
Lingtai-AI/lingtai-kernel
ソースの最終更新活動
2026年9月6日 02:57
検出された SKILL.md の言語
英語
スター
11
フォーク
14

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
2 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
lingtai-doctor
description
Read-only health diagnostics when an agent looks dead but the evidence is mixed, or a migration may have left stale MCP/addon paths; run before deciding to mail, refresh, CPR, or edit persistent configuration. Includes a bundled read-only `doctor.py`.
version
0.2.0
tags
["doctor","diagnostics","mcp","addons","heartbeat","migration","recovery"]
last_changed_at
2026-08-07T00:00:00Z
related_files
["src/lingtai/intrinsic_skills/lingtai-doctor/scripts/doctor.py"]
maintenance
Tracks the tool/capability behavior it teaches; update when that tool's behavior changes.
# LingTai Doctor `lingtai-doctor` is the first stop when a LingTai agent or bot looks dead but the evidence is mixed: Telegram/Feishu/WeChat cannot reach it, the TUI says it is offline, a heartbeat is fresh, MCP configuration points at an old runtime, or logs/notifications/status files disagree. **Diagnosis before repair.** The bundled script is read-only: it summarizes local evidence, redacts secrets, and suggests next steps. It never edits `init.json`, touches mailboxes, refreshes agents, or kills processes. Repairs belong to the owning manuals routed below. ## Run it ```bash # From a source checkout, against any agent workdir: python3 src/lingtai/intrinsic_skills/lingtai-doctor/scripts/doctor.py \ --agent-dir /path/to/project/.lingtai/mimo-1 # From inside an agent (installed bundle); --agent-dir defaults to $LINGTAI_AGENT_DIR: python3 .library/intrinsic/capabilities/lingtai-doctor/scripts/doctor.py # Add --json for machine-readable output, or --self-test for a packaging check. ``` ## What it checks Layered so one broken surface is not mistaken for a dead agent: 1. **Identity / lifecycle files** — `.agent.json`, `.status.json`, and `.agent.heartbeat` freshness. 2. **Process evidence** — best-effort `ps` scan for `lingtai-agent run <agent-dir>` / `python -m lingtai run <agent-dir>`. 3. **Notifications and logs** — channel files plus common logs such as `logs/events.jsonl`, `logs/agent.log`, and token ledgers, by mtime/size only. 4. **Internal mail footprint** — inbox/outbox counts without message bodies. 5. **MCP/addon configuration** — `init.json` top-level `mcp` entries and `mcp_registry.jsonl` stdio commands, checked for existence and executability (or `PATH` resolution). Environment values are redacted; only path-like existence facts are reported. 6. **Migration drift hints** — stale Linux `/home/...` paths on macOS-style hosts, stale macOS `/Users/...` paths on Linux-style hosts, and likely `~/.lingtai-tui/runtime/venv/bin/python` replacements. 7. **First-party MCP server imports** — if a configured stdio command points at a usable Python executable, tries importing the configured LingTai curated MCP modules (`lingtai.mcp_servers.` `telegram`/`feishu`/`wechat`/`whatsapp`/`imap`/`cloud_mail`) without reading credentials. ## Reading the result Top-level severity is **OK** (no obvious local mismatch), **WARN** (at least one surface looks stale, missing, or inconsistent), or **FAIL** (a critical local file/config/path is missing or broken). Triage in this order, then follow the owning manual rather than improvising a repair: | Doctor evidence | Do | Owner | |---|---|---| | `.agent.heartbeat` is fresh | The agent is probably alive; internal email should wake it even if an external addon is broken. | [`email-manual`](../../tools/email/manual/SKILL.md) | | Heartbeat and process are both dead | CPR may be appropriate. If the process is alive but status/logs are stale, investigate before CPR. | [`substrate-manual`](../system-manual/reference/substrate-manual/SKILL.md) | | An MCP stdio command points at a missing runtime | **Back up `init.json` and `mcp_registry.jsonl` first**, then replace the stale command path and refresh the agent. | [`mcp-manual` troubleshooting](../../tools/mcp/skills/mcp-manual/reference/troubleshooting.md) | | Notifications are stale while the agent is healthy | Clear the producer channel after reading/handling it; generic dismiss only clears a mirror, so do not use it for producer state unless you know it is stale. | [`notification-manual` dismissal safety](../../tools/notification/manual/reference/dismissal-safety/SKILL.md) | ## Scope Doctor is the shared diagnostic foundation and covers the whole agent footprint, not only MCP registry syntax — `mcp(action="info")` validates the registry, not lifecycle, process, log, or mail evidence. TUI `/doctor` should call these scripts instead of maintaining a separate copy of the logic.
GitHubで見る