找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 121|回复: 0

[软件/工具] 开源 DSH Ren'Py 开发工作台(dsh-renpy-dev)发布

[复制链接]
发表于 2026-8-19 17:27:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 Matsuka 于 2026-8-19 17:29 编辑


项目地址:https://github.com/Matsuka/dsh-renpy-dev

### 1.1 这是什么

**dsh-renpy-dev** 是一套装在 DeepSeek Harness(DSH)里的 **Ren'Py 游戏开发工作台**:把一个普通的 AI 编程对话界面,扩展成带完整开发工具链的浏览器面板,让"看代码 → 改代码 → 验证 → 运行"的整个 Ren'Py 开发循环在浏览器内闭环完成,AI 全程参与但每一步都可审计、可回滚。

核心形态是 **agent preset + skills + web 插件三形态深度融合**:

| 形态 | 作用 |
|---|---|
| **agent preset**(RenPy Dev) | 把 13 个开发工具(lint/index/scaffold/run/…)注册给 AI,AI 可自主调用 |
| **skills 知识库**(15 个 renpy-*) | AI 写 Ren'Py 代码时按需加载引擎事实,减少瞎编语法 |
| **web 插件**(renpy-dev-client) | 浏览器内完整工作台 UI + 39 个本地服务端点 |

这套工具本身也是**用 DSH 自己的架构自举构建**的——是对 DSH 核心思想(preset + skills + 插件三形态组合出专用开发环境)的一次完整验证。

### 1.2 设计理念

- **类 VSCode 工作台 + 类 Adobe 面板**:活动栏/侧栏/编辑器/面板四区布局;面板可停靠、拖拽、浮动、最大化、布局持久化。
- **引擎事实优先**:知识库全部经「源码核验 + lint 验证」生产(见 `knowledge-pipeline.md`),AI 的 Ren'Py 知识有据可依。
- **透明可审计**:AI 每步改动实时可见(修改面板 diff + gutter 标记)、每次保存自动备份、每轮对话自动检查点——任何一步都可回滚。
- **安全双保险**:**工作范围**(编辑与 AI 修改被锁定在区域内)+ **写守卫**(保存前四层结构校验),防止人和 AI 破坏脚本。
- **零侵入部署**:对 DSH 宿主的少量视觉调整(隐藏原生输入框、logo 品牌色)为运行时 CSS 注入,不改任何 DSH 安装文件。

### 1.3 架构(四层 + 共享核心)

```
┌─────────────────────────────────────────────────────────────┐
│ 界面层  renpy-client/lib/client.js  浏览器面板(编辑器/面板/设置)│
├─────────────────────────────────────────────────────────────┤
│ 宿主层  renpy-client/lib/host.js    39 个 /renpy-dev/* 端点  │
├─────────────────────────────────────────────────────────────┤
│ 共享核心 renpy-core.js              纯函数(诊断/守卫/解析/合并)│
├─────────────────────────────────────────────────────────────┤
│ 知识层  skills/renpy-*.md           15 个知识库 + 界面规范    │
├─────────────────────────────────────────────────────────────┤
│ 工具层  agent-presets/renpy/        13 个 AI 工具 + 索引器    │
└─────────────────────────────────────────────────────────────┘
```

**工作原理速览**:

| 机制 | 说明 |
|---|---|
| 编辑器 | textarea + 语法高亮 overlay(RPY 语句 + **Python 块**四级配色),lint 错误下划线、括号配对、补全、查找替换 |
| 调试桥接 | 运行游戏时自动注入 `_debug_bridge.rpy` → 指令文件(跳转/截图/点击/推进)与回报文件(label/变量/截图轮询)双向通信 |
| 持久化 | 个性化设置分层(全局 + 项目)、面板布局 localStorage、备份/检查点在 DSH 用户目录(不写项目目录) |
| 状态轮询 | 游戏运行状态 2s 轮询(驱动运行/停止合一按钮)、调试面板 2s 轮询(变量/画面/路线图进度) |

### 1.4 功能全景

| 类别 | 功能 |
|---|---|
| **编辑** | 语法高亮(RPY + Python 块)、补全、查找替换、括号配对、多标签页、未保存提示、外部修改同步、行号模式/参考线 |
| **验证** | lint 检查(引擎级)、自动化测试 rpytest、静态诊断(引用完整性五类扫描) |
| **运行调试** | 运行/停止合一、整屏截图、路线图(状态机 + 跳转)、实时画面(点击/推进/回滚)、运行时变量监控、报错诊断(traceback 结构化 + 根因定位) |
| **协作** | 侧栏对话(Markdown/思考展开/编辑重发)、轨迹跳转、学习注释(AI 逐行讲解)、检查点时间线 |
| **安全** | 工作范围锁定、写守卫(四层校验)、保存历史与检查点回滚 |
| **定制** | 个性化设置(49 项:字体/缩进/显示/亮暗/界面语言 + **25 个颜色 token** + 8 套预制配色 + 全局/项目分层)、GUI 主题可视化定制(gui.rpy) |
| **知识** | 15 个 Ren'Py 知识库 + 语句 ⇄ Python 等价对照 |

### 1.5 知识库(skill)清单

> AI 写 Ren'Py 代码时**按需加载**对应 skill;全部经「源码核验 + lint 验证」生产(见 `knowledge-pipeline.md`)。

| skill | 说明(加载时机) |
|---|---|
| `renpy-core` | 核心语句语法速查、语句与 Python 等价互转、缩进与顺序约定。写 .rpy 时必读 |
| `renpy-text` | 对白与文本:say 变体、Character 定义、`[var]` 插值、`{b}{size}{color}` 标签、转义换行 |
| `renpy-atl` | ATL 动画与变换:transform 定义、插值、on/parallel/choice/repeat、位置缩放旋转 |
| `renpy-transitions` | 转场效果:with dissolve/fade/move、Dissolve/Fade/CropMove/PushMove、按层 Dict 转场 |
| `renpy-screen` | screen 语言:布局、控件、样式前缀、action、show/hide/call screen、use 嵌套 |
| `renpy-gui` | GUI 主题定制:gui.init 分辨率、gui.* 颜色/字体/字号、style 覆盖层级 |
| `renpy-api` | Python 层 API:renpy.* 函数、persistent、renpy.music/sound、store 变量 |
| `renpy-l10n` | 本地化/翻译:translate 语句、字符串 old/new、extract/merge 工作流 |
| `renpy-save` | 存档系统:FileSave/Load/Page/Slot、自动存档、回滚 + Gallery/Music Room/Achievement |
| `renpy-layeredimage` | 分层立绘:layeredimage 语句、attribute/group、表情差分、auto 属性 |
| `renpy-sprites` | 特殊显示对象:SpriteManager 粒子(飘雪/落叶)、Drag & Drop、Movie 视频 |
| `renpy-route` | 路线/分支设计:设计文档↔状态机↔代码双向转换、route-map.json、可达性分析 |
| `renpy-test` | 自动化测试:testsuite/testcase、run/advance/click、until、enabled/xfail |
| `renpy-build` | 构建发布配置:build.rpy 的 classify/archive/package、平台标签 |
| `renpy-practices` | 最佳实践总览:文件/角色/标签组织、资源管理、跨域坑清单 |
| `workbench-ui` | 工作台界面样式设计规范(含 codicon 图标系统命名约定;维护界面时参考) |

### 1.6 Agent 工具清单

> preset「RenPy Dev」注册给 AI 的 **13 个开发工具**(AI 在对话中可自主调用;工作台按钮与这些工具同源)。

| 工具 | 说明 |
|---|---|
| `renpy_scaffold` | 创建新 Ren'Py 项目(目录结构 + gui 模板生成) |
| `renpy_lint` | 对项目运行官方 lint,返回退出码与完整输出 |
| `renpy_index` | 生成/刷新项目结构索引(labels/defines/screens/transforms,含 file:line) |
| `renpy_find` | 静态诊断(引用完整性秒级扫描,无需运行引擎) |
| `renpy_guard` | 写守卫校验(缩进/保留名/重复 label/括号配对四层) |
| `renpy_read_error` | 结构化读取报错落盘文件(traceback.txt/log.txt/errors.txt) |
| `renpy_route_generate` | 把 route-map.json 状态机生成为 .rpy 代码骨架 |
| `renpy_run` | 启动游戏(真实窗口;自动停旧进程;注入调试桥接) |
| `renpy_stop` | 停止正在运行的游戏进程 |
| `renpy_status` | 查询游戏进程状态 + 最近输出 |
| `renpy_test` | 运行 rpytest 自动化测试(headless) |
| `renpy_compile` | 强制重编译脚本(.rpy → .rpyc) |
| `renpy_screenshot` | 整屏截图保存为 PNG(供人类和 AI 查看游戏画面) |

---

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|RenPy中文空间 ( 苏ICP备17067825号 )

GMT+8, 2026-9-6 17:29 , Processed in 0.020394 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表