zhuzhh fe928a0d94 feat(msteams): split ref storage into main+meta sidecar files
- Separate updated_at into a meta sidecar file (msteams_conversations_meta.json)
    to keep backward compatibility with legacy data that never had updated_at.
    On first upgrade, legacy refs are kept alive by initializing updated_at to now
    instead of purging them immediately.
  - Add cross-process locking via fcntl (with Windows fallback) to prevent
    concurrent writes from different gateway processes overwriting each other.
  - Add ref_touch_interval_s config (default 300s) to throttle how often
    successful sends refresh updated_at, preventing unnecessary I/O.
  - Touch active refs on send success to prevent them from expiring while in use.
  - Add _safe_float and _normalize_ref_record for robust schema migration.
  - All refs operations now use threading.RLock within a process.
2026-04-25 15:39:43 +08:00
..

nanobot Docs

For the latest documentation, visit nanobot.wiki.

The pages in this directory track the current repository and may move faster than the published website.

Core Docs

Start here for setup, everyday usage, and deployment.

Topic Repo docs What it covers
Install and quick start quick-start.md Installation, onboarding, and first-run setup
Chat apps chat-apps.md Connect nanobot to Telegram, Discord, WeChat, and more
Agent social network agent-social-network.md Join external agent communities from nanobot
Configuration configuration.md Providers, tools, channels, MCP, and runtime settings
Multiple instances multiple-instances.md Run isolated bots with separate configs and workspaces
CLI reference cli-reference.md Core CLI commands and common entrypoints
In-chat commands chat-commands.md Slash commands and periodic task behavior
OpenAI-compatible API openai-api.md Local API endpoints, request format, and file uploads
Deployment deployment.md Docker and Linux service setup

Advanced Docs

Use these when you want deeper customization, integration, or extension details.

Topic Repo docs What it covers
Memory memory.md How nanobot stores, consolidates, and restores memory
Python SDK python-sdk.md Use nanobot programmatically from Python
Channel plugin guide channel-plugin-guide.md Build and test custom chat channel plugins
WebSocket channel websocket.md Real-time WebSocket access and protocol details
Custom tools my-tool.md Inspect and tune runtime state with the my tool