FF

fabiankuebler/fenced

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

96 stars 品質 64 トレンド 15MIT

マークダウンがプロトコルであるAgenticチャットランタイム

概要

マークダウンがプロトコルであるエージェントチャットランタイムのプロトタイプです。 LLM はマークダウンテキストをストリームし、TypeScript のコードブロックをサーバー側で実行し、クライアントのリアクティブ UI コンポーネントを 1 つのレスポンス内でレンダリングします。 Markdownは、人工知能アシスタントの理想的なプロトコルです。 LLMが既に理解し、偽りを混合し、実行可能なコードを混合し、新しい訓練を必要としない形式で構造化されたデータです。 ⊙ 人工知能アシスタントの未来は... マークダウン ブラウザで[http://localhost:4000]を開きます。 メール、カレンダー、および連絡先のスキルは、Google OAuthの資格情報が必要です。 FENCED DISABLE GOOGLE SKILLS=true を .env に設定して、これらのスキルを読み込みます。 1。 Google Cloud Console 2に移動します。 プロジェクト(または既存のものを選択)3を作成します。 、および4を有効にします。 (外部設定、テストユーザとしてメールを追加) 5. 下に、これらのスコープを追加します: - [https://www.googleapis.com/auth/gmail.modify] - [https://www.googleapis.com/auth/calendar]] - [[https://www.googleapis.]]

概要(AI 翻訳)

マークダウンがプロトコルであるエージェントチャットランタイムのプロトタイプです。 LLM はマークダウンテキストをストリームし、TypeScript のコードブロックをサーバー側で実行し、クライアントのリアクティブ UI コンポーネントを 1 つのレスポンス内でレンダリングします。

本質: Markdownは、人工知能アシスタントの理想的なプロトコルです。 LLMが既に理解し、偽りを混合し、実行可能なコードを混合し、新しい訓練を必要としない形式で構造化されたデータです。

⊙同行記事を読む: 人工知能アシスタントの未来は… マークダウン

Dockerでクイックスタート

ブラウザで[http://localhost:4000]を開きます。

環境変数

| 変数 | 必須 | 説明 | お問い合わせ | 【[[T1]】 | はい | LLM生成用OpenAI APIキー | | [FENCED_DISABLE_GOOGLE_SKILLS | ノー | [1] に設定して、Googleのスキル(メール、連絡先、カレンダー)を無効にします。 Google OAuth 認証なしで実行するときにおすすめです。 |

ローカル開発

前提条件

  • 文 >= 1.0

セットアップ

Googleスキル(メール、カレンダー、連絡先)

メール、カレンダー、および連絡先のスキルは、Google OAuthの資格情報が必要です。 FENCED_DISABLE_GOOGLE_SKILLS=true を ` に設定します.

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

README

以下は原文 README の抜粋です。原文を見る。

fenced

A prototype of an agentic chat runtime where markdown is the protocol. The LLM streams markdown text, executes TypeScript code blocks server-side, and renders reactive UI components on the client—all within a single response.

Thesis: Markdown is the ideal protocol for agentic AI assistants. It’s what LLMs already understand, mixing prose, executable code, and structured data in a format that requires no new training.

📖 Read the accompanying article: The Future of Agentic AI Assistants Is… Markdown

Quick Start with Docker

# Build the image
docker build -t fenced .

# Run with required environment variables
docker run -p 4000:4000 \
  -e OPENAI_API_KEY=your-openai-api-key \
  -e FENCED_DISABLE_GOOGLE_SKILLS=true \
  fenced

Open http://localhost:4000 in your browser.

Environment Variables

Variable Required Description
OPENAI_API_KEY Yes OpenAI API key for LLM generation
FENCED_DISABLE_GOOGLE_SKILLS No Set to 1 to disable Google skills (mail, contacts, calendar). Recommended when running without Google OAuth credentials.

Local Development

Prerequisites

Setup

# Install dependencies
bun install

# Create .env file
cp .env.example .env
# Edit .env with your OPENAI_API_KEY

# Run dev servers (two terminals)
bun run dev:server   # Bun API on port 4000
bun run dev:client   # Vite dev server with HMR

# Or use tmux to run both
bun run dev

Google Skills (Mail, Calendar, Contacts)

The mail, calendar, and contacts skills need Google OAuth credentials. Without them, set FENCED_DISABLE_GOOGLE_SKILLS=true in your .env to skip loading these skills.

1. Create OAuth credentials:

  1. Go to Google Cloud Console
  2. Create a project (or select an existing one)
  3. Enable the Gmail API, Google Calendar API, and People API
  4. Configure the OAuth consent screen (External, add your email as test user)
  5. Under Credentials → Data Access, add these scopes:
    • https://www.googleapis.com/auth/gmail.modify
    • https://www.googleapis.com/auth/calendar
    • https://www.googleapis.com/auth/contacts
  6. Go to Credentials → Create Credentials → OAuth client ID
  7. Choose Desktop app as the application type
  8. Download the JSON and save it as:
    packages/skills/src/google-auth/client_secret.json
    

2. Generate access token:

bun run google:renew-token

This starts a local server on port 3000, opens your browser for OAuth consent, and saves the token to token.json.

3. Verify it works:

bun run google:test-auth

4. Done. The agent can now use gmail, calendar, and contacts globals in agent.run blocks.

GitHub で README 全文を見る

推奨ツール

別のキーワードを試すか、フィルタを外してください。

インストール

npx skillfish add fabiankuebler/fenced
MCP 初心者?mcpskill.org のガイドから始めましょう →