Skip to content

Releases: lzx1413/clawseed

ClawSeed 2.0.0: Chat with Images and Files

Choose a tag to compare

@github-actions github-actions released this 10 Sep 18:17

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 status error 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 .doc files to .docx before 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 ChatMessage and PersistedMessage must initialize the new files field. 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

Choose a tag to compare

@github-actions github-actions released this 09 Sep 12:38

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_id for 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

Choose a tag to compare

@github-actions github-actions released this 03 Jul 14:33

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

Choose a tag to compare

@lzx1413 lzx1413 released this 30 Jun 15:44

● 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

Choose a tag to compare

@lzx1413 lzx1413 released this 13 Jun 14:03

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

Choose a tag to compare

@lzx1413 lzx1413 released this 16 May 17:47

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)

Choose a tag to compare

@lzx1413 lzx1413 released this 05 May 13:19

add CETP(ClawSeed External Tool Protocol)support
Full Changelog: v0.1.1...v0.1.2

update andorid sdk and demo app

Choose a tag to compare

@lzx1413 lzx1413 released this 04 May 19:16

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

Choose a tag to compare

@lzx1413 lzx1413 released this 03 May 12:55

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 version
    • get_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