SaC — Software as Content

ai.dynsoftv0.1.2更新於 Oct 3, 2026

Give your AI agent the ability to respond with live, interactive apps that evolve.

概覽

AI 產生的概覽

讓助理以可互動的即時網頁應用程式回覆,並隨對話持續演進,而不只是回傳文字。

功能
SaC(Software as Content)是一層互動層,把代理的答覆變成託管在某個網址上的持久、可互動應用程式。代理產生應用程式,使用者點按按鈕或在聊天中輸入,同一個應用程式會原地演進,而不是每一輪重新產生。它既能內建代理迴圈自行運作,也可透過 MCP、技能或 Python 程式碼接上你原本使用的代理。
適用情境
適合探索與互動比最終答案更重要的任務,例如行程規劃、資料分析儀表板、比價購物、專案規劃、研究、財務檢視、決策輔助與內部工具。README 指出它不適合簡單問答、一次性自動化(例如「設個鬧鐘」)以及純文字對話。
執行需求
以本機程序方式執行,從 PyPI 套件 sac-sdk 安裝,並以 sac serve 指令啟動;僅支援桌面端。需要 LLM 供應商的 API 金鑰(SAC_API_KEY),可選用 SAC_API_BASE、SAC_MODEL,以及 Tavily 搜尋金鑰(SAC_SEARCH_API_KEY)。檢視介面在本機連接埠上執行。
安裝前請注意
SAC_API_KEY 與 SAC_SEARCH_API_KEY 是存放在本機的機密;首次執行會提示輸入 API 金鑰並儲存。產生的應用程式在 iframe 沙箱中呈現。專案仍為 alpha(v0.1.2),SDK 介面可能變動。產生的應用程式與搜尋呼叫會把資料傳送給所設定的 LLM 與搜尋供應商。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 SaC — Software as Content,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

SaC SDK

Interaction layer between you and your agents.

[PyPI version] [Python] [License]


AI agents can reason, code, and call APIs — but when they need to communicate back to you, all they have is text. SaC (Software as Content) is the missing interaction layer: your agent responds with a live, persistent, interactive app that evolves as the conversation continues. Not a screenshot, not a markdown wall — a real UI you click, explore, and shape together with your agent.

Quickstart

1. Install

bash
pip install sac-sdk

2. Run

bash
sac serve

First time? It'll ask for your API key and save it. Then open http://localhost:18420, type "3-day Tokyo trip planner with budget", and watch a live React app stream in. Click buttons. Ask it to evolve. This is SaC running a built-in agent loop — no external agent needed.

Connect to your agent

SaC plugs into the agent you already use — through MCP, Skill, or code.

Claude Code (MCP)

bash
pip install sac-sdksac setup claude-code        # registers SaC as an MCP server

Restart Claude Code. Then try:

"Help me understand this codebase using a visualized and interactive app using SaC MCP."

[Claude Code + SaC example]

Setup details →

Codex (Skill)

bash
pip install sac-sdksac setup codex              # installs the SaC skillsac serve                    # keep running in a terminal
[Codex + SaC example]

Setup details →

OpenClaw (Skill)

bash
pip install sac-sdksac setup openclaw           # installs the SaC skillsac serve                    # keep running in a terminal
[OpenClaw + SaC example]

Setup details →

Python (build your own agent)

python
from sac import SaC
sac = SaC()conv = sac.conversation()app = await conv.generate("3-day Tokyo itinerary")print(app.url)   # user opens this# app.code contains the generated TSX

How it works

Your agent ──▶ SaC ──▶ User sees a live app at a URL                   ◀── User clicks a button / types a messageYour agent ──▶ SaC ──▶ Same URL, app evolves in place                   ◀── ...

One URL, one conversation. The agent doesn't generate a new page every turn — it evolves the existing app. Users keep their context; the agent keeps its state.

Two channels, one loop: every response is either a UI update (the app evolves) or a chat reply (a text bubble). Users can click buttons in the app OR type in the chat — both go back to the agent through the same callback.

When to use SaC

SaC is for tasks where exploration and interaction matter more than a final answer.

Good fit: trip planning, data analysis dashboards, comparison shopping, project planning, research, financial reviews, decision aids, internal tools

Not the right tool for: simple Q&A, one-shot automations ("set an alarm"), conversations that are purely text

Customize

Every layer is pluggable:

python
from sac import SaC, FileStore
sac = SaC(    llm=YourLLMProvider(...),       # any class implementing LLMProvider    search=YourSearchProvider(...), # any class implementing SearchProvider    store=FileStore(".sac"),)

Prompts live in src/sac/runtime/prompts/ and the default design system is in src/sac/renderer/design-systems/default/.

Architecture

src/sac/├── sac.py / conversation.py    Entry + Conversation primitive├── runtime/                    Generate + Evolve pipeline, prompts, providers├── server/│   ├── http/                   FastAPI + SSE streaming + viewer│   └── mcp/                    MCP stdio server (Claude Code integration)└── renderer/                   iframe sandbox + design system

Full architecture →

Project status

v0.1.2 — alpha. The core protocol (generate → evolve → callback loop) is stable and runs in production at sac.dynsoft.ai. The SDK surface is being polished toward v1.0.

Contributing

Issues and PRs welcome. Highest-leverage contributions right now:

For local dev: pip install -e .

License

Apache-2.0

來源:README.md,提交 03d4807

工具

0
工具後設資料尚未被收錄。

版本歷史

1
  1. v0.1.2最新Sep 16, 2026