Skip to content

Releases: lzx1413/clawseed

release v0.2.0

16 May 17:47

Choose a tag to compare

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_enabledconversation_retention_dayssnapshot_enabledauto_hydrateconflict_threshold

Gateway 共享组件架构

  • Gateway 连接间共享 Provider/Memory/ObserverArc<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/personalityPUT /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/configallowed_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)

05 May 13:19

Choose a tag to compare

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

update andorid sdk and demo app

04 May 19:16

Choose a tag to compare

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

03 May 12:55

Choose a tag to compare

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