Files
Genarrative/server-rs/Cargo.toml
Linghong 4b09ce3096 完成 Editor Agent Mock Agent P1 收尾
接入 Web Project 契约、SpacetimeDB 表与 api-server 控制面
新增 Mock Agent、静态构建 runner 与独立预览网关
补齐 /editor/agent 前端页面、服务客户端和 SSE 订阅
修复 sandbox 预览资源跨域加载并补充并发保护
接入本地 dev 预览端口漂移与服务身份初始化
更新 P1 技术方案、验收清单和 Hermes 共享记忆
2026-06-16 17:31:25 +08:00

160 lines
6.4 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 当前阶段先建立虚拟 workspace。
# 后续按“主工程 crate + 独立模块 crate”模式逐项补充 members。
[workspace]
resolver = "2"
default-members = [
"crates/api-server",
]
members = [
"crates/api-server",
"crates/module-ai",
"crates/module-assets",
"crates/module-auth",
"crates/module-bark-battle",
"crates/module-big-fish",
"crates/module-combat",
"crates/module-creative-agent",
"crates/module-inventory",
"crates/module-custom-world",
"crates/module-jump-hop",
"crates/module-wooden-fish",
"crates/module-match3d",
"crates/module-npc",
"crates/module-puzzle",
"crates/module-puzzle-clear",
"crates/module-progression",
"crates/module-quest",
"crates/module-runtime",
"crates/module-runtime-story",
"crates/module-runtime-item",
"crates/module-square-hole",
"crates/module-story",
"crates/module-visual-novel",
"crates/platform-oss",
"crates/platform-auth",
"crates/platform-audio",
"crates/platform-hyper3d",
"crates/platform-image",
"crates/platform-llm",
"crates/platform-wechat",
"crates/platform-speech",
"crates/platform-agent",
"crates/server-manager-panel",
"crates/shared-contracts",
"crates/shared-kernel",
"crates/shared-logging",
"crates/spacetime-client",
"crates/spacetime-module",
"crates/tests-support",
"crates/web-project-runner",
]
[workspace.package]
edition = "2024"
version = "0.1.0"
license = "UNLICENSED"
[workspace.dependencies]
# 本地 workspace crate 路径统一在这里维护,成员 crate 只声明 feature 差异。
module-ai = { path = "crates/module-ai", default-features = false }
module-assets = { path = "crates/module-assets", default-features = false }
module-auth = { path = "crates/module-auth", default-features = false }
module-bark-battle = { path = "crates/module-bark-battle", default-features = false }
module-big-fish = { path = "crates/module-big-fish", default-features = false }
module-combat = { path = "crates/module-combat", default-features = false }
module-creative-agent = { path = "crates/module-creative-agent", default-features = false }
module-custom-world = { path = "crates/module-custom-world", default-features = false }
module-inventory = { path = "crates/module-inventory", default-features = false }
module-jump-hop = { path = "crates/module-jump-hop", default-features = false }
module-wooden-fish = { path = "crates/module-wooden-fish", default-features = false }
module-match3d = { path = "crates/module-match3d", default-features = false }
module-npc = { path = "crates/module-npc", default-features = false }
module-progression = { path = "crates/module-progression", default-features = false }
module-puzzle = { path = "crates/module-puzzle", default-features = false }
module-puzzle-clear = { path = "crates/module-puzzle-clear", default-features = false }
module-quest = { path = "crates/module-quest", default-features = false }
module-runtime = { path = "crates/module-runtime", default-features = false }
module-runtime-item = { path = "crates/module-runtime-item", default-features = false }
module-runtime-story = { path = "crates/module-runtime-story", default-features = false }
module-square-hole = { path = "crates/module-square-hole", default-features = false }
module-story = { path = "crates/module-story", default-features = false }
module-visual-novel = { path = "crates/module-visual-novel", default-features = false }
platform-agent = { path = "crates/platform-agent", default-features = false }
platform-auth = { path = "crates/platform-auth", default-features = false }
platform-audio = { path = "crates/platform-audio", default-features = false }
platform-hyper3d = { path = "crates/platform-hyper3d", default-features = false }
platform-image = { path = "crates/platform-image", default-features = false }
platform-llm = { path = "crates/platform-llm", default-features = false }
platform-oss = { path = "crates/platform-oss", default-features = false }
platform-speech = { path = "crates/platform-speech", default-features = false }
platform-wechat = { path = "crates/platform-wechat", default-features = false }
shared-contracts = { path = "crates/shared-contracts", default-features = false }
shared-kernel = { path = "crates/shared-kernel", default-features = false }
shared-logging = { path = "crates/shared-logging", default-features = false }
spacetime-client = { path = "crates/spacetime-client", default-features = false }
web-project-runner = { path = "crates/web-project-runner", default-features = false }
argon2 = "0.5"
aes = "0.8"
async-stream = "0.3"
async-trait = "0.1"
axum = "0.8"
base64 = "0.22"
cbc = { version = "0.1", features = ["alloc"] }
bytes = "1"
curl = "0.4"
dotenvy = "0.15"
flate2 = "1"
futures-util = "0.3"
hmac = "0.12"
http-body-util = "0.1"
hex = "0.4"
image = { version = "0.25", default-features = false }
jsonwebtoken = "9"
langchainrust = "0.2.18"
log = "0.4"
rand_core = "0.6"
reqwest = { version = "0.12", default-features = false }
ring = "0.17"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_urlencoded = "0.7"
sha1 = "0.10"
sha2 = "0.10"
socket2 = "0.6"
spacetimedb = "=2.5.0"
spacetimedb-sdk = "=2.5.0"
spacetimedb-lib = { version = "=2.5.0", default-features = false }
time = "0.3"
tokio = "1"
tokio-stream = "0.1"
tokio-tungstenite = "0.27"
tower = "0.5"
tower-http = "0.6"
tracing = "0.1"
opentelemetry = "0.31"
opentelemetry-appender-tracing = { version = "0.31", default-features = false, features = ["experimental_use_tracing_span_context"] }
opentelemetry-otlp = { version = "0.31", default-features = false, features = ["http-proto", "reqwest-blocking-client", "trace", "metrics", "logs"] }
opentelemetry_sdk = { version = "0.31", default-features = false, features = ["trace", "metrics", "logs"] }
tracing-opentelemetry = { version = "0.32", default-features = false }
tracing-subscriber = "0.3"
windows-sys = "0.61"
url = "2"
urlencoding = "2"
uuid = "1"
webp = "0.3"
zip = { version = "2", default-features = false }
[profile.dev]
opt-level = 0 # 默认 0有人手滑改 1/2 会慢
debug = 1 # line-tables-only 比 full 快 30 %
codegen-units = 256 # 多单元并行 CodeGen
lto = "off" # dev 别开 LTO
incremental = true
[profile.release]
opt-level = 3 # 最大优化等级
lto = "thin" # 启用 Thin LTO平衡编译时间和性能
codegen-units = 1 # 减少并行代码生成单元,提升优化但增加编译时间