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).