{"id":47789850,"url":"https://github.com/techofourown/sw-ourbox-apps-chat","last_synced_at":"2026-04-03T15:27:22.310Z","repository":{"id":344361871,"uuid":"1181476697","full_name":"techofourown/sw-ourbox-apps-chat","owner":"techofourown","description":"CPU-only offline-bundled local chat app images for OurBox","archived":false,"fork":false,"pushed_at":"2026-03-14T09:21:21.000Z","size":47,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-14T19:44:03.003Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/techofourown.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"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}},"created_at":"2026-03-14T07:26:49.000Z","updated_at":"2026-03-14T09:21:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/techofourown/sw-ourbox-apps-chat","commit_stats":null,"previous_names":["techofourown/sw-ourbox-apps-chat"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/techofourown/sw-ourbox-apps-chat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techofourown%2Fsw-ourbox-apps-chat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techofourown%2Fsw-ourbox-apps-chat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techofourown%2Fsw-ourbox-apps-chat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techofourown%2Fsw-ourbox-apps-chat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/techofourown","download_url":"https://codeload.github.com/techofourown/sw-ourbox-apps-chat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techofourown%2Fsw-ourbox-apps-chat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31360527,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T15:19:21.178Z","status":"ssl_error","status_checked_at":"2026-04-03T15:19:20.670Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":[],"created_at":"2026-04-03T15:27:21.516Z","updated_at":"2026-04-03T15:27:22.305Z","avatar_url":"https://github.com/techofourown.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sw-ourbox-apps-chat\n\n`sw-ourbox-apps-chat` publishes a CPU-first local chat application image for\nOurBox.\n\nThe initial app in this repo is `ourbox-chat`:\n\n- CPU-only local chat powered by `llama.cpp`\n- bundles a capable GGUF model into the image so the target does not download a\n  model at install time or first boot\n- exposes a custom mobile-first OurBox web UI over HTTP\n- keeps multiple saved conversation threads in browser storage\n- supports per-thread system prompts, rename, delete, and fork workflows\n- separates the shipped shell, app model, and bundled mobile-native view so the\n  browser contract stays clean\n- intended to be consumed by `sw-ourbox-catalog-*` repositories\n\n## Published application\n\n- `ourbox-chat`\n  - local chat UI backed by a bundled Qwen3 4B GGUF model\n  - saved threads, forkable conversations, rename controls, and system prompt editing\n  - product name: `OurBox Chat`\n  - image: `ghcr.io/techofourown/sw-ourbox-apps-chat/ourbox-chat`\n  - default route: `chat.{box_host}`\n  - default port: `8080`\n\n## Model choice\n\nThe bundled model is:\n\n- source: `Qwen/Qwen3-4B-GGUF`\n- file: `Qwen3-4B-Q4_K_M.gguf`\n\nThis is a more capable CPU-first baseline than the original 0.5B model while\nstill staying in a range that is realistic for local `llama.cpp` deployment on\nOurBox. The deployment defaults to direct-answer chat behavior and strips any\nreasoning artifacts before rendering them in the app UI.\n\n## View-Layer Architecture\n\n`ourbox-chat` now ships three separate browser-side layers:\n\n- `ui/shell`\n  - minimal HTML shell plus the public `window.OurBoxChatContract` and\n    `window.OurBoxChat` app-model API\n- `ui/views/mobile-native`\n  - the shipped phone-first mountable view bundle (`window.OurBoxChatView`)\n- `docs/reference/view-layer-contract.md`\n  - the normative contract for browser views targeting the app model\n\nThe shell owns bootstrapping only. The app model owns threads, persistence,\nruntime probing, request dispatch, and events. The shipped mobile-native view\nowns DOM, layout, sheet state, dialogs, focus, and styling.\n\nThe Docker build still uses `OURBOX_CHAT_VIEW`, but the repo now ships\n`mobile-native` as the bundled view and publishes a flat runtime asset set:\n\n- `/contract.js`\n- `/app-model.js`\n- `/view.js`\n- `/bootstrap.js`\n- `/view.css`\n\n## Repository layout\n\n- [apps-manifest.json](/techofourown/sw-ourbox-apps-chat/apps-manifest.json)\n  - machine-readable description of the published application\n- [apps/ourbox-chat](/techofourown/sw-ourbox-apps-chat/apps/ourbox-chat)\n  - image build inputs for the local chat application\n- [docs/reference/view-layer-contract.md](/techofourown/sw-ourbox-apps-chat/docs/reference/view-layer-contract.md)\n  - normative shell/app-model/view contract for browser UIs\n- [.github/workflows/ci.yml](/techofourown/sw-ourbox-apps-chat/.github/workflows/ci.yml)\n  - lightweight validation\n- [.github/workflows/publish-images.yml](/techofourown/sw-ourbox-apps-chat/.github/workflows/publish-images.yml)\n  - publishes the image to GHCR on `main`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechofourown%2Fsw-ourbox-apps-chat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftechofourown%2Fsw-ourbox-apps-chat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechofourown%2Fsw-ourbox-apps-chat/lists"}