A lightweight code & document formatting display service
Project description
PeekView
A lightweight code & document formatting display service.
Agent(AI)产出 → Peek 格式化 → 人类友好查看
快速开始
安装
pip install peekview
启动服务
# 本地开发
peekview serve
# 生产部署(指定端口和主机)
peekview serve --host 0.0.0.0 --port 8080
服务启动后,访问 http://localhost:8080 即可使用 Web 界面。
命令行用法
创建条目
# 从文件创建
peekview create file.txt -s "My document"
# 从多文件创建
peekview create src/*.py -s "Python project" -t python -t cli
# 从标准输入创建
echo "print('hello')" | peekview create -s "From stdin" --from-stdin
# 指定自定义 slug
peekview create README.md -s "Documentation" --slug docs
查看条目
# 查看条目详情
peekview get my-entry
# 列出入库(支持分页)
peekview list
peekview list --page 2 --per-page 50
# 搜索条目(FTS5 全文搜索)
peekview list -q "python function"
# 按标签过滤
peekview list -t python -t cli
删除条目
# 删除条目(会要求确认)
peekview delete my-entry
# 强制删除(无需确认)
peekview delete my-entry --force
配置
环境变量
通过环境变量配置(注意 __ 分隔符用于嵌套配置):
| 变量 | 默认值 | 说明 |
|---|---|---|
PEEKVIEW_STORAGE__DATA_DIR |
~/.peekview/data |
文件存储目录 |
PEEKVIEW_STORAGE__DB_PATH |
~/.peekview/peek.db |
SQLite 数据库路径 |
PEEKVIEW_STORAGE__ALLOWED_PATHS |
[] |
允许读取的本地路径列表 |
PEEKVIEW_SERVER__HOST |
127.0.0.1 |
服务绑定地址 |
PEEKVIEW_SERVER__PORT |
8080 |
服务端口 |
PEEKVIEW_SERVER__API_KEY |
`` | API 认证密钥(可选) |
PEEKVIEW_SERVER__CORS_ORIGINS |
http://localhost:5173 |
CORS 允许来源 |
配置文件
推荐将配置写入 ~/.peekview/config.yaml:
server:
host: 0.0.0.0
port: 8080
base_url: https://peek.example.com
storage:
data_dir: /var/peekview/data
db_path: /var/peekview/peek.db
或使用 .env 文件(Docker/临时配置):
PEEKVIEW_STORAGE__DATA_DIR=/var/peekview/data
PEEKVIEW_STORAGE__DB_PATH=/var/peekview/peek.db
PEEKVIEW_SERVER__HOST=0.0.0.0
PEEKVIEW_SERVER__PORT=8080
PEEKVIEW_SERVER__API_KEY=your-secret-key
特性
- 🎨 代码高亮 - 基于 Shiki 的语法高亮,支持 100+ 语言
- 📝 Markdown 渲染 - 支持 GitHub 风格 Markdown
- 🔍 全文搜索 - 基于 SQLite FTS5 的高性能搜索
- 📂 多文件支持 - 单条目支持多文件,树形展示
- 🌓 主题切换 - 深色/浅色模式,自动跟随系统
- 📱 移动端适配 - 响应式设计,底部工具栏
- 🔗 URL 友好 - 支持 slug 和文件路径参数
- 🔒 安全防护 - 路径遍历防护、API 认证、XSS 过滤
技术栈
- 后端: FastAPI + SQLModel + SQLite (FTS5)
- 前端: Vue 3 + Vite + Shiki + TypeScript
- CLI: Click + Rich
开发
# 克隆仓库
git clone https://github.com/randomgitsrc/peekview.git
cd peekview/backend
# 安装开发依赖
pip install -e ".[test,dev]"
# 运行测试
make test
# 格式化代码
make format
# 启动开发服务器
make dev
许可证
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file peekview-0.1.24-py3-none-any.whl.
File metadata
- Download URL: peekview-0.1.24-py3-none-any.whl
- Upload date:
- Size: 3.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a096731d7427a7cc1ac250eda80e0a1bda7cf24c1eacb6c050c81af40fe4fd59
|
|
| MD5 |
5bc1262816f73146872f232daba992a2
|
|
| BLAKE2b-256 |
1d850fa9bd215c502ded64e697316245a2d5d3e5dbd52e577235bce9122ea1a0
|