返回首页
最新
项目网址:https://github.com/debba/rewindtty
我一直在开发 rewindtty,这是一个用 C 语言编写的轻量级终端会话录制和回放工具。它的工作方式类似于 script/scriptreplay,但输出结构化的 JSON,并包含一个基于浏览器的播放器,用于回放终端会话,支持时间控制、快进、书签等功能。
到目前为止,我一直是逐条命令地录制会话,分别捕获每个 shell 命令及其输出。这使得分析会话和按命令索引变得简单。
然而,我刚刚引入了一种新的交互模式,它的行为更像传统的 script:它通过 PTY 实时录制原始终端输入输出,捕获每个输入或显示的字符,包括控制序列。
这对于实现真实感和完整的会话保真度(例如,像 htop、vim、REPL 等交互式工具)非常有帮助,但这也使得命令检测变得更加困难——我不再在 shell 层面拦截输入。
我的问题是:如何从这个原始的 PTY 流中提取实际的命令?
我知道这很棘手,但我想知道:
- 有没有人尝试解析 ANSI 流以重建命令边界?
- 是否可以实时挂钩到 shell(bash、zsh 等)以拦截命令?
- 是否有 shell 选项或审计功能可以与原始捕获并行利用?
- 有没有我应该关注的相关文献或库?
我很想听听其他人在录制、分析或回放 shell 会话方面的做法。任何见解或建议都将非常有帮助。
嘿,HN!
我们正在构建HERO——一个为团队设计的协作工作空间,专注于处理法律合同、技术规范、标准操作程序(SOP)和政策等正式、结构化的文档。
这个项目源于我作为企业律师和大型项目专家多年的经验,帮助我在复杂的法律、财务和技术文档的迷宫中导航。
HERO并不是一个文字处理器或另一个笔记应用。它独特地结合了文本的灵活性、数据库的结构性和集成的强大功能。
可以把它想象成Notion,但专为撰写合规性强、技术性或法律内容的团队量身定制——在这些场景中,结构、一致性和版本控制至关重要。
它有什么不同之处?
- 结构层次:Notion支持页面内嵌套页面,而HERO则支持节内嵌套节(子节、子条款、子段落、附表/附录等),以反映正式写作的真实结构。
- 动态变量:Notion有页面和数据库(有时是页面内的数据库),而HERO可以在文本中嵌入特定数据点,实现强大、精细的模板化和动态内容重用。
- 定义术语和缩略语:在大型文档和项目中引用和自动管理关键术语。
- 基于项目和上下文感知:HERO可以实时引用、更新和响应多个文件中的变化,以确保一致性、效率和准确性。它将静态文件转变为相互关联的动态文档和记录系统。
- 脚注和交叉引用:原生支持引用和内部链接。
- AI驱动的工作流程:使用集成的AI工具自动起草条款、解释章节、检查不一致性,并同时重构多个文件中的内容,类似于Cursor(即将推出)。
- 协作和安全的工作空间:为团队组织协作和对抗环境。
它还支持:
- Markdown
- LaTeX/KateX
- 图表和图形
- 代码块(或内联)
- 提示框
- iFrames和嵌入
- 脚注
- 表格和列
- 数学块(或内联)
- 图片
- 按钮
- 引用
- 位置、日期和时间
- 签名块
我们非常期待您的反馈!
请在[https://www.myhero.so](https://www.myhero.so)上试用一下。
谢谢!
HERO团队
我收集了一些来自旧版IRC客户端(XiRCON + kano.tcl)的短小/whois输出,展示了创造性的ASCII艺术和自定义格式,这些使得IRC客户端的定制成为一种艺术形式。