v0.5.2 — Social Gateways + Production Ready
v0.5.2 — Social Gateways + Production Ready
New: Social Media Gateways
Connect Pulse Agent to external chat platforms:
- FeishuGateway — Feishu/Lark bot via webhook
- WechatGateway — WeChat public account via webhook
- WhatsAppGateway — WhatsApp Business Cloud API via webhook
Setup:
from pulse.gateways.social import FeishuGateway
from pulse.cli.runtime import bootstrap
rt = bootstrap()
feishu = FeishuGateway(app_id="...", app_secret="...")
feishu.start(rt)
# Mount feishu.handle_webhook in your Flask/FastAPI endpointDeployment
Dockerfile — Containerize Pulse Agent:
docker build -t pulse-agent .
docker run -p 10000:10000 --env PULSE_HOME=/data pulse-agent web startrequirements.txt — Core dependencies listed.
Security
Web UI Authentication — Bearer token protection:
pulse web start --token your-secret-tokenPlugin Sandbox Integration
Plugins run through sandbox (import whitelist, permission system, restricted builtins) — activated at bootstrap.
E2E Tests
Full stack tests in tests/test_e2e.py:
- Basic conversation flow
- Cross-turn session memory persistence
- Multi-tool trajectory execution
- Streaming output mode
- User feedback injection
- Error handling robustness
File Logging
Logs write to ~/.pulse/logs/pulse.log with daily rotation (7 days retained).
Sub-agent Recursion
pulse fork uses recursive sub-agents with retry + recovery and full tool loop isolation.
MCP Stability
- Exponential backoff reconnect (up to 5 retries)
- Background health-check polling (10s interval)
- stderr ring buffer for server log debugging
- Mid-request crash recovery
Dynamic Tool Loading
Drop .yaml, .json, or .py files into ~/.pulse/tools/ — auto-registered on startup.
Executable Skills
Skills can declare tools, self-test, and be hot-reloaded via BaseExecutableSkill + SkillHandle.
150/150 tests pass · Ruff lint clean