oscode_Get started ↗
OSCODE / DOCUMENTATION / 0.19.0

From setup
to verified UI.

English getting-started guide. Start with your existing project.

WEB CLI / 0.19.0

Work with OSCODE in your browser

Use the real CLI agent through a browser chat with conversations, a fixed composer, streamed responses, copying, cancellation and tool activity. Use Node.js 22 or later and run from your project folder.

npx @choijinwon/oscode@0.19.0 --web
# No-key demo: reads the actual project file list
npx @choijinwon/oscode@0.19.0 --web --demo

Add --cwd /path/to/project to choose a project. Keep the terminal running and open the printed local address. Existing model settings and credentials are reused; API keys are not sent to the browser. The demo does not call a coding model.

Enter sends; Shift+Enter inserts a newline. Submit the next request while work is running to queue it. Create and switch between up to eight conversations.

Local only: do not share the address or expose it through a public proxy. Full slash-command parity, MCP configuration UI, file attachments and model changes in the browser are not yet supported. Configure the model through the existing CLI and restart the server.

Detailed Web CLI guide ↗

Tasks, approvals, scheduling and IDs

FeatureHow to use it
Task listOpen the task list and filter all tasks, approval requests, upcoming/queued tasks, or finished tasks.
ApprovalApprove or reject individual file changes and commands. Review approved, rejected and expired requests per task.
UpcomingChoose a date and time above the composer, or queue the next request while another is running. Cancel pending tasks when needed.
IDEvery request receives an OSC-… ID. Copy it or navigate to its conversation.

One task runs at a time in the project. A scheduled time is the earliest possible start; previous work or approvals may delay it. A completed response means the agent turn ended, not that the business outcome or artifact quality is verified.

Task detail timeline

Open a task's detail view. Select a tool step on the left to inspect its real input, approval-time change preview, output and elapsed time on the right. Timing includes approval waits. The most recent 100 tool records per conversation are retained. Press Escape to close.

Up to 100 tasks per server. Tasks, schedules and approval records live in server memory and are not restored after server restart. Conversations are saved in .oscode. After 30 seconds without a connected browser, active work is asked to cancel; queued work resumes on reconnect. Calendar integration, external event triggers and recurring schedules are not included.

Live browser view and control

  1. Open the live browser from the left rail and enter your development page URL.
  2. Watch an isolated Chromium page refresh approximately once a second. In manual mode, click, scroll, send text through the bottom input, or send supported keys.
  3. Hand control to the agent to lock manual controls. Request browser work in chat and review each action's approval request.
  4. Take manual control back, or use Stop to close the browser. A linked agent task also receives a cancellation request.
npx playwright install chromium

Install Chromium if startup reports it missing. Closing the panel only hides it; Stop ends the browser. Return to chat to review approvals. A browser action already in progress may finish during a handover.

The isolated browser does not share your personal cookies or login. Currently supports one 1280×800 tab. Popups, downloads, uploads, native browser dialogs and full desktop control are not supported. The model receives limited page text and control information, not the screenshot stream. Opening a page makes network requests to that site.

Find moments inside local videos

In terminal chat, open /ml and choose video search and analysis. Load MP4/WebM/MOV files and index SRT/VTT subtitles, timestamped notes or Tesseract screen OCR. Text matches link to playback timestamps; export a frame as PNG.

Up to five videos, 100 MiB per file, 300 MiB total and two hours per video. OCR samples up to 12 frames in a 120-second interval and requires Tesseract plus the selected language data.

Original videos are not uploaded externally. OCR frames go only to the local server. Indexes live in tab memory: export JSON before closing and load the same original videos to restore. Speech transcription, semantic search, object/action recognition and cloud hosting are not included.

Detailed video guide (Korean) ↗

MODEL LAB / 0.17.0

Semiconductor ML model inspection

Click 모델 검사 (Model inspection) below the CLI input, or 검사 in narrow terminals. Your draft is preserved. The application UI is currently Korean.

Install and open

npm install -g @choijinwon/oscode@0.19.0
oscode

Requires Node.js 22+. Restart older running sessions. Use BUILD mode; existing browser launch approvals apply.

  • Shortcut: 모델 검사 button below the input.
  • Menu: 작업 시작 → 반도체 ML 모델 검사.
  • Natural language currently recognizes Korean phrases such as “반도체 검사 화면 열어줘”.
  • Optional commands: /ml to open, /ml close to stop the local server.

Inspection workflow

  1. Try synthetic samples or select a PNG, JPEG or WebP image, up to 10 MiB and 25 MP.
  2. Expand 모델 연결 설정 and register the JSON contract for slots A and B.
  3. Import result JSON, or click the inference button and explicitly confirm sending the image to the configured endpoint.
  4. Toggle overlays and adjust the display threshold. These controls do not make a pass/fail decision.
  5. Export comparison JSON containing contracts, model versions, image hash and original predictions. Image bytes are not included.
TaskVisualizationExample contract
ClassificationLabel scoresJSON
DetectionBoxes in original-image pixelsJSON
SegmentationPolygon overlaysJSON

Server contract

The endpoint receives a multipart POST: image contains the original file; request contains JSON with schema, modelId, modelVersion, task, image (sha256, width, height), input and output. The server owns preprocessing and returns coordinates in original pixels.

Return JSON with schema: 1, matching modelId/modelVersion/task/image, and predictions. Each prediction has a registered label and score from 0 to 1. Detection adds box: [x,y,width,height]; segmentation adds polygon: [[x,y],…]. The endpoint must allow the displayed local origin through CORS. Requests omit credentials, reject redirects and time out after 60 seconds.

Result JSON is limited to 4 MiB and 2,000 predictions. Model/image mismatches and invalid coordinates are rejected. API-key storage, OAuth, pixel masks/RLE and ground-truth accuracy evaluation are not supported. Imported result provenance is not verified.

Refreshing clears in-memory state. Closing the browser does not stop the local server; exiting the CLI does. A/B is visual comparison, not a statistical benchmark.

Detailed integration reference (Korean) →

RAAS / LOCAL WORKFLOWS / 0.17.0

Result-based services

Compose registered blocks with AI, run specialist workflows locally, and record quotes, deliverables and customer acceptance.

Local workflows available in npm 0.18.0. No online checkout, authenticated customer approval or automatic billing.

Two specialist workflows

  • Semiconductor: inspection CSV → LOT-level yield report. Untested dies are excluded. No root-cause or process optimization claims.
  • ERP: KRW journal JSON → per-voucher debit/credit mismatch report. Integer-string amounts use BigInt. No SAP posting, tax review or accounting approval.

Quote → run → review → record acceptance

/packs list
/jobs quote erp-voucher {"parameters":{"input":"examples/packs/ledger.json","output":"erp-result.md"},"priceKrw":"10000"}
/jobs show
/jobs run
/jobs accept

The 10,000 KRW value is an example, not a recommended or published price. Enter these commands inside OSCODE 0.17.0 or newer.

delivered means output files are ready locally, not that they were sent to a customer. /jobs accept records an operator’s confirmation that the customer approved the result; it does not authenticate the customer. ready_to_invoice is a local record, not a payment or invoice.

Verification and failure handling

Successful execution and nonempty output files are required. Changed output hashes prevent acceptance. Failed or cancelled jobs are not billable. Repeated acceptance does not create a second record. Business correctness still needs review. Records are editable local session files, not a secure billing ledger.

Reusable blocks and packs

/blocks plan request uses your configured model to compose a typed graph. /blocks run executes registered local blocks without model calls. There are 13 blocks and two sample packs. /packs build, /packs import and /packs use support versioned delivery files and project-specific parameters.

Built-in packs are MIT samples. A content hash detects changes; it is not a seller signature, purchase verification or DRM. There is no drag-and-drop canvas or hosted ordering service.

Detailed operations guide (Korean) ↗ · Block contracts (Korean) ↗ · Sample journal JSON ↗

Install and run

Use Node.js 22 or later. Run OSCODE from your project folder.

npx @choijinwon/oscode@0.19.0 --agent frontend

Global installation

npm install -g @choijinwon/oscode@0.19.0
oscode --agent frontend

The global command and npx run the same npm package. Version 0.16.0 includes semiconductor data import; 0.15.0 introduced Next.js and Nuxt design generation.

Connect a model

Local commands can start without an API key. Use settings to configure your model provider or the supported account-login flow. Enter keys through the dedicated hidden input, not in chat.

/settings
/key

AI code generation may send selected code and conversation to your configured provider. Local file inspection and model requests are separate operations.

Your first task

Inspect the project, scope your request to a file, review the plan and approve intended changes.

/catalog
/map Button
@src/Button.tsx Fix the mobile line wrapping

Replace example paths with real project files. Version 0.18.0 no longer exposes PLAN mode; write and shell permissions still apply. Inspect the proposed changes before applying them.

Generate design components

Use react, vue, angular, svelte, next or nuxt. The gallery previews shared HTML behavior; it does not compile your target application.

/design gallery react
/design select react/semi-wafer
/design code
/design apply src/components/WaferMap.jsx

Specialized galleries: /design mobile, /design admin, /design erp, /design interact, /design semiconductor. Append the framework name.

/design theme code next

Generate a shared DesignTheme wrapper for consistent styles and override tokens per page. The output consists of component code and CSS. Wire application data and events in the host app.

Next.js and Nuxt

Next.js

Next.js 13+ App Router and React 18+ JSX starters retain a use client boundary. Pass event callbacks from a Client Component. For Pages Router, move global CSS imports to pages/_app.

/design select next/semi-trace
/design apply app/components/LotExplorer.jsx

Nuxt

Nuxt 3/4 starters require Vue 3.5+ for useId. Browser behavior attaches onMounted. Use components/ in Nuxt 3 or app/components/ in Nuxt 4, respecting srcDir overrides.

/design select nuxt/semi-trace
/design apply app/components/LotExplorer.vue

App creation, dependencies, routes and backend APIs are not configured automatically. Validate the real app build and SSR behavior.

Semiconductor UI and data

Ten components are available. Nine use synthetic fixtures; semi-trace reads your local JSON or CSV.

Component IDScreen
semi-waferWafer map
semi-processProcess flow
semi-equipmentEquipment status
semi-yieldYield and defect distribution
semi-lotLOT tracking
semi-alarmsAlarm monitor
semi-maintenanceMaintenance schedule
semi-recipeRecipe comparison
semi-metrologyMeasurement trends
semi-traceLocal data explorer
/design semiconductor next
/design select next/semi-trace
/design code

Import contract

{"rows":[{"lot":"LOT-A","wafer":"W-01","x":0,"y":0,"bin":"PASS","value":0,"unit":"nm"}]}

CSV header: lot,wafer,x,y,bin,value,unit. Files are limited to 2 MiB and 1–10,000 rows; the explorer shows 100 dies per page. Coordinates must be integers within ±100,000 and unique within a LOT/wafer pair. bin must be PASS, FAIL or UNTESTED. Numeric measurements require a unit. Empty CSV measurements become null, not zero.

Yield is PASS / (PASS + FAIL). No tested dies produces “no inspection” rather than 0%. Failed imports retain previous data. The displayed import time is not the measurement timestamp.

Download JSON example ↓ · Download CSV example ↓

Files stay in browser memory. No upload, persistence, automatic refresh, MES connection or equipment control is included. Alarm acknowledgment is only a local marker; recipe comparison is read-only. Measurement ranges are illustrative, not calculated SPC control limits. Existing fixture components are not automatically populated by imported data.

Team rules and state preservation

Register project-specific rules and scenarios before running checks. Required and forbidden import checks only cover configured files and patterns.

/team-ui check
/workflow run orders

The example name orders must exist in your project. State-preservation scenarios can compare configured input values, selections, focus and scroll before and after an action. See the detailed Korean configuration guide for setup.

Browser verification and evidence

Start the project development server, then use its actual URL.

/review http://localhost:3000
/review show
/evidence review.md

Browser checks require Playwright and the appropriate browser runtime, a running app and execution permission. Missing or skipped checks are not counted as a full pass. Review generated scenarios against your business requirements.

Local routing and token use

The OSCODE rules engine classifies requests as design, diagnosis, testing, architecture or general. It makes no additional model call for routing.

/decide Create a button design
/usage
OSCODE_DECISION_MODE=shadow npx @choijinwon/oscode@0.19.0

Modes: local (default, apply tool priority), shadow (record only), off (disable routing priority). Evidence is a matched rule, not a calibrated probability. Ambiguous, unmatched or over-4,000-character requests use the general route. Approval and read-only task restrictions remain in effect. Total token savings are not guaranteed.

DATA WORKSPACE / 0.18.0

Label images and review ground truth.

Open /ml and choose Data labeling. Classify images, draw defect boxes, record LOT/wafer IDs, import predictions as drafts, and review annotations. Predictions and human ground truth remain separate.

Export all work or reviewed records as JSON. Work stays in tab memory: download it before closing and keep original images separately. Restore verifies image hashes and requires another review. COCO/YOLO conversion and automatic training are not included.

Labeling guide (Korean) ↗ · MLflow guide (Korean) ↗ · Simulator guide (Korean) ↗

HWP, HWPX, Word and Excel

Use /ocr file.docx or attach @file.xlsx. HWP v5 requires hwp5txt, lxml and six. HWPX, DOCX and XLSX require Python 3. Extracts stored text/values; formulas are not recalculated and embedded images/layout are not reconstructed.

Document guide (Korean) ↗

Context diagnostics

/context inspect shows the last request's estimated token breakdown and advice. A notice appears at 80% input capacity once per turn. No additional AI call. PLAN mode is removed; file and shell approvals remain.

Context guide (Korean) ↗ · Migration guide (Korean) ↗

Troubleshooting and language scope

Semiconductor gallery troubleshooting · 0.16.1

First, run this in your operating system terminal:

npx @choijinwon/oscode@0.19.0

Then enter these commands inside the OSCODE chat, not your shell:

/design semiconductor react

Approve the gallery launch when prompted. It requires BUILD mode and browser execution permission. If the browser cannot open automatically, open the printed localhost URL yourself. Version 0.16.1 keeps the gallery server running while waiting for selection. Keep the terminal open and select within five minutes, or press Ctrl+C to cancel. This release also adds semiconductor command completion. Restart an older CLI using the pinned command above.

If a command is missing, use the pinned npm version above and restart OSCODE. Source commands such as node bin/oscode.js must run from a source checkout, not your home folder.

This English guide covers setup and the main workflows. CLI messages, generated component labels and some detailed guides remain in Korean. Choose 한국어 documentation for the full existing reference. Report issues with reproduction steps, framework version and sanitized errors; do not include API keys.