by SudoJacky
Tinybot is a lightweight personal AI Agent that is constantly evolving
# Add to your Claude Code skills
git clone https://github.com/SudoJacky/tinybotLast scanned: 5/30/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-30T15:23:21.688Z",
"npmAuditRan": true,
"pipAuditRan": true
}No comments yet. Be the first to share your thoughts!
30 days in the Featured rail · terms & refunds
中文文档 | Quick Start | Features | Commands
A lightweight personal AI assistant framework that integrates Large Language Models with multiple chat platforms, tool systems, and automation mechanisms.
flowchart TD
UserTurn["Completed agent turn"] --> SaveSession["SessionHandler.save_turn"]
SaveSession --> CaptureEvidence["capture_conversation_evidence"]
CaptureEvidence --> EvidenceFiles["memory/conversations/*.jsonl"]
CaptureEvidence --> Schedule["Memory extraction schedule"]
Schedule --> DreamRun["Dream.run"]
DreamRun --> HasEvidence{"Pending Conversation Evidence?"}
HasEvidence -->|yes| EvidenceBatch["Read evidence after .evidence_cursor"]
HasEvidence -->|no| LegacyBatch["Read legacy memory/history.jsonl after .dream_cursor"]
EvidenceBatch --> Prompt["dream_phase1.md + current notes/views"]
LegacyBatch --> Prompt
Prompt --> LLMOps["LLM JSON Memory Operations"]
LLMOps --> ParseOps["parse operations"]
ParseOps --> OpType{"operation"}
OpType -->|save| SaveNote["upsert MemoryNote"]
OpType -->|supersede| Supersede["create replacement + mark old superseded"]
OpType -->|reject| Reject["mark note rejected"]
OpType -->|skip| Noop["no durable change"]
SaveNote --> Notes["memory/notes.jsonl"]
Supersede --> Notes
Reject --> Notes
Notes --> RefreshViews["refresh_memory_views"]
RefreshViews --> ProjectView["memory/MEMORY.md"]
RefreshViews --> UserView["USER.md"]
RefreshViews --> SoulView["SOUL.md"]
Notes --> RecallSelect["select_memory_recall"]
RecallSelect --> RecallBlock["[MEMORY RECALL] system block"]
RecallBlock --> AgentContext["ContextBuilder.build_messages"]
Experience["ExperienceStore"] --> ExperienceBlock["[RELEVANT WORKFLOWS / RECOVERIES]"]
Knowledge["KnowledgeStore / SessionKnowledgeStore"] --> KnowledgeBlock["Knowledge context"]
ExperienceBlock --> AgentContext
KnowledgeBlock --> AgentContext
flowchart LR
Notes["Memory Notes\ncanonical JSONL"] --> Views["Memory Views\nMarkdown projection"]
Notes --> Recall["Memory Recall\nprompt retrieval"]
Evidence["Conversation Evidence\nraw source layer"] --> Dream["Dream\nbackground extraction"]
Dream --> Notes
ExplicitTools["Explicit memory tools\nforeground correction"] --> Notes
Legacy["Legacy Markdown/history\nmigration + fallback"] --> Notes
Experience["Experience\nhow to act"] --> AgentPrompt["Agent prompt"]
Knowledge["Knowledge\nexternal document evidence"] --> AgentPrompt
Recall --> AgentPrompt
Views -. "inspection + compatibility" .-> AgentPrompt
Cowork now uses canonical architectures (adaptive_starter, team, generator_verifier, message_bus, shared_state, swarm), branch-aware session snapshots, Agent Step observation detail expansion, architecture-specific projections, and explicit branch result selection or merge controls.
Cowork now exposes versioned graph/trace snapshots, reusable JSON blueprints, budget-aware run controls, blocker panels, blueprint validation/preview APIs.




white mode
dark mode
Cowork provides a shared multi-agent session model with architecture runtime policies, branch navigation, architecture-specific projections, observable Agent Steps, and explicit final-result selection.

Automatically decomposes complex tasks into executable subtask DAGs, supporting:
A self-learning system that continuously improves from problem-solving experiences:
{
"id": "exp_86788c0e",
"timestamp": "2026-04-20T21:19:17",
"tool_name": "exec",
"error_type": "argument error",
"error_message": "",
"params": {},
"outcome": "resolved",
"resolution": "When using the opencli scroll command, pass exactly one argument to avoid argument-count errors. Check the command call format; valid examples are `scroll(distance)` or `scroll(selector)`, not multiple arguments. Validate argument counts before tool calls, using the opencli documentation or a test command to confirm API requirements.",
"context_summary": "Browser automation: fixed argument errors and JavaScript syntax/type errors while using opencli by adjusting commands and adding defensive handling.",
"confidence": 0.7,
"session_key": "cli:direct",
"merged_count": 0,
"last_used_at": "2026-04-20T21:19:17",
"category": "api",
"tags": ["opencli", "scroll", "argument-error", "browser-automation"],
"use_count": 0,
"success_count": 0,
"feedback_positive": 0,
"feedback_negative": 0
}