1. Fix "all environment values must be bytes or str" error in hook execution
by ensuring all env values are converted to str (getattr may return None
when attribute exists but is None). Also sanitize shell_env values.
2. Increase MEM0_POOL_SIZE default from 20 to 50 to address "connection pool
exhausted" errors under high concurrency.
Fixes: sparticleinc/felo-mygpt#2519
Co-authored-by: zhuchao <zhuchaowe@163.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* add page number
* feat: add skill feature memory
添加 skill 功能的 feature memory,记录技能包管理服务和 Hook 系统的核心信息。
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(skill): add feature memory with changelog and decisions
添加 skill 功能的完整记忆文档:
Changelog:
- 2025-Q4: 初始实现 (GRPC 层 + 内置 skills)
- 2026-Q1: API 完善 (REST API + Hook 系统)
Design Decisions:
- 001: Skill 架构设计 (目录结构、Hook 系统)
- 002: 上传安全措施 (ZipSlip、路径遍历防护)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* soffice sharp 支持
* shell_env support
* feat: move enable_thinking control from docker-compose to request body
Remove DEFAULT_THINKING_ENABLE environment variable from docker-compose
and settings.py. The enable_thinking flag is now solely controlled via
request body (default: false), as felo-mygpt already passes this config
from RobotConfig database.
Closessparticleinc/felo-mygpt#2473
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: 朱潮 <zhuchaowe@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: zhuchao <zhuchaowe@163.com>
Add db_url property to MemoriManager that falls back to
CHECKPOINT_DB_URL setting, and pass it explicitly from
fastapi_app.py to ensure Memori can create sync connections.
This fixes the error "Either db_pool or db_url must be provided"
when recalling memories.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Create new skill_manager.py with list and upload endpoints
- Add GET /api/v1/skill/list to retrieve official and user skills
- Add POST /api/v1/skill/upload for skill file upload
- Parse SKILL.md frontmatter to extract name and description
- Move skill upload endpoint from files.py to skill_manager.py
- Add SKILLS_DIR configuration to settings.py
- Register skill_manager router in fastapi_app.py
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>