Stuga
dev.stugav0.1.10更新于 Oct 2, 2026
Agent edits await review by default in a self-hosted workspace for documents and databases.
概览
Stuga 是一个自托管的文档与数据库工作区,AI 助手的修改会以修订形式出现,默认需由人审核并接受后才生效。
- 功能
- 智能体通过 MCP 连接到自托管节点,节点中存放协作文档和基于 SQLite 的数据库。默认情况下,它们的写入以修订形式等待人工接受或拒绝,文档或数据库的所有者或工作区管理员也可以选择让 AI 修改直接生效。每次运行都会记录智能体、它所代表的人、客户端与模型以及每一处改动,智能体还能查询哪些段落由自己撰写。文档支持实时协作编辑、评论和版本历史,数据库提供带类型的表、保存的视图和只读 SQL。
- 适用场景
- 当团队希望 AI 助手在共享文档和表格中工作,但在改动生效前保留人工把关时,适合使用。适合重视智能体改动的审核、归属和审计,而非即时生效的自托管场景。
- 运行要求
- 需要一个通过流式 HTTP 访问的自托管 Stuga 节点,地址为你的节点地址。可在搭载 Apple 芯片、macOS 13 或更高版本的 Mac 上安装,也可在 x86-64 或 arm64 上用 Docker 安装;节点由一个 Node.js 进程和包含 pgvector 与 pg_search 的 Postgres 组成。创建账户和工作区后,通过浏览器登录或 API 密钥连接智能体。节点本身不需要 AI 密钥,因为每个智能体自带模型。
安装
在 SourceWeft 中
- 打开 控制台中的 Stuga,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。
{
"mcpServers": {
"stuga": {
"type": "http",
"url": "https://{stuga_host}/mcp"
}
}
}README
Stuga
AI suggests. You decide.
Self-hosted documents and databases where edits from Claude Code, Codex or any MCP client arrive as tracked changes and, by default, land only when a person accepts them. Use it on your own or with your team.
Download for Mac (Apple silicon, macOS 13+) · Install with Docker
Install, then create your account and workspace and connect an agent. Help for people using Stuga: stuga.dev/docs.
[Claude Code's edits to a document arriving as tracked changes, accepted and rejected one by one]
How agent edits work
- Review by default. An agent's changes wait for a person, who is notified and accepts or rejects each one in the document or table. Nothing lands on a timer.
- Nobody is blocked. Collaborators never see pending agent text and keep editing. The agent carries on, and its later reads include its own pending edits.
- Or apply at once. The owner of a document or database, or a workspace admin, can choose Let AI edits apply directly. Changes then land at once, recorded, attributed and revertible.
- A run per session. Each run records the agent, the person it acts for, the client and model it reported, and every change. Review AI edits lists the runs that need someone.
- Who wrote this? An agent can ask a document which passages agents wrote and whether a person accepted them.
- Instructions that stack. The workspace, folders, documents and databases can each carry instructions for agents. They advise the model; permissions and review decide what a write does.
[Claude Code's changes to a table waiting as proposals, then accepted]
What's in it
- Documents written together. Real-time editing (Tiptap over a Yjs CRDT) with presence, comments, @mentions and version history.
- Databases with SQL. Typed tables beside your documents, each database its own SQLite file, with saved views, row pages and CSV import. Agents, Ask and the REST API run read-only SQL on them.
- Search that follows permissions. Keyword (BM25, pg_search) and semantic (pgvector) search in one SQL statement, with access checked inside it. Chinese and Japanese are split into words.
- Built-in AI, off until set up. A co-author and a table assistant, whose edits are reviewed like an agent's, and Ask, which cites sources. OpenAI, Anthropic, Gemini, DeepSeek and more, or Ollama.
- Sharing and sign-in. Workspaces, folders, per-document sharing, groups and guests. People join by invite link and sign in with a password or your OpenID Connect provider.
- Import and export. A Notion export, or a zipped Obsidian vault or folder of Markdown, becomes a
workspace; a workspace exports as one
.stuga.zipof Markdown, JSON Lines and its files.
[The built-in co-author's edits arriving as suggestions, accepted and rejected one by one]
Connect your agents
Agents connect over MCP. Settings → Your AI agents gives the setup for Claude Code, Claude Desktop, Codex, Antigravity, Cursor, VS Code, Kiro, Goose, LM Studio, DeepSeek Harness and Pi, with your node's address filled in, and the URL any other MCP client needs (docs/agents.md). Each agent brings its own model, so the node needs no AI key.
- Scoped sign-in. Most clients sign in through the browser, where you tick the workspaces an app may use and choose Read only or Read and suggest changes. Revoke ends its access.
- Narrow keys. A client without sign-in uses an API key, which can be confined to folders, made read-only or given an expiry.
- Content only. Agents change documents and databases. Renaming, moving, deleting, sharing and the review setting stay with people.
- Full audit. Every MCP call, reads included, is in the workspace's audit log. An event feed and signed webhooks report what changed.
Your data
Stuga sends no telemetry, and nothing reaches us unless a node admin turns on remote access. The node makes outbound requests only for features in use, such as an AI provider, and asks GitHub once a day for the list of releases unless a node admin turns that off. docs/privacy.md lists what the node sends and stores.
Install
-
A Mac with Apple silicon, on macOS 13 or later: open Stuga.pkg. It carries its own Postgres and Node.js (docs/install/macos.md).
-
Docker on x86-64 or arm64, such as a Linux server or a NAS:
install.shstarts Postgres and the node with Compose (docs/install/docker.md):
A node is one Node.js process and Postgres with pgvector and pg_search; people open it in a browser. It backs itself up every day by default and before every upgrade (docs/operations.md). docs/getting-started.md walks through the first hour.
Questions and feedback
Ask a question or share an idea in Discussions; report a bug as an issue.
Contributing
Issues and pull requests are welcome. CONTRIBUTING.md covers running Stuga from source, the tests and the conventions, and RELEASING.md how a release is cut. Contributions are accepted under a Contributor License Agreement (CLA.md); a bot asks on your first pull request. Report a vulnerability privately, as SECURITY.md describes.
License
AGPL-3.0-only, except integrations/, which is MIT; copyright notice in NOTICE. If you modify Stuga and offer it to others over a network, you share your changes under the same terms. The name and logo are not covered by the license: TRADEMARKS.md says how you may use them.
来源:README.md,提交 0c0a0b3
工具
0版本历史
1- v0.1.10最新Oct 2, 2026

