Flamesnake/dsh-talespindle
Flamesnake★ 0TypeScript最后同步: 2026-08-16
—
README 摘要
@dsh-external/dsh-talespindle DeepSeek Harness 插件: TaleSpindle 本地 MCP 薄封装 (工具包形态)。 按 ai-text-engine 的 plugin-readiness 约定,插件只负责 安装检查、会话管理、工具透传与导出入口 ;剧情模型、校验、walk、运行时与导出仍是宿主无关核心(npm 包 @marianaj/talespindle ),本插件不复制任何核心逻辑。 工具面(5 个) 工具 用途 talespindle status 安装状态:CLI 路径、版本、可用 story 工具数(未安装给出指引)。 首轮锚定保留项 talespindle ensure 确保本地 MCP 会话就绪,返回服务器信息与工具清单 talespindle call 透传调用任意 story 工具( {tool, args} ),如 story new/story get/story upsert node/story validate/story walk talespindle projects 列出本地项目(名称/节点/结局数) talespindle export 校验并导出指定项目为单文件 HTML,返回 outputPath 与大小 首轮锚定:会话尚无任何 tool/call 时只暴露 talespindle status ,首个工具调用后恢复全部工具。 CLI 定位顺序 1. TALESPINDLE CLI 环境变量(显式指定 dist/cli.js 路径) 2. npm 全局安装: npm root -g 下 @marianaj/talespindle/dist/cli.js 3. 开发回退:与本插件同级的 ai-text-engine/dist/cli.js 仓库(本地注入/联调场景) 构建与注入 npm 安装形态的 DSH(无 packages/ 布局)可手工等价构建: 验证 - lib/mcp-client.js 是零依赖的 MCP stdio 客户端(换行分隔 JSON-RPC),可直接冒烟: 建项目 → 导出 → 错误路径,见 smoke 说明(已随验证删除,重新编写即可)。 - 注入后 dev plugin status 应显示 [active] ... [injected] ; dev reload package 热重载后 fiber 保持 active。 - 工具调用走真实 talespindle mcp 子进程,MCP 侧错误会以 {ok:false, error} 返回,不会抛进宿主。 生命周期 - MCP 子进程按需创建、进程级缓存;插件卸载/热重载时随 ctx.effect cleanup 主动 kill 回收。 - idleMinutes (默认 30)可配置空闲…
在 GitHub 查看完整 README →