Repository navigation
Releases: lzx1413/clawseed
Release list
ClawSeed 2.0.0: Chat with Images and Files
ClawSeed 2.0.0: Chat with Images and Files
This major Android update brings image and document conversations, Android system sharing, faster photo previews, and smoother chats.
What's New
- Image and document attachments: Attach images, PDF, DOCX, Markdown, TXT, and CSV files. Send attachments on their own or alongside a question, then ask follow-up questions in the same conversation.
- Redesigned attachment picker: Browse and select recent photos above dedicated Camera, Gallery, and Files buttons. Gallery and file selection support multiple items.
- Android system sharing: Share one or multiple images and files from other apps to ClawSeed. Each share opens a new conversation with attachments and accompanying text saved as a draft, ready for you to send. Existing conversation drafts are preserved.
- Persistent attachments and retry: Keep local attachments and drafts, restore attachment cards in chat history, and retry failed imports or uploads.
- Configurable vision support: Choose automatic, enabled, or disabled image support per model, with optional persona overrides.
- Usage and balance information: Inspect input/output tokens, cache hits, generation speed, and turn duration in debug information. Query balances for supported official DeepSeek, Moonshot, and OpenRouter endpoints.
Improvements and Fixes
- Show local photo previews before background encoding and upload. Use JPEG encoding for JPEG photos and preserve lossless encoding for PNG screenshots.
- Improve chat scrolling, message rendering, and session resource usage; hide empty conversations.
- Stabilize prompt and tool ordering for cache reuse and reduce irrelevant automatic memory recall.
- Fix the
missing field statuserror when handling file attachments such as PDFs. - Deduplicate shared content and prevent duplicate attachment imports during screen restoration.
Upgrade Notes and Limits
- Android version: 2.0.0 (versionCode 19). Installing an APK with the same signing certificate over the existing app preserves app data.
- Each message supports up to 4 images and 4 files. Each file can be up to 20 MiB, with a combined file limit of 50 MiB.
- PDFs support text extraction; scanned-PDF OCR is not included. Convert legacy
.docfiles to.docxbefore attaching them. - Image understanding requires a vision-capable model. External gateways must support file attachments to use document conversations. Reading additional content from originals stored on the phone requires the corresponding client and session to remain connected.
- Rust integration change: Struct literals for
ChatMessageandPersistedMessagemust initialize the newfilesfield. Existing serialized messages remain compatible.
Validation
- All local CI stages passed, including 1,459 Rust tests.
- The Android Release build, 60 App unit tests, and 2 on-device share-receiver tests passed.
- The share-to-new-conversation UI regression was confirmed on a physical device by the user.
Learn more: Attachment guide
Full changelog: v1.11.3...v2.0.0
v1.11.3
v1.11.3
User Profile and Memory
- Added persistent user profiles for structured identity, preferences, goals, constraints, and accessibility settings.
- The assistant can now search, create, update, and delete user-profile items in chat. Search results include each item's
item_idfor direct deletion. - Added profile management in Settings, including viewing, editing, bulk deletion, rejecting inferred items, and clearing the profile.
- Profile deletion now takes effect immediately, with no preview, confirmation, authorization, or undo flow.
- Added knowledge-forgetting and conflict-handling capabilities, improving profile and long-term-memory scoping, retrieval, and context selection.
Android
- Extended the gateway client with user-profile and memory APIs.
- Chat messages can display relevant profile and memory operation results.
- Improved integration across Settings, data transfer, and the embedded gateway.
- Published a signed arm64-v8a APK.
Documentation and Quality
- Expanded English and Chinese documentation for Agent, Memory, Gateway, Tools, Config, and Android.
- Added a user-profile and memory integration development plan.
- Full local CI and GitHub Actions checks passed.
v1.10
ClawSeed v1.10 🌱
ClawSeed v1.10 brings the new Persona system to life!
You can now create different assistant identities, give them their own memory scope, tools, model
preferences, and visual style. Think of it as turning one ClawSeed into a small team of specialized
agents. ✨
What’s New 🚀
- Added full Persona support across the runtime, gateway, and Android app.
- Each persona can have its own identity, memory scope, tools, and model settings.
- Added a new Android Persona Manager for creating and editing personas.
- Added a persona picker when starting a new chat.
- Added an active persona chip in the chat top bar.
- Added persona avatars, colors, and visual styling.
- Added persona avatar backup and restore support.
- Added skill version display and click-to-edit support for
SKILL.md.
Android Updates 📱
- New Persona management screen.
- Persona-aware chat sessions.
- Better session drawer behavior for persona conversations.
- English and Chinese localization updates.
- App version bumped to
1.10.
Runtime & Gateway ⚙️
- Added persona-aware prompt building.
- Added persona CRUD APIs.
- Added session persistence for persona bindings.
- Improved scoped memory behavior for persona sessions.
- Updated memory tools to respect persona/session context.
Release Pipeline 🛠️
- Added signed Android release APK builds in GitHub Actions.
- APKs are now automatically uploaded to GitHub Releases when a version tag is pushed.
Fixes 🧩
- Improved persona session selection.
- Fixed persona avatar backup and preference import.
- Polished persona visuals and configuration flow.
Enjoy building with your new assistant personas! 🎭
Full Changelog: v1.9...v1.10
v1.9
● Changelog v0.3.0 → v1.9
✨ New Features
- In-app update — Check for updates from GitHub Release, download APK, install via system installer,
with Android 8+ unknown source permission handling - TTS (text-to-speech) — Read chat messages aloud; auto-speak when streaming finishes
- Kai-style input bar + bubble-free chat UI — Redesigned chat screen with simplified layout and
cleanup - Kai Markdown rendering — Migrate Kai's Markdown system, remove assistant bubble border
- i18n — Extract all hardcoded strings, support English/Chinese, in-app language switching
- Grouped & collapsible tool invocations — Merge tool calls per turn into a single collapsible card;
merge thinking blocks per turn - Prompt Cache Phase 2 — Remove DateTimeSection, add CacheStrategy enum, support DeepSeek-Anthropic
endpoint - set_alarm tool — Custom in-app alarm with MediaPlayer/Vibrator
🐛 Bug Fixes
- Regenerate button — No longer deletes the user's question message
- Gateway zombie process — Stop before scope cancel, stream cleanup, kill stale processes
- LocaleHelper — "system" mode correctly falls back to system default instead of producing an
invalid Locale - Tool invocation card colors — Unify with surfaceVariant to match thinking cards
- Prompt cache persistence — Persist enriched user message content to preserve cache on session
resume - Session switch — No longer interrupts an in-progress agent response
Full Changelog: v0.3.0...v1.9
release v0.3.0
ClawSeed v0.3.0 Release Log
27 commits since v0.2.0
🧠 Memory System — Major Upgrade
- Reciprocal Rank Fusion (RRF) hybrid search — BM25 keyword + vector embedding results
merged via RRF algorithm, configurable via search_mode parameter ("rrf", "weighted") - Local ONNX embedding — bundled gte-multilingual-base model (git LFS), config-driven,
backward compatible with API-based embedding - Conflict detection — Jaccard similarity with [SUPERSEDED] marking for contradictory Core
entries; ConflictMode supports "combined"/"newer"/"manual" via custom TOML serde - Memory hygiene — truncate to 50 chars, raise threshold, Core-only recall, nightly curator
schedule - Auto-recall + system prompt guidance — memories automatically injected into system prompt
with search guidance - Memory config upgrade — patch missing keys into existing config on app upgrade; wire new
config fields into Android gateway config - Snapshot & consolidation — Core memory snapshot + auto-hydrate on cold boot, heuristic
two-phase extraction
🤖 Agent & Provider
- Mimo provider — OpenAI-compatible backend via api.xiaomimimo.com/v1
- Prompt cache optimization — stable/dynamic partitioning for system prompt, Anthropic +
Bedrock cache breakpoints - Auto-continue on max_tokens truncation — StopReason enum detects truncation and
auto-continues the response - provider_max_tokens config — applies to all providers, Android Max Tokens UI setting
- skill_create tool — built-in skill seeding, Android assets approach for skill management
📱 Android App
- Data export/import — multi-select categories (config, memory, sessions, skills,
personality) as ZIP via SAF - Settings page refactor — Memory section, TOML → Developer Options, About section
- Configurable session TTL — custom days input replaces chip selector
- Run Now button for scheduled tasks — navigate to chat session with auto-send
- Persist per-provider API keys across provider switches in settings
- Thinking content rendered with markdown instead of plain text
- Session loss & settings hang fixes — prevent data loss on Android
- Copper-bronze theme + user message text selection visibility fix
🔧 Fixes
- Session TTL custom mode always deactivating — replaced chip selector with days input
- Embedding & model_cache modules rustfmt applied
📚 Docs
- Reorganize docs — remove obsolete plans, add prompt-cache-optimization en/zh docs
- Update memory module docs to reflect latest implementation
Full Changelog: v0.2.0...v0.3.0
release v0.2.0
ClawSeed v0.2.0 Release Notes
相比 v0.1.2,v0.2.0 带来了 Skill 技能系统、记忆整合/卫生/快照/冲突检测、Android 定时后台任务、Soul 人格自定义、Gateway 共享组件架构,以及多项 Android UI 增强和 Bug 修复。
New Features
Skill 技能系统
完整的工作流编排系统,将多步骤流程与原子工具执行分离。技能通过 Skill 工具按需加载,声明所需权限,活跃技能内容持久化到系统提示以抵抗上下文压缩。支持多根目录发现(workspace / user / extra_roots)、YAML frontmatter 格式、POST /api/skills/reload 热重载。
记忆系统增强
- 整合 (Consolidation) — 每次 agent turn 后启发式两阶段提取:自动创建 Daily 历史 + 重要性评分 ≥ 0.6 时晋升 Core 记忆
- 卫生 (Hygiene) — 12 小时节奏控制的定期清理,修剪过期 Conversation/Daily 条目(Core 记忆永不修剪)
- 快照 (Snapshot) — 导出 Core 记忆到
MEMORY_SNAPSHOT.md,冷启动时若brain.db缺失可自动水合恢复 - 冲突检测 (Conflict) — Jaccard 相似度检测矛盾的 Core 条目,标记
[SUPERSEDED by 'newer_key'] - 新增配置项:
hygiene_enabled、conversation_retention_days、snapshot_enabled、auto_hydrate、conflict_threshold
Gateway 共享组件架构
- Gateway 连接间共享
Provider/Memory/Observer(Arc<dyn>),避免每连接重复创建 HTTP 连接池和 SQLite 连接 - BuiltIn 工具实例跨连接共享(
Arc<[Arc<dyn Tool>]>),通过register_all_arc()注册到每连接注册表 - Agent.provider 从
Box改为Arc,新增shared_provider()构建方法 PUT /api/config返回警告:provider/model/memory 变更需重启网关生效
Android 定时后台任务
基于 AlarmManager 的定时任务,支持三种重复模式(单次/每天/工作日):
- 精确闹钟调度,Android 12+ 自动回退到非精确闹钟
BootReceiver设备重启后自动重新调度所有任务- 独立 WebSocket 会话执行任务,避免与聊天 UI 冲突
- 高优先级通知(声音/振动),点击跳转对应会话
- 支持任务编辑(名称、消息、时间、重复模式)
Soul 人格自定义
- 新增
GET /api/personality和PUT /api/personality端点,读写工作区人格文件(SOUL.md 等,白名单验证) - Android 设置页内置 Soul 编辑器,保存后 Gateway 自动重启
Android UI 增强
- 外观设置 — 浅色/深色/跟随系统主题 + OLED 纯黑模式
- 重新生成 — 一键重新生成最后一条助手响应(WebSocket
regenerate消息类型),支持自由文本选择 - 可折叠设置区 — LLM、搜索引擎、Soul、工具、外观、开发者等区域可折叠
- 技能刷新 — 设置页 "刷新技能" 按钮,调用
/api/skills/reload
Bug Fixes
- max_tokens 默认值 — 从 4096 提升到 128K(131,072),解决定时任务和长响应被截断的问题
- 工具调用修复 —
Provider::chat()现在正确调用chat_with_tools()以支持原生工具调用 - 配置保存热更新 — 修复
PUT /api/config时allowed_tools/denied_tools/skill_index的 borrow-after-move 问题;skills 禁用时自动拒绝 Skill 工具 - Gateway 超时 — Android 端从 30s 提升到 300s,适应长时间 agent 执行
- 设置页交互 — 整行可点击展开/折叠,修复仅图标可点击的问题
Architecture Changes
- 移除 TypeId 能力注入系统 — 零消费者的死代码(ContextProvider、ctx.get::()、ToolContextExt),所有工具使用构造函数注入
- Agent provider 类型 —
Box<dyn Provider>→Arc<dyn Provider> - 新增
from_config_with_shared_components()构造函数 — Gateway 使用共享组件,CLI/嵌入式仍用from_config_with_registry()
New API Endpoints
| Method | Path | Description |
|---|---|---|
| POST | /api/skills/reload |
从磁盘重新加载技能索引,无需重启 |
| GET | /api/personality |
读取工作区人格文件 |
| PUT | /api/personality |
写入人格文件(白名单验证) |
New WebSocket Message Types
| Direction | Type | Description |
|---|---|---|
| Client → Server | regenerate |
重新生成最后一条助手响应 |
New Android Permissions
| Permission | Purpose |
|---|---|
SCHEDULE_EXACT_ALARM |
精确定时闹钟(Android 12+,未授予时回退到非精确闹钟) |
RECEIVE_BOOT_COMPLETED |
设备重启后重新调度定时任务 |
New Config Options
[memory]
hygiene_enabled = true # 启用定期清理(默认 true)
conversation_retention_days = 30 # Conversation/Daily 修剪保留天数(默认 30)
snapshot_enabled = false # 导出 Core 记忆到 MEMORY_SNAPSHOT.md(默认 false)
auto_hydrate = true # brain.db 缺失时从快照重新索引(默认 true)
conflict_threshold = 0.6 # 冲突检测 Jaccard 阈值(默认 0.6)
[skills]
enabled = true # 启用技能系统(默认 true)
max_active = 5 # 最大并发活跃技能数(默认 5)
excluded = [] # 排除的技能
extra_roots = [] # 额外技能根目录Version Numbers
| Component | v0.1.2 | v0.2.0 |
|---|---|---|
| Rust workspace | 0.1.2 | 0.2.0 |
| Android SDK | 0.1.0 | 0.2.0 |
| Android app | 1.5 (versionCode 3) | 1.6 (versionCode 4) |
Full Changelog: v0.1.2...v0.2.0
support CETP(ClawSeed External Tool Protocol)
add CETP(ClawSeed External Tool Protocol)support
Full Changelog: v0.1.1...v0.1.2
update andorid sdk and demo app
What's New in v0.1.1
Features
- Tavily Web Search — Built-in Tavily API integration as a new web search provider (alongside DuckDuckGo, Brave,
SearXNG, Bing). Tavily is purpose-built for AI agents with structured JSON results and 1,000 free calls/month.
Configure via tavily_api_key in [web_search] or CLAWSEED_WEB_SEARCH_TAVILY_API_KEY env var. - Android Search Engine Selector — Settings UI now includes a search engine card with Bing/Tavily dropdown.
Selecting Tavily shows an API key input field with password toggle and a link to get a free key. - Auto-generate Session Title — Gateway automatically generates a session title from the first Q&A turn via LLM,
displayed in the Android app's top bar and drawer. - Android SDK Restructuring — Refactored the monolithic lib module into a three-tier SDK: sdk:core (session, chat
client, tool registry), sdk:android (ClawSeedAndroid singleton, SessionManager, ChatAccumulator), sdk:embedded
(gateway process, config, foreground service). - Parallel Tool Execution — Agent now executes independent tool calls concurrently instead of sequentially.
- Remote Tools in Settings — Android settings and /api/tools API now display remote tools (registered via
WebSocket) with source type labels (Built-in / Remote / MCP). - WebSocket Protocol Versioning — Added protocol version negotiation on WebSocket connect.
Bug Fixes
- Abort Button Not Working — Gateway now handles {"type":"abort"} WebSocket messages, cancelling the in-flight turn
via CancellationToken. Android abort uses WebSocket first (low latency) with REST fallback. - Session Title Lost on Rotation — Screen rotation no longer resets session state. switchToSession skips
reconnection when already connected to the same session. - Git Repo Path — Fixed incorrect repository URL in README.
Documentation
- Android README Overhaul — Updated both English and Chinese READMEs to reflect SDK restructuring, new features
(search engine config, gateway status, developer options), and corrected dependencies (kotlinx-serialization
instead of Gson).
Configuration
New [web_search] options:
[web_search]
enabled = true
provider = "tavily"
tavily_api_key = "tvly-..." # new field
New environment variable: CLAWSEED_WEB_SEARCH_TAVILY_API_KEY
Full Changelog: v0.1.0...v0.1.1
init clawseed sdk and android app
Chat
- Real-time streaming via WebSocket
- Full message history per session
- Extended Thinking display (collapsible)
- Debug mode showing full prompt and token estimate
Session Management
- Create / resume / rename / delete sessions
- Auto-naming from first user message
- Session history in navigation drawer
Tool Calling
- On-device tools (registered via WebSocket):
device_info— device model, manufacturer, Android versionget_location— GPS location (WGS84→GCJ-02) + reverse geocoding
- Gateway built-in tools: web_fetch, http_request, web_search, etc.
LLM Configuration
- 11 provider presets (DeepSeek, Qwen, Moonshot, GLM, Doubao, Baidu, OpenAI, Anthropic, OpenRouter, Ollama, Custom)
- Model list fetching (direct or via gateway proxy)
- Thinking Mode toggle
- Form editing or raw TOML editing
Markdown Rendering
- Headings (h1-h6), code blocks (with language label + copy button), lists, tables
- Inline formatting: bold, italic,
monospace
Full Changelog: https://github.com/lzx1413/clawseed/commits/v0.1.0