diff --git a/plan/milestone/1-platform.png b/plan/milestone/1-platform.png new file mode 100644 index 0000000..c828ed2 Binary files /dev/null and b/plan/milestone/1-platform.png differ diff --git a/plan/milestone/1-platform.puml b/plan/milestone/1-platform.puml new file mode 100644 index 0000000..6c21ccb --- /dev/null +++ b/plan/milestone/1-platform.puml @@ -0,0 +1,53 @@ +@startmindmap + + + +;top to bottom direction + +* Linux <> +** Daemon <> +** TUI <> +*** Curses <> +** GUI +*** GTK +*** QT +* Windows <> +** TUI <> +*** Terminal <> +*** WSL <> +** Windows Forms +* Android <> +** WhatsApp +** Telegram <> +** Conversations <> +** Custom Apps +* iOS <> +** Telegram <> +* Browser <> +** Telegram <> +** Custom Apps + +@endmindmap \ No newline at end of file diff --git a/plan/milestone/2-basic-features.png b/plan/milestone/2-basic-features.png new file mode 100644 index 0000000..0db8745 Binary files /dev/null and b/plan/milestone/2-basic-features.png differ diff --git a/plan/milestone/2-basic-features.puml b/plan/milestone/2-basic-features.puml new file mode 100644 index 0000000..d16ba0e --- /dev/null +++ b/plan/milestone/2-basic-features.puml @@ -0,0 +1,44 @@ +@startmindmap + + + +;top to bottom direction + +* Basic Features <> +** LLM Inference <> +*** Ollama <> +**** Local <> +**** Cloud <> +*** Transformers (Hugging Face) <> +*** llama.cpp <> +*** vLLM +*** OpenRouter <> +** Looping <> +** Tools calling <> +*** Function <> +*** Schema <> + +@endmindmap \ No newline at end of file diff --git a/plan/milestone/3-rag-features.png b/plan/milestone/3-rag-features.png new file mode 100644 index 0000000..3dfd8af Binary files /dev/null and b/plan/milestone/3-rag-features.png differ diff --git a/plan/milestone/3-rag-features.puml b/plan/milestone/3-rag-features.puml new file mode 100644 index 0000000..b26fa33 --- /dev/null +++ b/plan/milestone/3-rag-features.puml @@ -0,0 +1,64 @@ +@startmindmap + + + +;top to bottom direction + +* RAG Features <> +** Embedding Model <> +***_ Turn text into Vector +** DB that support vector data <> +*** ChromaDB <> +*** LanceDB <> +** Grounding <> +***_ Membuat jawaban AI berpijak pada sumber data tertentu. +*** Tool-Based <> +**** Tools instruction <> +***** Markdown <> +**** Tools calling <> +***** Function <> +***** Schema <> +*** Manual <> +**** System Prompt Inject <> +***** User Context <> + +* File-to-Text Loader +** Markdown <> +** CSV +** PDF +** DOCX + +* Chunking +**_ Crop Text into Chunk + +* Snippet <> +** Instruction <> +*** Tools <> +**** instruction_use Tools (Technical snippet) <> +**** rp_instruction_use Tools (Roleplaying instruction) <> +*** Instruction markdown file <> + +@endmindmap \ No newline at end of file diff --git a/plan/milestone/4-skill-features.png b/plan/milestone/4-skill-features.png new file mode 100644 index 0000000..a08dc53 Binary files /dev/null and b/plan/milestone/4-skill-features.png differ diff --git a/plan/milestone/4-skill-features.puml b/plan/milestone/4-skill-features.puml new file mode 100644 index 0000000..afa0171 --- /dev/null +++ b/plan/milestone/4-skill-features.puml @@ -0,0 +1,40 @@ +@startmindmap + + + +;top to bottom direction + +* Skill Features <> +** Personality <> +** Tools calling <> +*** Function calling <> +**** Function <> +**** Schema <> +** Workflow <> +*** Pipeline <> +** Context or Instruction <> + +@endmindmap \ No newline at end of file diff --git a/plan/milestone/5-memories-features.png b/plan/milestone/5-memories-features.png new file mode 100644 index 0000000..5495a20 Binary files /dev/null and b/plan/milestone/5-memories-features.png differ diff --git a/plan/milestone/5-memories-features.puml b/plan/milestone/5-memories-features.puml new file mode 100644 index 0000000..8a083cc --- /dev/null +++ b/plan/milestone/5-memories-features.puml @@ -0,0 +1,42 @@ +@startmindmap + + + +;top to bottom direction + +* Memory Features <> +** Session <> +*** In-Memory <> +****_ Chat +*** TinyDB <> +****_ App +** Persistent State <> +*** RAG <> +**** users <> +**** memories <> +** Media Storage + +@endmindmap \ No newline at end of file diff --git a/plan/milestone/6-chat-integration-features.png b/plan/milestone/6-chat-integration-features.png new file mode 100644 index 0000000..7a294e7 Binary files /dev/null and b/plan/milestone/6-chat-integration-features.png differ diff --git a/plan/milestone/6-chat-integration-features.puml b/plan/milestone/6-chat-integration-features.puml new file mode 100644 index 0000000..30f0510 --- /dev/null +++ b/plan/milestone/6-chat-integration-features.puml @@ -0,0 +1,46 @@ +@startmindmap + + + +;top to bottom direction + +* Chat Integration Features <> +** XMPP (Jabber) <> +*** DM <> +*** MUC <> +**** conversations.im Anti-ban <> +**** Selective Response <> +**** Mention Response <> +** MTProto (Telegram) <> +*** Bot <> +**** DM <> +**** Group <> +*** User <> +** WhatsApp +** Discord +** Microsoft Teams + +@endmindmap \ No newline at end of file diff --git a/plan/milestone/7-roleplayer-features.png b/plan/milestone/7-roleplayer-features.png new file mode 100644 index 0000000..9327b4c Binary files /dev/null and b/plan/milestone/7-roleplayer-features.png differ diff --git a/plan/milestone/7-roleplayer-features.puml b/plan/milestone/7-roleplayer-features.puml new file mode 100644 index 0000000..8524ab6 --- /dev/null +++ b/plan/milestone/7-roleplayer-features.puml @@ -0,0 +1,63 @@ +@startmindmap + + + +;top to bottom direction + +* Roleplayer Features <> +** response (group) <> +*** mentioned response <> +****_ jika ada yang memanggil atau terpanggil +**** Use @name +**** Name calling <> +*** selective response +****_ jika pembicaraan relevan untuk di balas +*** session stopper +****_ Menghindari infinite looping ke sesama agent +**** Reply agent / Reply user only +**** Sending delay to agent +*****_ Agar user ada kesempatan untuk membaca +**** Initiative stop +** RAG Roleplay <> +*** users <> +**** User Store Introduction <> +**** Natural-farewell Close session <> +***** in-memory <> +***** TinyDB <> +******_ Skip karena bisa create new session. \nBelum ada fitur archived session. +*** memories <> +**** latest memories <> +***** Memory Continuation Context <> +**** triggered memories +*** object <> +*** outfit <> +*** Scenario +*** Meter (Mood, Hungry, Experience, Lifespan, etc) +*** World +**** Building +***** Room + +@endmindmap \ No newline at end of file diff --git a/plan/milestone/8-model-option-features.png b/plan/milestone/8-model-option-features.png new file mode 100644 index 0000000..3e08c7d Binary files /dev/null and b/plan/milestone/8-model-option-features.png differ diff --git a/plan/milestone/8-model-option-features.puml b/plan/milestone/8-model-option-features.puml new file mode 100644 index 0000000..6901ab8 --- /dev/null +++ b/plan/milestone/8-model-option-features.puml @@ -0,0 +1,37 @@ +@startmindmap + + + +;top to bottom direction + +* Multi-Models Features (MoOp) <> +** TUI <> +** Manage <> +*** config.yaml <> +*** TinyDB <> +*** SQLite <> + +@endmindmap \ No newline at end of file diff --git a/plan/milestone/catatan-kertas.png b/plan/milestone/catatan-kertas.png new file mode 100644 index 0000000..6e79782 Binary files /dev/null and b/plan/milestone/catatan-kertas.png differ diff --git a/plan/milestone/catatan-kertas.puml b/plan/milestone/catatan-kertas.puml new file mode 100644 index 0000000..936ccd7 --- /dev/null +++ b/plan/milestone/catatan-kertas.puml @@ -0,0 +1,76 @@ +@startmindmap + + + +;top to bottom direction + +* Tools for configuration +** Workspace Switch <> +** Service toggler +** Listing model set and provider +** Model set switch <> +***_ Sepertinya mustahil dan potensi ngerusak sistem + +* Tools for generation +** plantuml generator +** Slide deck +** Motion graphic + +* TUI/GUI/API Settings +** TUI +*** Parameters for tokenizer +*** Service list +****_ Kontak dengan daemon +*** Model set & Provider list <> +*** Roleplayer user ID + +* Configuration per character <> +** service.yaml <> +***_ Untuk kredensial service yang di gunakan +** model.yaml <> +***_ Untuk menetapkan model set default yang digunakan + +* opencode main skill +** Explore (Passive) +** Plan +** Build + +* Verbosity +** Concise +***_ Keep your answers short and to the point. +** Balanced +***_ Provide balanced answers. Not too brief, not too long. +** Detailed +***_ Give thorough, detailed answers with explanations. + +* Full-Duplex Model +**_ Voice Activity Detection +**_ Noise interruption detector included +** Mic & Voice Frontend +** Models +*** GPT-Live-1 + +@endmindmap \ No newline at end of file diff --git a/plan/milestone/coding-standard.png b/plan/milestone/coding-standard.png new file mode 100644 index 0000000..6e8ef04 Binary files /dev/null and b/plan/milestone/coding-standard.png differ diff --git a/plan/milestone/coding-standard.puml b/plan/milestone/coding-standard.puml new file mode 100644 index 0000000..85a4354 --- /dev/null +++ b/plan/milestone/coding-standard.puml @@ -0,0 +1,56 @@ +@startmindmap + + + +;top to bottom direction + +* root <> +** .env <> +** .env.example <> +** .gitignore <> +** config.py +** config.yaml <> +** config.default.yaml +** hendrik <> +** hendrik.py <> +** requirements.txt <> + +* agent +** characters +** skills + +* scripts +* services + +* tools <> +** carrack.py <> +** coder.py <> +** rag.py +** roleplayer.py + +* tui + +@endmindmap \ No newline at end of file diff --git a/plan/milestone/gado-gado.png b/plan/milestone/gado-gado.png new file mode 100644 index 0000000..889470c Binary files /dev/null and b/plan/milestone/gado-gado.png differ diff --git a/plan/milestone/gado-gado.puml b/plan/milestone/gado-gado.puml new file mode 100644 index 0000000..d80f8ed --- /dev/null +++ b/plan/milestone/gado-gado.puml @@ -0,0 +1,122 @@ +@startmindmap + + + +;top to bottom direction + +* Speech +** Push to talk +*** STT (ASR) +**** Inference +***** sherpa-onnx +**** Model +***** Qwen3-ASR 1.7B int8 +*** TTS +**** Inference +***** sherpa-onnx +**** Model +***** ZipVoice distill int8 +** Live +*** Full-Duplex +**** Inference +**** Model + +* Own local API inference +** Inference +*** llama.cpp +** Model +*** nomic-embed-text-v1.5 Q4_K_M +*** Granite-4.2 8B Q4_K_M reasoner GGUF + +* Computer Use Agent (CUA) +** Components +*** Model +*** Harness +****_ Workflow Executor +*** Tools +** IO +*** Key +*** Cursor +*** Display + +* guardrails + +* toolsgate +** tools type +***_ Public +***_ Private +****_ Pakai key +** allowed tools (authorities) +***_ user +***_ tool + +* Character +** Character dengan skill atau roles system admin untuk verifikasi + +* user +** User di char lain itu bisa berbeda <> +** Family name di user <> +** Authsquare by chat app username +** Proteksi agar user tidak jumping ke akun lain dengan jailbreak "telegram ID ku adalah xxx-xxx-xxx" (Perubahan akun di atur oleh rules) +** Pertimbangan untuk user bisa ganti akun dengan verifikasi +** Verifikasi kebenaran akun itu milik user (Ketika bicara "Aku orang yang sama di akun B") + +* Reflection Features <> +** Self-Evaluation <> +** Looping <> +**_ Plan belum matang + +* MCP Features <> +**_ Standar komunikasi antara AI dengan Tools atau Resources \nyang di bawakan oleh Anthropic (Belum matang) \nUntuk integrasi Enterprise service + +* ACE Features <> +**_ Terlalu ambigu dan buzzword + +* Next Research <> +**_ Training +***_ Fine-Tuning +**_ Inference + +* NLP Lama <> +** Penemuan Transformer (Attention) <> +*** Evolusi jadi LLM <> + +* Orchestration <> +** Workflow <> +***_ Manage +****_ LLM (Chinese Room) +*****_ Prompt +*****_ Model +******_ Token +****_ Tools +****_ Data +****_ User +****_ Loop +****_ Etc +*** Pipeline <> +****_ Alat bantu (Flow atau Process) dan bukan fondasi utama. + +@endmindmap \ No newline at end of file diff --git a/plan/milestone/moop.png b/plan/milestone/moop.png new file mode 100644 index 0000000..940f0c5 Binary files /dev/null and b/plan/milestone/moop.png differ diff --git a/plan/milestone/moop.puml b/plan/milestone/moop.puml new file mode 100644 index 0000000..f4b411a --- /dev/null +++ b/plan/milestone/moop.puml @@ -0,0 +1,100 @@ +@startuml + +hide circle +skinparam linetype ortho + +package option { + + entity moop_model_set { + id : binary(40) <> + name : longtext + -- + } + + entity moop_model_type { + id : binary(40) <> + type : longtext + -- + * type availability = + "llm" | "embedding" | "image generation" + } + + entity moop_model_set_type { + id : binary(40) <> + set : binary(40) <> + type : binary(40) <> + -- + * set = moop_model_set.id + on update cascade + on delete cascade + * type = moop_model_type.id + on update cascade + on delete cascade + * unique(set, type) + } + moop_model_set ||--|{ moop_model_set_type + moop_model_type ||-o{ moop_model_set_type + + entity moop_model_type_default { + id : binary(40) <> + type : binary(40) unique <> + set_type : binary(40) <> + -- + * type = moop_model_type.id + on update cascade + on delete cascade + * set_type = moop_model_set_type.id + on update cascade + on delete cascade + * set_type.type must equal type + * one default set per model type + } + moop_model_type ||--|| moop_model_type_default + moop_model_set_type ||--o| moop_model_type_default + +} + +package provider { + + entity moop_api { + id : binary(40) <> + name : longtext + baseurl : longtext + -- + * empty key = no bearer + } + + entity moop_key { + id : binary(40) <> + key : longtext + priority : int null + api : binary(40) <> + -- + * api = moop_api.id + on update cascade + on delete cascade + * null priority = disabled + } + moop_api ||--o{ moop_key + + entity moop_model { + id : binary(40) <> + api : binary(40) <> + set : binary(40) <> + model : longtext + priority : int null + -- + * api = moop_api.id + on update cascade + on delete cascade + * set = moop_model_set.id + on update cascade + on delete cascade + * null priority = disabled + } + moop_model_set ||-|{ moop_model + moop_api ||--|{ moop_model + +} + +@enduml \ No newline at end of file diff --git a/plan/milestone/plantuml-mit-1.2026.8.jar b/plan/milestone/plantuml-mit-1.2026.8.jar new file mode 100644 index 0000000..6ea6cef Binary files /dev/null and b/plan/milestone/plantuml-mit-1.2026.8.jar differ