Zhengshou Lai
52acb197a4
fix(git proxy): start/stop 只认领匹配进程(防误杀同端口其它进程) + status/start 自动恢复指向死端口的 stale git proxy
2026-08-16 17:59:06 +08:00
Zhengshou Lai
b150bafa4e
docs(skill): fastgithub 标注人工线下安装、AI 不得自动下载
2026-08-16 15:56:42 +08:00
Zhengshou Lai
b49e2f7b38
feat(voice): STT 统一到 X-Api-Key,与 TTS 共用同一 API Key
...
- transcribe_flash 新增 api_key 参数:新版 X-Api-Key 单头鉴权,
无则回退旧版 X-Api-App-Key / X-Api-Access-Key 双头
- stt_cmd 优先读 secrets.api_keys.volc_tts,appid/token 降为回退
- _get_tts_credentials 更名 _get_voice_credentials(TTS/STT 共用)
2026-08-15 15:44:30 +08:00
Zhengshou Lai
12b8ab042d
docs(skill): mark git proxy run as legacy foreground mode.
2026-08-12 21:16:53 +08:00
Zhengshou Lai
f8be17fe4f
git proxy: add start/stop/restart daemon lifecycle for FastGitHub.
...
Background daemons with port/PID tracking and Parallels socat, keep FastGithub logs off the TTY, and document install in the skill.
2026-08-12 21:12:14 +08:00
Zhengshou Lai
f6fa1aa93d
fix(Makefile): simplify PYTHON default for macOS make.
2026-08-11 21:19:34 +08:00
Zhengshou Lai
4b2ed13280
install: treat xiaohe-agent/packages/mytoolkit as the working tree.
...
Refuse only GHA _work installs; drop the standalone myBin checkout as the install target.
2026-08-11 21:18:40 +08:00
Zhengshou Lai
089da97633
install: refuse runner worktrees and bind the CLI Python.
...
Keep editable installs on the canonical checkout so PATH mytoolkit cannot silently pick up a stale GHA _work tree.
2026-08-11 21:16:05 +08:00
Zhengshou Lai
70821e4661
git proxy: print socat/Parallels listen status on run and status.
...
Make guest-forward health obvious so Windows VM timeouts are diagnosable without guessing.
2026-08-11 21:11:44 +08:00
Zhengshou Lai
755157ab6c
fix(git): start FastGitHub before Parallels socat forwards.
...
Binding socat first occupied :38457 and made FastGitHub fail to listen.
2026-08-11 10:32:47 +08:00
Zhengshou Lai
5b0739a397
git proxy run: auto-forward Parallels host IPs to loopback proxy.
...
Detect Shared/Host-Only addresses from ifconfig and socat-forward them
so Windows guests can reach FastGitHub without a hardcoded 10.211.55.2.
2026-08-11 10:29:33 +08:00
Zhengshou Lai
e772c5b896
feat(video): Seedance 视频生成 API 客户端 + video generate 命令
...
- 新增 mytoolkit/api/video_gen.py:Volcengine Seedance 提交/轮询任务
- video.py 增加 generate 子命令,支持文本/图片/视频/音频参考、比例时长、水印
- 支持 --no-poll 只提交任务返回 task_id,--output 等待完成后下载
2026-08-11 10:29:33 +08:00
Zhengshou Lai
03ef916c26
docs: document volc_tts api-key credential (new TTS auth)
2026-08-02 16:27:24 +08:00
Zhengshou Lai
17e6abd035
feat(tts): support Volcengine X-Api-Key auth (new api-key mode)
...
Newer Volcengine speech synthesis auths with a plain API key (secrets.
api_keys.volc_tts / VOLC_TTS_API_KEY) via the HTTP endpoint and X-Api-Key
header — no AppID/Token, and a quota pool that is separate from the legacy
app. synthesize_tts now prefers api_key (HTTP) and falls back to the legacy
WebSocket appid/access_token path. STT still uses appid/token (unchanged).
2026-08-02 16:08:13 +08:00
Zhengshou Lai
ee85ed822a
fix(git): prefer connections.proxy over legacy flat keys
...
Keep git proxy lookup aligned with layered config, with proxy_* fallback.
2026-07-30 15:32:48 +08:00
Zhengshou Lai
157872c233
docs(skill): point install paths at packages/mytoolkit
2026-07-29 21:36:21 +08:00
Zhengshou Lai
01165b5a69
fix(pdf): center cover pages and prefer TeX Gyre Termes
2026-07-29 15:58:04 +08:00
Zhengshou Lai
8f60860419
feat(voice): switch TTS to Seed 2.0 uranus voices
...
Use classic male/female and sunny-sweet speakers with seed-tts-2.0 resource id.
2026-07-26 01:07:06 +08:00
Zhengshou Lai
d428436fca
chore: bump mytoolkit to 0.2.0 and read --version from package metadata
...
Align with xiaohe wheel deploy so VPS installs carry a clear package version.
2026-07-22 23:19:34 +08:00
Zhengshou Lai
c69961a9cb
feat(voice): 豆包 flash ASR,支持热词与对话上下文
...
用极速版 HTTP 替代 Whisper;默认热词「小荷」,可选 history/--correct。
2026-07-22 15:06:08 +08:00
Zhengshou Lai
69efc6b3e2
refactor(mytoolkit): 移除历史兼容,统一分层配置键,补全 Config 单测
...
- config.Config 仅支持 ~/.mytoolkit/config.json 分层键
- 删除旧 env.json/module-config.json 迁移逻辑与 flat-key 别名
- ssh/bib/image 命令改用 connections.* / paths.* / secrets.api_keys.*
- 单测覆盖分层读写、嵌套删除、export、resolve_key、权限
2026-07-19 11:56:26 +08:00
Zhengshou Lai
b517bd3796
docs: 更新 AGENTS.md 中 xiaohe provider key 说明\n\n- xiaohe 的 provider API key 由 xiaohe 自己保存在 ~/.xiaohe/agent/secrets.json\n- mytoolkit 不再管理 provider key
2026-07-19 11:47:58 +08:00
Zhengshou Lai
ce2d0ac5b0
chore: 缓存目录移到 tmp/,更新 AGENTS.md 引用\n\n- pyproject.toml 配置 pytest/ruff 缓存到 ../../tmp/\n- AGENTS.md 中 workspace CLAUDE.md 引用改为 AGENTS.md
2026-07-19 11:39:12 +08:00
Zhengshou Lai
b7749a9b06
refactor(config): unify secrets in ~/.mytoolkit/config.json and migrate skill wrappers
2026-07-19 09:49:01 +08:00
Zhengshou Lai
7ff58f4695
style(scaffolds/manual): align figure/table caption gap with Typst template
...
- Load caption package and set skip=0.65em to match Typst default
figure/table gap.
- Use small caption font with bold label for manual style.
2026-07-18 14:57:10 +08:00
Zhengshou Lai
a5c2cc32e1
style(scaffolds/manual): align vertical rhythm with Typst md-to-pdf/manual template
...
- Add setspace and set \setstretch{1.2} to match Typst leading 0.76em
(baseline-to-baseline ~1.46em for 10pt text).
- Set \parindent=0pt and \parskip=0.6em so paragraph breaks match
Typst paragraph spacing 1.08em.
- Replace nosep lists with itemsep=0.2em / topsep=0.4em to match
Typst list spacing 0.72em.
- Add aboveskip/belowskip=0.8em around code listings for consistent
block separation.
2026-07-18 14:54:30 +08:00
Zhengshou Lai
c838692a9c
fix(scaffold/manual): add colortbl for \arrayrulecolor; switch to proposal-style fonts
...
- booktabs rule colors need colortbl (build was failing on fresh init)
- fonts: Times New Roman + SimSun/SimHei/KaiTi via \IfFontExistsTF guards,
ctex default set as fallback; document bundled-fonts option for deliverables
2026-07-18 11:54:00 +08:00
Zhengshou Lai
1369129d21
feat(scaffolds): manual 模板补字体栈 + md-to-docx 模板更新
...
manual/main.tex: Cambria/SimSun(SimHei/KaiTi)/Courier New,
均用 \IfFontExistsTF 守卫,缺字体回退 ctex 默认集,不破坏可移植性。
2026-07-18 11:49:33 +08:00
Zhengshou Lai
06704acf60
test: add pytest suite — CLI smoke + config/templates/md_to_pdf units
...
- tests/conftest.py redirects MYTOOLKIT_HOME to a temp dir before imports
so the module-level Config singleton never touches the real ~/.mytoolkit
- CLI smoke: every registered command answers --help with exit code 0
- unit tests: Config get/set/migrate, templates_registry override/fallback,
md_to_pdf pure helpers (pandoc-dependent cases skipif-guarded)
- pyproject: dev dependency group (pytest) + pytest config; Makefile: make test
2026-07-18 11:45:40 +08:00
Zhengshou Lai
9174708d10
feat(init): add LaTeX manual scaffold and 'init manual' command
...
- scaffolds/manual/: ctexart+xelatex manual template (cover, TOC, colored
headings, four callout boxes, listings code, booktabs three-line tables),
visually aligned with Typst md-to-pdf/manual template
- commands/init.py: extract _init_scaffold() shared by paper/manual
- sync README/AGENTS/skill references; document templates-vs-scaffolds-vs-journals taxonomy
2026-07-18 09:44:17 +08:00
Zhengshou Lai
55c08cf937
refactor(config): migrate .claude/CLAUDE.md to .agents/AGENTS.md with compatibility symlinks
2026-07-07 23:34:12 +08:00
Zhengshou Lai
958a9f2f01
chore: 移除 resolve_key() 等 skill 端函数,更新 CLAUDE.md 配置描述
2026-07-06 21:18:04 +08:00
Zhengshou Lai
321dc57e30
refactor(config): 统一配置存储为 ~/.mytoolkit/config.json (keys.*)
...
- Config 类改用 config.json + keys.* 格式,废弃 env.json (自动迁移)
- 新增 resolve_key() / write_key_to_mytoolkit() 共享工具函数
- env CLI 文本更新 (vars → keys)
- 更新 CLAUDE.md / README.md 配置描述
2026-07-06 21:11:23 +08:00
Zhengshou Lai
1ee5a31ccf
feat(completion): 自动安装 shell 补全,迁移旧配置并清理手动补全
2026-07-04 19:24:58 +08:00
Zhengshou Lai
9b7439fdc6
docs(mytoolkit): 更新 skill 分工表中的 mywebpage → mywebpages
2026-07-02 12:07:27 +08:00
Zhengshou Lai
b755e0b2ce
fix(scaffold/paper): black hyperlinks, add mathtools, and unify bold vector style
2026-06-29 08:40:06 +08:00
Zhengshou Lai
9b41b263f2
chore: rename claude.md to CLAUDE.md (case convention)
2026-06-29 00:49:06 +08:00
Zhengshou Lai
f45b46073a
feat(scaffold): redesign paper scaffold + clarify doc responsibilities
...
Scaffold (mytoolkit init paper):
- default to portable Elsevier elsarticle [review,3p,11pt] (was ctexart/Fandol)
- TeX Live Libertinus fonts (serif+math+mono), no system-font dependency
- xelatex one-engine via latexmk; figure/abstract/keyword frontmatter
- PDF bookmarks expand to two levels (bookmarksopenlevel=2)
- fix diffpreamble.dtx: define \DIFadd/\DIFdel (latexdiff highlighted now compiles)
Docs responsibility split:
- CLAUDE.md owns design decisions/constraints; exact scaffold specs live only
in the generated main.tex header (self-documenting, no drift)
- README/SKILL point to those; README command table gains `voice`
- reconcile source-of-truth wording across CLAUDE.md / README / SKILL
2026-06-29 00:47:48 +08:00
Zhengshou Lai
587eac8837
feat: add journal submission kits + paper scaffold; restructure package
...
- init journal <elsevier|ieee|springer>: self-contained, make-buildable kits
(Springer sn-jnl.cls + bst bundled; reuses project references.bib)
- init paper scaffold: ctexart + Fandol fonts, bib at root, latexdiff highlighted
- move templates/ under mytoolkit/, add info/references, relocate protocols
- migrate mytoolkit skill into submodule; update README/CLAUDE docs
2026-06-28 23:38:47 +08:00
Zhengshou Lai
75bb7dec32
feat(convert): template-driven docx postprocess + pdf table left align
...
- Move docx post-processing from convert.py to template-specific postprocess.py hooks
- Resolve relative markdown image paths before pandoc for docx and pdf
- Auto-generate centered figure captions (图 1, 图 2...) in docx
- Center tables and apply three-line table borders in docx
- Left-align tables in PDF via template.typ show rule
2026-06-28 11:27:14 +08:00
Zhengshou Lai
3ea86867e3
chore(server): remove cloudcli service entry
2026-06-28 00:17:45 +08:00
Zhengshou Lai
c8081889b9
feat(server): add cloudcli service and per-service prebuild flag
...
Add a CloudCLI (claude-code-ui) service on port 3020, and a prebuild
flag so services backed by a global npm binary skip the Docusaurus-style
`npm run build` step before serve.
2026-06-27 21:44:11 +08:00
Zhengshou Lai
fe4c280f7c
refactor: rename bin/ package to mytoolkit/
2026-06-26 22:57:55 +08:00
Zhengshou Lai
ffaf7e58f2
fix(mail): improve attachment filename and reply body handling
...
- Use RFC 2047 encoded-word for non-ASCII attachment filenames instead of
RFC 2231 filename* segments, which Coremail Web fails to display.
- Build multipart messages with MIMEMultipart when attachments are present
to keep address headers and attachment filenames Coremail-compatible.
- Add --attach support to reply and forward commands.
- Quote the original message body in reply drafts for proper threading.
2026-06-23 10:24:23 +08:00
Zhengshou Lai
9d802aa54b
chore(server): remove deprecated myslides service
2026-06-23 10:24:23 +08:00
Zhengshou Lai
37a3487fa9
docs(README): fix templates register path to contrib/mytoolkit
2026-06-09 14:57:49 +08:00
Zhengshou Lai
28d42eb74b
docs(README): clarify update applies to source edits too
2026-06-09 14:52:05 +08:00
Zhengshou Lai
1c19654faa
docs(README): add Update section warning about reinstall after git pull
...
Clarify that `git pull` / `git submodule update` only update the source
tree; `make install` or `mytoolkit update` must be rerun for changes to
take effect in the installed CLI.
2026-06-09 14:50:25 +08:00
Zhengshou Lai
0b8dc30154
chore: ignore tmp/
2026-06-09 14:38:39 +08:00
Zhengshou Lai
322cd31bb2
style(template): enforce no first-line indent for table styles; default PDF indent 2em
...
- Set first-line-indent: 0 on all TABLE styles in default/review docx templates
to prevent table cells from inheriting Normal paragraph indentation.
- Set default PDF template body first-line-indent to 2em (all: true).
- Change default PDF bookmark depth from 1 to 2 in CLI and build_pdf.
- Extend docx post-processing to copy Normal style typography from reference-doc,
format headings/references, and handle BodyText paragraphs.
2026-06-09 14:38:35 +08:00