Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
尚未收集儲存庫資訊。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗The next CanHav platform, rebuilt one step at a time from canhav.dev. Only the parts that have been approved move over; canhav.dev stays as the reference copy.
/ — the landing page from canhav.dev, dark only: nav (logo, Docs, Log in),
hero video with the two headline lines and the sign up / contact buttons,
the Protocol analytics section and the Pro Services panel, footer./login — a placeholder page in the spot where sign-in will go./api/leads — the contact form endpoint, answering "not connected yet"
until the database and email are wired.docs/ — the markdown behind docs.canhav.com, carried over unchanged for
when Studio hosts the docs itself. The app does not read it yet.Clerk, shared with canhav.dev, with a sign-up flow of our own:
/login — Clerk's prebuilt sign-in and sign-up cards, as on canhav.com:
email with a verification code, Google, or a wallet (MetaMask, Base). A
wallet sign-up is asked for its email because the instance requires one.
?mode=signup shows the sign-up card./studio — the signed-in home, for now the heading and subtitle. An
account that has not finished signing up gets a pop-up with the steps:
your name and username (required, the username is the byline on public
project pages) with the unticked "Send me product updates" checkbox, an
avatar (optional; a Google picture shows and can be removed), and how you
build (role, experience, AI IDE; optional). Saved on the Clerk
user: name, username and image on the user itself, the rest under
unsafeMetadata.studio. A small popup follows the last step.Until the canhav.com domain moves to Studio, use the Development instance
keys (pk_test / sk_test) in .env.local and in the Vercel project; the
production instance is bound to canhav.com. Settings on that instance, under
User & authentication:
A field marked "required at sign-up" would leave the sign-up waiting for it after the code and block the session.
Not in this step: the Neon database, light mode, the custom domain, the
project list and templates on /studio.
lib/venues/types.ts is the Venue interface; lib/venues/ostium.ts is
the only file that imports the SDK. Reads go through the read-only client,
trades through the build-only methods that return unsigned transactions.
lib/chainlink/ reads the mainnet price feeds as the independent check,
lib/risk/check.ts is the pure risk checker, and /internal/ostium (email
allowlist, off the nav) shows markets, prices next to Chainlink, a preview
through the checker and testnet test trades. OSTIUM_TESTNET=true by default.
studio schema, through lib/db.ts (the same
neon() client as canhav.dev). scripts/db-setup.mjs creates the tables
and is safe to rerun: npm run db:setup reads DATABASE_URL from
.env.local. Use a dev branch's pooled URL locally; production gets its
own branch in the Vercel env.lib/strategies/spec.ts is the one validated strategy object; long only
for now, with direction stored so shorts can follow. One entry rule
(MA cross, RSI, breakout), exits on the opposite signal plus optional take
profit and stop loss, size, caps, tier, status, and a daily candle-close
wake trigger.lib/strategies/backtest.ts is the pure engine on daily candles with the
step 3 costs and the risk checker on every simulated open;
lib/strategies/candles.ts is the first CandleSource, Ostium's own
daily candles (history from 2024-01-01 for crypto, later for newer
markets). Every result shows where its history starts./studio is a trader's dashboard (step 4b): an account strip, the
strategies table with return, drawdown, open position, last signal and
next check, an activity feed from each strategy's latest backtest, and
for an empty account the headline markets with three templates./studio/strategies/new and /studio/strategies/[id] are one
workspace: markets rail, Lightweight Charts with the rule drawn and the
backtest's trades marked, a strategy panel with a leverage slider capped
at the tightest limit, and Performance, Trades and Costs tabs. Every
change re-runs the engine in the browser; Save runs it on the server and
stores the result. Allowlist only while this is internal.npm install
npm run dev
DUNE_API_KEY is optional (see .env.example).