oclaw/README.md
oliver 853dc1812f 收敛微信 sidecar 到官方单链路并同步文档与回归测试。
移除 weixin 安装与启动脚本中的 legacy/localSource 分支,只保留 official_runner 路径,统一开源安装命令并更新 RUNBOOK/Quickstart/README,确保脚本行为与测试预期一致。

Made-with: Cursor
2026-04-29 01:10:25 +08:00

89 lines
3.5 KiB
Markdown

# Oclaw Architecture Root
This repository is fully consolidated under `oclaw/`.
## Quickstart (Open Source)
### Prerequisites
- Python 3.11+
- Node.js 22+ (required by the official Weixin plugin)
### 1) Bootstrap venv (Windows)
```powershell
powershell -ExecutionPolicy Bypass -File .\scripts\bootstrap_venv.ps1
```
### 2) Start gateway (background)
```powershell
powershell -ExecutionPolicy Bypass -File .\scripts\start_gateway.ps1 -SkipInstall -Background
```
Open:
- Admin: `http://127.0.0.1:8787/admin`
- Chat: `http://127.0.0.1:8787/chat`
If port 8787 is stuck/occupied, force-stop:
```powershell
powershell -ExecutionPolicy Bypass -File .\scripts\stop_gateway.ps1 -Force
```
### 3) Weixin (Personal WeChat): install → login → start
```powershell
powershell -ExecutionPolicy Bypass -File .\runtime\operations\scripts\weixin_install.ps1
powershell -ExecutionPolicy Bypass -File .\runtime\operations\scripts\weixin_login.ps1
powershell -ExecutionPolicy Bypass -File .\runtime\operations\scripts\weixin_start.ps1
```
Notes:
- `weixin_install.ps1` does **not** require global `openclaw` CLI installation; runtime deps are installed locally in sidecar workspace.
- `.\scripts\start_all.ps1 -Background` now skips missing Weixin/WhatsApp sidecars gracefully (warn + continue), so Admin/Chat can still boot on fresh installs.
- Admin supports channel dispatch controls for Weixin/WhatsApp (bind specialist / comprehensive), with default `generalist`.
Full runbook (recommended): see `docs/RUNBOOK.md` → “开源快速安装(从零到跑起来)”.
Minimal onboarding guide: `docs/OPEN_SOURCE_QUICKSTART.md`.
## Layers
- `runtime/`: core execution loop, routing, skill runtime, hook runtime
- `interfaces/`: transport adapters (HTTP/WS)
- `gateway/`: method handlers and protocol bridging
- `application/`: use-cases and orchestration services
- `infrastructure/`: runtime-facing integrations/adapters
- `platform/`: shared platform capabilities (llm, persistence, config, files)
- `tools/`: tool registry, MCP adapters, public/system tools
- `skills/`: installable skills and runtime manifests
## Naming Rule
- Use `oclaw` consistently in paths, symbols, and docs.
- Avoid introducing legacy aliases or old naming variants.
## Attachment Replay Config
- Attachment-related limits are configured in `oclaw.json` under:
- `plugins.entries.memory-wiki.auto.attachments.tabular`
- Replay limits:
- `image_result_replay_cap_chars` (default `4000`, range `600..30000`)
- `video_result_replay_cap_chars` (default `4000`, range `600..30000`)
- Used to cap historical `query_image_attachment` / `query_video_attachment(task=transcript)` text replay in model context.
- Video transcript chunk defaults:
- `video_transcript_chunk_size` (default `1600`)
- `video_transcript_chunk_overlap` (default `200`)
- Unified archive budget defaults (zip/tar/tgz/gz):
- `archive_max_depth` (default `2`)
- `archive_max_file_count` (default `200`)
- `archive_max_entry_bytes` (default `10485760`)
- `archive_max_total_uncompressed_bytes` (default `52428800`)
- Archive parse errors now expose stable `error_code` values (for UI mapping and retries).
- Effective priority for replay-cap values:
- DB setting `AIA_IMAGE_TOOL_RESULT_REPLAY_CAP_CHARS`
- DB setting `AIA_VIDEO_TOOL_RESULT_REPLAY_CAP_CHARS`
- Environment variable `AIA_IMAGE_TOOL_RESULT_REPLAY_CAP_CHARS`
- Environment variable `AIA_VIDEO_TOOL_RESULT_REPLAY_CAP_CHARS`
- `oclaw.json` value
- Built-in default
See `docs/ENVIRONMENT_VARIABLES.md` for full runtime variable reference.