DeepSeek Harness Remote
DeepSeek Harness Remote: DeepSeek Harness 실행 PC와 모바일·PC를 안전하게 연결해 어디서나 작업 이어받기
질문·로직을 에이전트가 작성하고 Open Form이 검증·다단계 흐름·제출·응답을 SQLite에 자체 호스팅
Your agent writes the questions and logic. Open Form handles the rest: validation, multi-step flow, submissions and responses, self-hosted in SQLite.
생산성TypeScript · MDXGitHub @ridemountainpig온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A form framework built for agents.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Forms your agent writes. Responses you own.
Open Form is an open-source form framework for coding agents. Describe the form to your agent: it writes one React file, and Open Form turns that file into a working form, checked in the browser and on the server, with a submission API, SQLite storage and a Studio for the answers.
Website · Docs · Live demo · npm
Questions + Logic → Production-ready Form → Responses
pnpm create open-form my-forms
cd my-forms
pnpm dev
Or npm create open-form@latest my-forms, then npm run dev. Requires Node.js 22.13+. Forms import from @open-form-build/core, and its CLI is open-form.
Then ask your coding agent (Claude Code, Codex, Cursor, …):
Create a registration form for a developer meetup. Ask for name, email, role and experience. If they're a student, ask for their school. Limit the event to 100 registrations.
A coding agent can already write a form. It just rewrites the same hundreds of lines every time — state, validation, multi-step navigation, responsive CSS, an API route, a database schema, rate limiting, a responses page — and a little differently each time.
Without Open Form the agent generates: components, form state, validation, responsive CSS, step state, conditional rendering, API route, DB schema, queries, rate limiting, a responses page. Hundreds of lines, different every time.
With Open Form the agent generates:
import { defineForm, Email, Form, Page, Select, Submit, Text, When } from '@open-form-build/core';
export const config = defineForm({
title: 'Taipei Developer Meetup',
submissions: { maxResponses: 100, uniqueBy: 'email' },
});
export default function Meetup() {
return (
<Form>
<Page title="About you">
<Text name="name" label="Name" required />
<Email name="email" label="Email" required />
</Page>
<Page title="Background">
<Select name="role" label="Role" options={['Student', 'Engineer', 'Designer']} required />
<When field="role" equals="Student">
<Text name="school" label="School" required />
</When>
</Page>
<Submit>Register</Submit>
</Form>
);
}
…and gets a responsive multi-step form with progress, validation on both client and server, conditional questions, a 100-seat limit, one registration per email, spam protection, SQLite storage, a Responses dashboard and Excel / CSV export.
<Matrix> grids, and international phone numbers with a country picker.defineTheme, custom field components via useField.POST /api/forms/:id/submissions with server validation, honeypot, signed timing token, rate limiting, submission windows, response limits, uniqueness and signed webhooks.node:sqlite, no Docker, no database server, no API keys. Switch to Postgres (Neon, Supabase, RDS…) with one connection string when you need it.classic, editorial, terminal, brutalist, conversational) and your own in themes/ are what an agent reads to write each form its own look in forms/<id>/theme/, with only the tokens, CSS and components that form uses. Studio previews every theme, and Adjust fine-tunes a form's colors, fonts and shape.create-form proposes visual directions before writing, create-theme turns your design system into a theme, form-authoring, current-form, apply-comments turns notes left in Studio into edits) and a current.json cursor so "this form" means what you're looking at.open-form start on any Node host (Docker, ), the whole project on with Postgres ( sets it up), a route handler in your app, or a one-snippet on another site.| Path | Description |
|---|---|
| packages/core | The framework: runtime, server, Studio, CLI, skills, template. |
| packages/create-open-form | npm create open-form@latest: runs the core package's open-form init. |
| packages/cli | npx @open-form-build/cli init: runs the core package's open-form CLI. |
| apps/demo | Dogfood workspace with demo forms, each in its own look. |
| apps/web | Website and docs (Next.js + Fumadocs). |
| docs/ARCHITECTURE.md | Architecture and design decisions. |
| docs/ROADMAP.md | What's done and what's next. |
pnpm install
pnpm dev # demo workspace → http://localhost:3000/studio
pnpm dev:web # website + docs → http://localhost:3030
pnpm test
pnpm check
MIT
open-form init --vercel.open-form/ and never do.