Bundle
dsh-talebook-plugin
DeepSeek Harness tools for operating a Talebook instance safely.
- Source
- hehetoshang
- License
- MIT
- Updated
- Updated 9 days ago
Readme
# dsh-talebook-plugin 为 [DeepSeek Harness(DSH)](https://github.com/deepseek-ai/deepseek-harness) 提供 Talebook 工具。插件把现有 Talebook Skill 的 API 约定、风险门禁和核验规则接入 DSH,并通过随包发布的 Python CLI 访问 Talebook 实例。 ## 要求 - Node.js 22 或更高版本 - Python 3(Windows 默认通过 `py -3` 启动,其他平台默认使用 `python3`) - DSH `0.1.1-rc.2` 或同一 `0.1.x` 兼容版本(依赖 `settings.plugin.item` 的 keyed 槽契约) - 一个可访问的 Talebook 实例 ## 配置 插件可以在没有连接信息时正常加载。安装并启动 DSH 后,打开 **设置 → 插件 → 插件配置 → Talebook**,在展开的卡片中配置: - **Talebook 地址**:已保存的地址会显示在输入框里,可直接修改;留空并保存会清除它。 - **用户名(可选)**:已保存的用户名会显示在输入框里,可直接修改;只改用户名会保留原密码。留空并保存会清除整个登录信息(用户名和密码一起清除,之后以 guest 身份访问)。 - **密码**:隐藏字段,只写入 DSH 凭据存储,浏览器无法读回原值;留空表示保持当前密码,输入新值并保存才会更新。 首次设置账号(尚无已存密码)时,输入用户名需要同时输入密码。只读浏览可以完全省略用户名和密码。 地址和用户名保存在 DSH 设置文档中(可读、可回填、可直接编辑);密码是唯一的机密,只存在于凭据存储中,不会进入聊天记录或插件配置文件。未配置(或环境变量缺失/为空)时插件仅在被调用时给出配置提示,不会影响 DSH 启动。 原有环境变量方式继续兼容,适合无 UI、容器和 CI 部署: ```bash export TALEBOOK_URL="https://books.example.com" export TALEBOOK_USERNAME="your-username" export TALEBOOK_PASSWORD="your-password" ``` 生效值按 **设置文档 → 插件配置 → 环境变量** 的顺序解析;由环境变量提供的字段会在配置界面显示「由环境变量提供」。 插件 schema 还提供 `timeoutSeconds`、`pythonExecutable`、`maxOutputBytes` 和 `checkUpdates` 配置项。默认值适合常规部署;Windows 如果未安装 `py` launcher,可把 `pythonExecutable` 覆盖为 `python`。需要覆盖这些运行参数时,在 profile 自己的 `cordis.patch.yml` 中重写完整的 `talebook` 行,因为 DSH patch 对同一行的 `config` 是整体替换而不是深合并。 ## 本地构建与打包 克隆本仓库后运行: ```bash git clone https://github.com/hehetoshang/dsh-talebook-plugin.git cd dsh-talebook-plugin pnpm install pnpm run typecheck pnpm test pnpm run pack ``` `python/talebook_cli.py` 是随包发布的 Talebook CLI。它的上游来源是 [`talebook/skills`](https://github.com/talebook/skills/blob/master/skills/talebook/scripts/talebook-cli.py);同步上游改动时应替换该文件,并重新运行类型检查、插件测试和 Skill evals。 ## 安装到 DSH 使用上一步生成的 tarball: ```bash dsh plugin --profile web add ./dsh-talebook-plugin-0.2.6.tgz dsh --profile web --dump-config dsh --profile web ``` 本地开发时也可直接安装插件目录: ```bash pnpm run build dsh plugin --profile web add . ``` 也可以直接从 GitHub 安装,或固定到指定 commit。仓库提交了与源码同步的 `lib/` 构建产物,并且不会运行安装期构建脚本,因此不需要配置 pnpm `allowBuilds`: ```bash dsh plugin --profile web add github:hehetoshang/dsh-talebook-plugin dsh plugin --profile desktop add github:hehetoshang/dsh-talebook-plugin dsh plugin --profile web add github:hehetoshang/dsh-talebook-plugin#<commit-sha> ``` bundle 的 `cordis.patch.yml` 使用稳定行 ID `talebook`。用户可在 profile 的 patch 中以同一 ID 覆盖配置。 ## 工具概览 插件注册 12 个工具。每个工具通过明确的 `action` 和结构化参数选择动作,不接受任意 shell 命令或原始 argv: | 工具 | 能力 | |---|---| | `talebook_status` | 查看站点、当前身份与公开权限 | | `talebook_account` | 查看或修改个人资料与设备 | | `talebook_books` | 搜索、详情、上传、下载、编辑、收藏、书架、阅读状态与发送 | | `talebook_audios` | 列出、查看或下载已发布有声书 | | `talebook_remote` | 管理 Legado 书源,执行远程搜索、浏览与保存 | | `talebook_admin_users` | 管理用户 | | `talebook_admin_books` | 管理员书库列表、元数据补全、格式转换与批量删除 | | `talebook_admin_imports` | 扫描并导入书籍 | | `talebook_admin_booksources` | 管理网络书源 | | `talebook_admin_opds` | 浏览 OPDS、管理 OPDS 源与导入任务 | | `talebook_admin_settings` | 管理系统设置、邮件、数据库与更新检查 | | `talebook_admin_system` | 管理回收站、SSL、主题与日志 | ## 与 Talebook Skill 配合 [`talebook/skills` 中的 Talebook Skill](https://github.com/talebook/skills/tree/master/skills/talebook) 仍是 Agent 的操作流程和风险规范;其中的 `references/` 记录 API 与多步工作流,`scripts/talebook-cli.py` 是本仓库随包 CLI 的上游来源。DSH 插件在这套服务端行为之上提供模型可调用的强类型工具。 更新 CLI 或风险分类时,应同时运行 Skill evals 与本仓库测试。本仓库的 `tests/fixtures/mock_talebook.py` 可在没有真实服务器的情况下提供集成测试实例。 ## 安全门禁 - 只读操作直接执行。 - 上传、收藏、书架和阅读状态等常规写入必须来自用户明确请求。 - 发送到邮箱或设备、管理员写入、删除和批量操作会先生成 `confirmation.required` 脱敏预览,再交给 DSH approval;只有 approval 返回一次性许可后工具主体才会执行,模型参数中不存在 `confirmed` 开关。 - Talebook 登录密码通过 DSH credentials API 只写保存,配置界面和模型都无法读回;环境变量方式仍兼容。 - 修改密码、SMTP 测试和数据库连接等敏感参数只接受环境变量名引用,秘密值不会进入工具调用参数或 Python 子进程命令行。 - 写操作前应先通过搜索或列表解析唯一 ID,不猜测书籍、用户、书源或任务 ID。 - 写入后应调用相应只读操作核验;异步任务只报告已启动和任务 ID,不把入队表述为完成。 - 插件不会绕过 Talebook 的登录与权限检查,也不会恢复 CLI 已脱敏的密码、token、API key 或访问码。 ## 许可证 [MIT](LICENSE)
Install
dsh plugin --profile web add github:hehetoshang/dsh-talebook-plugin
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-talebook-plugin from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.