{"id":48509832,"url":"https://github.com/irev/cadiax","last_synced_at":"2026-04-07T17:30:39.319Z","repository":{"id":344217344,"uuid":"1180954147","full_name":"irev/cadiax","owner":"irev","description":"Cadiax is an autonomous AI agent framework designed to think, plan, and act.","archived":false,"fork":false,"pushed_at":"2026-04-02T07:49:45.000Z","size":816,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-02T21:31:03.955Z","etag":null,"topics":["agent-framework","ai","assistant","autonomous-agent","cli","monitoring-dashboard","multi-channel","privacy","python","typescript"],"latest_commit_sha":null,"homepage":"https://github.com/irev/cadiax/blob/main/docs/README.md","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/irev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":[],"custom":["https://github.com/irev/cadiax"]}},"created_at":"2026-03-13T15:36:29.000Z","updated_at":"2026-03-14T03:48:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/irev/cadiax","commit_stats":null,"previous_names":["irev/cadiax"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/irev/cadiax","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irev%2Fcadiax","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irev%2Fcadiax/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irev%2Fcadiax/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irev%2Fcadiax/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/irev","download_url":"https://codeload.github.com/irev/cadiax/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irev%2Fcadiax/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31522154,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-framework","ai","assistant","autonomous-agent","cli","monitoring-dashboard","multi-channel","privacy","python","typescript"],"created_at":"2026-04-07T17:30:38.342Z","updated_at":"2026-04-07T17:30:39.306Z","avatar_url":"https://github.com/irev.png","language":"Python","funding_links":["https://github.com/irev/cadiax"],"categories":[],"sub_categories":[],"readme":"# Cadiax\r\n\r\n[![Release](https://img.shields.io/github/v/release/irev/cadiax?display_name=tag)](https://github.com/irev/cadiax/releases)\r\n[![License](https://img.shields.io/github/license/irev/cadiax)](https://github.com/irev/cadiax/blob/main/LICENSE)\r\n[![CI](https://img.shields.io/github/actions/workflow/status/irev/cadiax/ci.yml?branch=main\u0026label=ci)](https://github.com/irev/cadiax/actions/workflows/ci.yml)\r\n[![Python](https://img.shields.io/badge/python-3.10%2B-blue)](https://www.python.org/)\r\n[![Dashboard](https://img.shields.io/badge/dashboard-optional-0f766e)](https://github.com/irev/cadiax/tree/main/monitoring-dashboard)\r\n\r\nCadiax is an autonomous AI agent framework designed to think, plan, and act.\r\n\r\nThe name \"Cadiax\" is derived from the Minangkabau word \"Cadiak\",\r\nmeaning intelligent or wise.\r\n\r\nPronunciation: cha-di-aks (`/tʃa.di.aks/`)\n\nCadiax is a public autonomous AI agent framework with durable state, planning, memory, execution, privacy controls, and an optional monitoring dashboard.\n\n## Quick Start\n\n### Windows\n\n```powershell\n./install.ps1 -Mode install\n```\n\nAtau:\n\n```bat\ninstall.bat -Mode install\n```\n\n### Linux\n\n```bash\nchmod +x ./install.sh\n./install.sh --mode install\n```\n\nLifecycle installer yang sekarang didukung:\n- `install`: first install; jika runtime sudah ada, installer akan meminta konfirmasi untuk lanjut sebagai `reinstall`\n- `reinstall`: rebuild/update runtime tanpa menghapus data user\n- `uninstall`: hapus runtime dan shim, data user tetap aman kecuali dipurge\n\nSetelah install:\n\n```bash\ncadiax\ncadiax setup\ncadiax status\ncadiax paths\n```\n\n`cadiax setup` sekarang membuka TUI setup sebagai jalur konfigurasi utama.\nJika Anda membutuhkan wizard prompt lama, gunakan `cadiax setup --classic`.\n\nGunakan `cadiax paths` untuk memeriksa mode runtime aktif:\n- `project mode`: saat Anda menjalankan Cadiax dari checkout repo/source\n- `user install mode`: saat Anda menjalankan Cadiax dari layout native OS hasil installer\n\nJika command `cadiax` di shell masih menunjuk ke instalasi global lama, buka shell baru setelah install. Installer sekarang mendaftarkan shim user-level untuk `cadiax`.\n\nJika Anda sedang bekerja dari source repo, Anda juga masih bisa memakai executable dari virtual environment proyek:\n\n```powershell\n.\\.venv\\Scripts\\Activate.ps1\ncadiax\n```\n\nInstaller Cadiax akan:\n\n- membuat runtime aplikasi di direktori install native OS\n- membuat virtual environment aplikasi di dalam direktori itu\n- menginstall paket `cadiax` ke runtime aplikasi, bukan ke folder source checkout\n- menyiapkan layout native per-OS untuk user install:\n  - Windows:\n    - app: `%LOCALAPPDATA%\\Cadiax\\app\\`\n    - dashboard: `%LOCALAPPDATA%\\Cadiax\\app\\monitoring-dashboard\\`\n    - config: `%APPDATA%\\Cadiax\\config.env`\n    - state: `%LOCALAPPDATA%\\Cadiax\\state\\`\n    - workspace: `%USERPROFILE%\\Cadiax\\workspace\\`\n  - Linux:\n    - app: `~/.local/share/cadiax/app/`\n    - dashboard: `~/.local/share/cadiax/app/monitoring-dashboard/`\n    - config: `~/.config/cadiax/config.env`\n    - state: `~/.local/state/cadiax/`\n    - workspace: `~/cadiax/workspace/`\n- men-seed dokumen workspace aktif ke workspace root\n- menjalankan `cadiax setup` (TUI setup) kecuali diminta skip\n- mendaftarkan shim user-level agar command `cadiax` lebih mudah dipakai\n\n## Highlights\n\n- autonomous runtime dengan memory, planning, execution, review, dan research\n- workspace docs aktif yang bisa diedit user:\n  - `AGENTS.md`\n  - `SOUL.md`\n  - `USER.md`\n  - `IDENTITY.md`\n  - `TOOLS.md`\n  - `HEARTBEAT.md`\n- internal durable state di `.cadiax/` pada `project mode`, atau native state dir pada `user install mode`\n- installer Windows/Linux dengan bootstrap workspace aktif\n- dashboard monitoring TypeScript opsional\n- multi-channel runtime dan service wrappers\n- target service utama `cadiax` untuk Windows/Linux, dengan Telegram polling terintegrasi bila diaktifkan user\n\nSetelah install selesai, executable Cadiax tidak lagi bergantung pada folder git/source yang dipakai saat install.\n\n## Repository\n\n- Docs index: `docs/README.md`\n- Install guide: `docs/operations/INSTALL.md`\n- Release notes: `docs/release/RELEASE_NOTES.md`\n- Release notes `v1.1.2`: `docs/release/RELEASE_NOTES_v1.1.2.md`\n- Release notes `v1.1.3`: `docs/release/RELEASE_NOTES_v1.1.3.md`\n- Release notes `v1.1.4`: `docs/release/RELEASE_NOTES_v1.1.4.md`\n- Release notes `v1.1.5`: `docs/release/RELEASE_NOTES_v1.1.5.md`\n- Release notes `v1.1.6`: `docs/release/RELEASE_NOTES_v1.1.6.md`\n- Deployment checklist: `docs/release/DEPLOYMENT_CHECKLIST.md`\n- Security policy: `SECURITY.md`\n- Code of conduct: `CODE_OF_CONDUCT.md`\n- Support guide: `SUPPORT.md`\n- Contributing guide: `CONTRIBUTING.md`\n\nCadiax sekarang sudah mencakup:\n\n- state persisten antar sesi\n- personalisasi markdown\n- memory dan lessons yang dibaca ulang otomatis\n- planner, executor, dan runner untuk loop semi-otonom\r\n- penyimpanan kredensial lokal yang terpisah dari konteks belajar\r\n- TUI setup interaktif untuk first-run dan reconfigure\n- doctor/status read-only untuk audit konfigurasi\r\n- structured result + universal formatter lintas skill inti\r\n- secret storage lintas-OS untuk menjaga service utama tetap portable\r\n\r\n## Acuan Produk\r\n\r\nDokumen acuan utama terbaru ada di `docs/specs/autonomous_ai_system_spec_extended.md`.\r\n\nDokumen pendukung:\n\n- `docs/architecture/ROADMAP.md`: urutan delivery menuju target rilis publik terbaru\n- `docs/architecture/TARGET_ARCHITECTURE_V2.md`: target boundary dan module architecture\n- `docs/architecture/ARCHITECTURE.md`: snapshot arsitektur implementasi saat ini\n- `docs/README.md`: indeks dokumentasi repo\n\nTarget resmi repo sekarang bergerak pada baseline rilis `v1.1.6`: fondasi inti stabil dengan namespace `Cadiax`, installer native per-OS, lifecycle `install/reinstall/uninstall`, preflight dependency checks lintas OS, bootstrap workspace aktif, dashboard monitoring opsional di app root native, dan service wrapper yang lebih lengkap.\n\r\n## Fondasi yang Sudah Jadi\r\n\r\nTiga lapisan capability yang sekarang sudah terbentuk:\r\n\r\n### 1. Core\r\n\r\n- `memory`\r\n- `planner`\r\n- `profile`\r\n- `agent-loop`\r\n- `executor`\r\n- `runner`\r\n\r\n### 2. Capability\r\n\r\n- `workspace`\r\n- `ai`\r\n- `research`\r\n\r\n### 3. Governance\r\n\r\n- `self-review`\r\n- `secrets`\r\n\r\n## Taxonomy Skill Otonom\r\n\r\nSelain pembagian `core / capability / governance`, skill sekarang mulai memakai taxonomy yang lebih dekat ke agent otonom populer:\r\n\r\n- `planning`\r\n- `memory`\r\n- `knowledge`\r\n- `environment`\r\n- `execution`\r\n- `governance`\r\n\r\nMapping saat ini:\r\n\r\n- `planner`, `agent-loop` -\u003e `planning`\r\n- `memory`, `profile` -\u003e `memory`\r\n- `ai`, `research` -\u003e `knowledge`\r\n- `workspace` -\u003e `environment`\r\n- `executor`, `runner` -\u003e `execution`\r\n- `self-review`, `secrets` -\u003e `governance`\r\n\r\nSetiap skill juga bisa mendeklarasikan:\r\n\r\n- `risk_level`\r\n- `side_effects`\r\n- `requires`\r\n- `idempotency`\r\n\r\nIni dipakai untuk memperkaya konteks routing AI dan audit skill layer.\r\n\r\n## Penyimpanan Data\r\n\r\nState agent disimpan di:\r\n\r\n```text\r\n.cadiax/\r\n├── memory.jsonl\r\n├── planner.json\r\n├── profile.md\r\n├── lessons.md\r\n├── secrets.json\r\n└── telegram_auth.json\r\n```\r\n\r\nMakna file:\r\n\r\n- `memory.jsonl`: memori mentah\r\n- `planner.json`: task/goal\r\n- `profile.md`: personalisasi agent\r\n- `lessons.md`: pembelajaran yang dikonsolidasikan\r\n- `secrets.json`: kredensial lokal\r\n- `telegram_auth.json`: allowlist dan request pairing Telegram\r\n\r\n`.cadiax/` sekarang di-ignore oleh git, jadi data lokal dan secret tidak ikut ter-commit.\r\n\r\nDi Windows, value secret sekarang disimpan terenkripsi lokal memakai DPAPI sebelum ditulis ke `secrets.json`.\r\nDi Linux/macOS, runtime memakai backend portable berbasis local file key agar service utama tetap bisa berjalan lintas OS.\r\nState JSON penting seperti planner dan secrets sekarang ditulis secara atomik untuk mengurangi risiko file parsial.\r\n\r\n## Workspace Boundary\r\n\r\nAkses file workspace sekarang dibatasi oleh guard terpusat:\r\n\r\n- semua path harus tetap berada di dalam root workspace\r\n- traversal seperti `../..` ke luar workspace ditolak\r\n- symlink yang resolve ke luar workspace di-skip saat traversal\r\n- mode akses workspace default adalah read-only secara kebijakan: `CADIAX_WORKSPACE_ACCESS=ro`\r\n\r\nKonfigurasi:\r\n\r\n```bash\r\nCADIAX_WORKSPACE_ROOT=\r\nCADIAX_WORKSPACE_ACCESS=ro\r\n```\r\n\r\nDefault workspace sekarang mengikuti mode install:\n\n- `project mode`: `workspace/` di root project\n- `user install mode`:\n  - Windows: `%USERPROFILE%\\Cadiax\\workspace\\`\n  - Linux: `~/cadiax/workspace/`\n\nIni menjadi lokasi default untuk file kerja user, skill tambahan, dan aset eksternal yang dikelola di dalam boundary workspace.\n\r\nSaat ini skill inspeksi file seperti `workspace` dan `self-review file` memakai guard ini.\r\n\r\n## Di Mana Kredensial Sebaiknya Disimpan\r\n\r\nUntuk kredensial yang ingin dipakai oleh AI/agent:\r\n\r\n- simpan di `secrets.json` melalui skill `secrets`\r\n- runtime akan membaca environment variable terlebih dulu, lalu fallback ke `secrets`\r\n- jangan simpan di `memory.jsonl`\r\n- jangan simpan di `lessons.md`\r\n- jangan simpan di `profile.md`\r\n\r\nAlasannya:\r\n\r\n- `memory`, `lessons`, dan `profile` dipakai sebagai konteks prompt\r\n- `secrets` sengaja dipisahkan agar tidak otomatis masuk ke prompt AI\r\n\r\nUntuk pemakaian internal di masa depan, runtime bisa mengambil secret terdekripsi lewat helper internal, tetapi nilainya tetap tidak ditampilkan ke user atau dikirim ke prompt secara default.\r\n\r\nContoh:\r\n\r\n```text\r\nassistant: secrets set github_token ghp_xxx\r\nassistant: secrets set openai_api_key sk-...\r\nassistant: secrets set anthropic_api_key sk-ant-...\r\nassistant: secrets import-env\r\nassistant: secrets list\r\nassistant: secrets show github_token\r\n```\r\n\r\n`secrets import-env` akan mengimpor credential umum dari environment seperti `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, dan `TELEGRAM_BOT_TOKEN` ke storage terenkripsi lokal tanpa menampilkan nilainya.\r\n\r\n## Loop Otonom Saat Ini\r\n\r\nUrutan yang sekarang sudah bisa berjalan:\r\n\r\n1. `planner` menyimpan task\r\n2. `executor next` menjalankan task berikutnya\r\n3. `self-review` menulis hasil audit ke memory, lessons, dan planner\r\n4. `agent-loop` merefleksikan state agent\r\n5. `runner` dapat menjalankan beberapa langkah berturut-turut atau sampai idle\r\n\r\nStabilisasi yang sudah diterapkan:\r\n\r\n- `executor` mengenali prefix native penting seperti `research`, `runner`, dan `secrets`\r\n- task otonom dibatasi agar tidak diam-diam memutasi `secrets` atau `profile`\r\n- `self-review` mendedupe follow-up task terbuka agar backlog tidak meledak\r\n- `runner until-idle` sekarang merefleksikan state setiap langkah\r\n- lesson yang identik di recent window tidak ditulis berulang-ulang\r\n\r\nContoh:\r\n\r\n```text\r\nassistant: planner add workspace read README.md\r\nassistant: runner steps 2\r\nassistant: agent-loop next\r\nassistant: ai apa langkah berikutnya berdasarkan seluruh state yang ada?\r\n```\r\n\r\n## Skill Aktif\r\n\r\n- `ai`\r\n- `memory`\r\n- `planner`\r\n- `profile`\r\n- `agent-loop`\r\n- `executor`\r\n- `runner`\r\n- `workspace`\r\n- `self-review`\r\n- `secrets`\r\n- `research`\r\n\r\n## Install\r\n\r\nJalur install resmi:\r\n\r\n### Windows\n\n```powershell\n./install.ps1\n```\n\nAtau:\n\n```bat\ninstall.bat\n```\n\r\n### Linux\r\n\r\n```bash\r\nchmod +x ./install.sh\r\n./install.sh\r\n```\r\n\r\nInstaller ini:\n\n- memastikan dependency dasar tersedia\n- membuat `.venv`\n- menginstall paket `cadiax`\n- men-seed dokumen workspace aktif ke `workspace root`:\n  - `AGENTS.md`\n  - `SOUL.md`\n  - `USER.md`\n  - `IDENTITY.md`\n  - `TOOLS.md`\n  - `HEARTBEAT.md`\n- opsional menyiapkan dashboard dependency\n- menjalankan `cadiax setup`\n\nCadiax memang memakai dokumen hasil seed itu setelah setup selesai. User boleh mengeditnya manual, dan runtime akan membaca hasil edit tersebut pada startup berikutnya. Pada alur install awal, wizard setup juga dapat langsung mengonfigurasi monitoring dashboard: aktif/nonaktif, access mode, port, dan admin API URL.\n\r\nCatatan:\n`pip` memang menampilkan format standar seperti `Successfully installed cadiax-1.1.5`.\nItu perilaku normal `pip`. Installer Cadiax menutup proses dengan pesan publik yang lebih bersih: `Cadiax installed`.\n\r\n## Menjalankan Aplikasi\r\n\r\n```bash\r\n.venv/bin/cadiax setup\r\n.venv/bin/cadiax status\r\n.venv/bin/cadiax chat\r\n```\r\n\r\nDi Windows:\r\n\r\n```powershell\r\n.venv\\Scripts\\cadiax.exe setup\r\n.venv\\Scripts\\cadiax.exe status\r\n.venv\\Scripts\\cadiax.exe chat\r\n```\r\n\r\nCLI utama sekarang mendukung subcommand resmi:\r\n\r\n- `cadiax setup`\r\n- `cadiax status`\r\n- `cadiax doctor`\r\n- `cadiax doctor --json`\r\n- `cadiax config status`\r\n- `cadiax config setup`\r\n- `cadiax chat`\r\n- `cadiax run \"\u003cmessage\u003e\"`\r\n- `cadiax telegram`\r\n- `cadiax jobs list`\r\n- `cadiax jobs enqueue`\r\n- `cadiax worker --steps N`\r\n- `cadiax worker --until-idle --enqueue-first`\r\n- `cadiax metrics`\r\n- `cadiax metrics --json`\r\n- `cadiax api --host 127.0.0.1 --port 8787`\r\n- `cadiax conversation-api --host 127.0.0.1 --port 8788`\r\n- `cadiax service status`\r\n- `cadiax service show worker --runtime posix`\r\n- `cadiax service write`\r\n- `cadiax service run worker --interval 5 --steps 5 --max-loops 0`\r\n- `cadiax scheduler --cycles 3 --interval 5`\r\n- `cadiax external audit`\r\n- `cadiax external sync`\r\n- `cadiax external install \u003cpath-atau-url\u003e`\r\n- `cadiax external approve \u003cname\u003e`\r\n- `cadiax external reject \u003cname\u003e`\r\n- `cadiax skills audit`\r\n\r\n`cadiax setup` membuka TUI konfigurasi interaktif untuk initial install atau reconfigure setelah install. TUI ini menjadi surface setup utama untuk provider, workspace, Telegram, dashboard, dan pemeriksaan runtime. Jika Anda tetap membutuhkan wizard prompt lama, gunakan `cadiax setup --classic`. Setup juga memastikan dokumen workspace aktif tetap tersedia pada `workspace root` yang dipilih user.\n\r\n`cadiax status` dan `cadiax doctor` menampilkan audit konfigurasi read-only: provider aktif, credential tersedia atau tidak, workspace guard, dan status Telegram. Report sekarang juga memberi level `healthy`, `warning`, atau `critical` agar hasil audit lebih cepat dibaca. Di dalam assistant, audit yang sama juga tersedia lewat command `doctor` atau `config status`.\r\n\r\nAlias kompatibilitas lama masih didukung sementara:\r\n\r\n- `cadiax --setup`\r\n- `cadiax --doctor`\r\n- `cadiax -i`\r\n- `cadiax \u003cpesan\u003e`\r\n\r\nEkstensi eksternal sekarang diarahkan ke layout workspace:\r\n\r\n```text\r\nworkspace/\r\n├── skills-external/\r\n├── tools/\r\n└── packages/\r\n```\r\n\r\n`cadiax external audit` atau command assistant `external audit` menampilkan inventaris asset eksternal yang teraudit, kapan terdeteksi/ditambahkan, dan di mana lokasinya.\r\n`cadiax external sync` memaksa scan ulang `workspace/skills-external` lalu memperbarui registry audit bila ada skill baru atau metadata yang berubah.\r\n`cadiax external install \u003cpath-lokal-atau-url-git\u003e` memasang skill eksternal ke `workspace/skills-external/`, lalu langsung mencatat event audit install dan hasil cek kompatibilitas.\r\n\r\nSkill eksternal bisa menambahkan manifest opsional `asset.json` di root skill untuk membantu audit dan cek kompatibilitas. Contoh:\r\n\r\n```json\r\n{\r\n  \"name\": \"my-skill\",\r\n  \"manager\": \"git\",\r\n  \"version\": \"1.0.0\",\r\n  \"requires\": [\"git\", \"python\"],\r\n  \"capabilities\": [\"workspace_read\"],\r\n  \"platforms\": [\"windows\", \"linux\"]\r\n}\r\n```\r\n\r\nAudit akan memakai manifest itu untuk menampilkan:\r\n\r\n- siapa/apa yang menambahkan asset\r\n- versi yang dicatat\r\n- requirement toolchain\r\n- capability yang diminta asset\r\n- status kompatibilitas `ready` atau `degraded`\r\n- toolchain yang masih hilang\r\n\r\nPolicy trust default untuk skill eksternal sekarang adalah `approval-required`. Artinya skill eksternal tetap bisa di-install dan diaudit, tetapi tidak otomatis di-load sampai di-approve.\r\nApproval sekarang juga memerlukan capability declaration yang valid di `asset.json`.\r\nSecara default, capability yang diizinkan untuk skill eksternal hanya `workspace_read`. Capability lain harus dibuka eksplisit lewat:\r\n\r\n```bash\r\nCADIAX_EXTERNAL_CAPABILITY_ALLOW=workspace_read,network\r\n```\r\n\r\nContoh:\r\n\r\n```bash\r\ncadiax external install \u003cpath-atau-url-git\u003e\r\ncadiax external approve my-skill\r\ncadiax external reject my-skill\r\n```\r\n\r\nJika ingin perilaku lama yang langsung memuat semua skill eksternal, set:\r\n\r\n```bash\r\nCADIAX_EXTERNAL_SKILL_POLICY=allow-all\r\n```\r\n\r\nTelegram runner:\r\n\r\n```bash\r\ncadiax telegram\r\ncadiax-telegram\r\n```\r\n\r\nBuilt-in commands:\r\n\r\n```text\r\nhelp\r\nlist\r\nhistory\r\nmetrics\r\nskills audit\r\ndoctor\r\nconfig status\r\ndebug-config\r\nlist-models\r\n```\r\n\r\n## Structured Result dan View\r\n\r\nSkill inti sekarang mulai memakai structured result envelope, lalu dirender ulang oleh sistem sesuai permintaan user.\r\n\r\nView yang didukung:\r\n\r\n- `summary`\r\n- `short`\r\n- `table`\r\n- `markdown`\r\n- `json`\r\n\r\nContoh:\r\n\r\n```text\r\nassistant: research siapa presiden saat ini\r\nassistant: research --view json siapa presiden saat ini\r\nassistant: workspace cari README dalam bentuk tabel\r\nassistant: memory summary informasi singkat\r\n```\r\n\r\nJadi penyajian hasil tidak lagi harus ditanam di masing-masing skill; skill bisa fokus menghasilkan data yang stabil, lalu formatter mengubah presentasinya.\r\n\r\nSkill yang sudah memakai structured result sebagai jalur utama:\r\n\r\n- `research`\r\n- `workspace`\r\n- `planner`\r\n- `memory` untuk operasi baca utama\r\n- `self-review`\r\n\r\n## Konfigurasi OpenAI\r\n\r\nSimpan API key di `secrets` bila memungkinkan, dan gunakan `.env` untuk konfigurasi non-secret seperti provider, model, dan base URL.\r\n\r\nContoh secret:\r\n\r\n```text\r\nassistant: secrets set openai_api_key sk-...\r\n```\r\n\r\nContoh `.env`:\r\n\r\n```bash\r\nAI_PROVIDER=openai\r\nOPENAI_BASE_URL=https://api.openai.com/v1\r\nOPENAI_MODEL=gpt-4.1-mini\r\nOPENAI_FALLBACK_MODEL=gpt-4o\r\nOPENAI_WEB_MODEL=gpt-4.1\r\n```\r\n\r\nWizard setup akan menulis nilai non-secret ke `.env`, lalu menawarkan penyimpanan credential ke encrypted local secrets agar miss-config lebih kecil dan secret tidak tersebar ke file konteks lain.\r\n\r\n## Telegram Ke Depan\r\n\r\nFondasi Telegram sekarang sudah tersedia lewat long polling.\r\n\r\nKonfigurasi:\r\n\r\n```bash\r\nTELEGRAM_OWNER_IDS=\r\nTELEGRAM_DM_POLICY=pairing\r\nTELEGRAM_ALLOW_FROM=\r\nTELEGRAM_GROUP_POLICY=allowlist\r\nTELEGRAM_GROUPS=\r\nTELEGRAM_GROUP_ALLOW_FROM=\r\nTELEGRAM_REQUIRE_MENTION=true\r\nTELEGRAM_OWNER_ONLY_PREFIXES=debug-config,list-models,secrets,executor,runner\r\nTELEGRAM_APPROVED_PREFIXES=help,list,ai,research,memory,planner,profile,agent-loop,workspace,self-review\r\n```\r\n\r\nSimpan token bot melalui `secrets` bila memungkinkan:\r\n\r\n```text\r\nassistant: secrets set telegram_bot_token \u003ctoken\u003e\r\n```\r\n\r\nLalu jalankan:\r\n\r\n```bash\r\ncadiax-telegram\r\n```\r\n\r\nPolicy authorization Telegram sekarang fail-closed:\r\n\r\n- DM default memakai `TELEGRAM_DM_POLICY=pairing`\r\n- user baru harus DM `/pair` untuk membuat request akses\r\n- owner yang ada di `TELEGRAM_OWNER_IDS` dapat meninjau request dengan `/auth pending`\r\n- owner dapat approve/reject dengan `/auth approve \u003crequest_id\u003e` atau `/auth reject \u003crequest_id\u003e`\r\n- grup hanya dilayani jika chat ada di allowlist dan, untuk `allowlist`, pengirimnya juga ada di allowlist user\r\n- di grup, bot hanya merespons bila di-mention atau saat membalas pesan bot bila `TELEGRAM_REQUIRE_MENTION=true`\r\n- user `approved` tidak otomatis punya hak penuh; prefix sensitif seperti `secrets`, `executor`, `runner`, `debug-config`, dan `list-models` default-nya owner-only\r\n- daftar prefix owner-only dan prefix yang boleh untuk user `approved` bisa diatur lewat `TELEGRAM_OWNER_ONLY_PREFIXES` dan `TELEGRAM_APPROVED_PREFIXES`\r\n- di dalam prefix yang diizinkan pun ada gate aksi:\r\n  - `workspace tree|read|find|files|summary` boleh untuk `approved`\r\n  - `memory list|search|get|summarize|context` boleh, tetapi `memory add|remember|consolidate` owner-only\r\n  - `planner list|next|summary` boleh, tetapi `planner add|set-goal|done|blocked|note|clear` owner-only\r\n  - `profile show` boleh, tetapi semua operasi ubah profile owner-only\r\n  - `self-review` dan `agent-loop` dibatasi untuk owner karena menulis kembali ke state pembelajaran\r\n\r\nState authorization Telegram disimpan lokal di:\r\n\r\n```text\r\n.cadiax/telegram_auth.json\r\n```\r\n\r\nSemua pesan Telegram tetap masuk ke jalur yang sama dengan CLI melalui `Assistant.handle_message(...)`, jadi loop agent inti tidak perlu diubah.\r\n\r\nJika tetap ingin memakai environment variable, `TELEGRAM_BOT_TOKEN` masih didukung sebagai fallback.\r\n\r\n## Validasi Fakta Real-World\r\n\r\nCadiax sekarang memiliki skill `research` untuk pertanyaan yang sensitif terhadap:\r\n\r\n- tanggal\r\n- jadwal/libur\r\n- informasi terbaru\r\n- fakta dunia nyata yang bisa berubah\r\n\r\nPada provider OpenAI, skill ini memakai web-grounded lookup sebelum menjawab. Selain itu, `Assistant` juga memiliki heuristic yang akan langsung memaksa query seperti:\r\n\r\n- `kapan idul fitri 2026`\r\n- `buat rencana libur idul fitri 2026`\r\n- `siapa presiden saat ini`\r\n\r\nmelewati jalur `research`, bukan menjawab dari model chat biasa.\r\n\r\nOutput `research` sekarang distabilkan sebagai data terstruktur dengan metadata verifikasi, lalu dapat dirender ulang ke summary/table/json sesuai permintaan user.\r\n\r\n## Kualitas dan Test\r\n\r\nSuite test sekarang mencakup area yang paling riskan untuk operasi lebih serius:\r\n\r\n- stabilitas loop `planner -\u003e executor -\u003e runner -\u003e self-review`\r\n- formatter universal di level `Assistant`\r\n- authorization Telegram\r\n- failure path AI provider\r\n- setup wizard dan doctor/status\r\n\r\nFondasi observability minimum juga mulai aktif:\r\n\r\n- setiap command inbound sekarang punya `trace_id`\r\n- event inti seperti `command_received`, `skill_started`, `skill_completed`, dan `command_completed` ditulis ke `.cadiax/execution_history.jsonl`\r\n- operator bisa melihat jejak terbaru lewat `cadiax history`\r\n- operator bisa melihat agregat metrik lewat `cadiax metrics`\r\n- timeout skill global bisa diatur dengan `CADIAX_SKILL_TIMEOUT_SECONDS`\r\n- `doctor/status` sekarang juga mendukung output machine-readable lewat `--json`\r\n- report `doctor/status` sekarang juga memiliki section `[Runtime]` untuk queue worker\r\n- admin API read-only lokal tersedia untuk `/health`, `/status`, `/metrics`, `/jobs`, dan `/history`\r\n- jika `CADIAX_ADMIN_TOKEN` diisi, admin API memerlukan header `X-Cadiax-Token` atau `Authorization: Bearer ...`\r\n\r\nFondasi runtime Phase 2 juga mulai aktif:\r\n\r\n- planner task sekarang bisa membawa `priority`, `depends_on`, `retry_count`, dan `blocked_reason`\r\n- `planner next` sekarang memilih task `ready` berdasarkan dependency dan priority\r\n- runtime job queue lokal disimpan di `.cadiax/job_queue.json`\r\n- command `jobs` dan `worker` memberi lapisan eksplisit antara planner dan executor\r\n- worker sekarang bisa berjalan `until-idle` dan mencatat `last_worker_run_at` / `last_worker_status`\r\n- context orchestration sekarang mulai memanfaatkan retrieval memori relevan berbasis token overlap, bukan recency-only\r\n- scheduler runtime sekarang tersedia untuk menjalankan cycle worker berkala dan mencatat state terakhir ke `.cadiax/scheduler_state.json`\r\n\r\nPerubahan ini membuat fondasi saat ini lebih layak dipakai sebagai sistem semi-otonom yang konsisten, bukan hanya eksperimen skill per skill.\r\n\r\n## Arsitektur\r\n\r\nLihat [ARCHITECTURE.md](/d:/PROJECT/otonomAssist/docs/architecture/ARCHITECTURE.md) untuk alur detail runtime, storage, dan loop semi-otonom.\r\n\r\nUntuk panduan install, first-run, reconfigure, audit config, operasi semi-otonom, dan troubleshooting cepat, lihat [OPERATIONS.md](/d:/PROJECT/otonomAssist/OPERATIONS.md).\r\n\r\nUntuk jejak perubahan fitur yang sudah mendarat, lihat [CHANGELOG.md](/d:/PROJECT/otonomAssist/CHANGELOG.md). Untuk arah implementasi berikutnya, lihat [ROADMAP.md](/d:/PROJECT/otonomAssist/docs/architecture/ROADMAP.md) yang sekarang dibagi ke:\r\n\r\n- `Phase 1: Semi-Production Hardening`\r\n- `Phase 2: Autonomous Runtime`\r\n- `Phase 3: Production Agent Platform`\r\n\r\n## Transport Ke Depan\r\n\r\nEntry point pesan sekarang sudah dipisahkan lewat `Assistant.handle_message(...)`, sehingga CLI hanyalah salah satu transport. Ini sengaja disiapkan agar input ke depan bisa datang dari Telegram atau chat transport lain tanpa mengubah loop agent inti.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firev%2Fcadiax","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Firev%2Fcadiax","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firev%2Fcadiax/lists"}